Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Video Encoding #15

Open
codello opened this issue Dec 15, 2021 · 0 comments
Open

Video Encoding #15

codello opened this issue Dec 15, 2021 · 0 comments
Labels
far future This will probably not be implemented any time soon proposal A Karman feature proposal status/draft A proposal that is still being drafted

Comments

@codello
Copy link
Contributor

codello commented Dec 15, 2021

This feature was originally proposed in #2

What feature do you want to propose?

Karman should be able to convert video files for songs to one or more standardized format (as selected by an admin). Conversion should cover the following topics:

  • Video resolution
  • Video bitrate
  • Video aspect ratio
  • Potentially video start and end

As conversion can take quite some time this should be done in a background process.

Why does Karman need this feature?

Video files for UltraStar songs come in various formats and file types. Many use the MP4 format but there are also a lot of AVI, MKV and even FLV videos out there. In order to keep an organized library it would be very useful to automatically convert these to a single format.

Another reason is that large song libraries can take up hundreds of gigabytes in size, most of which comes from videos. If users want to limit the size of their libraries a conversion tool could allow them to downsample or downsize the videos to make file sizes more manageable.

How do users access the feature?

Ideally this should be done automatically in the background when a song is imported. Alternatively (or additionally) this might be an action the user can trigger for a song. This might be desirable as video conversion will be lossy so we might want to give the user a choice if the video should be converted.

Describe alternatives you've considered

We could just impose a format restriction and force users to manually convert their videos. This would work but would most certainly make it more difficult to upload new songs. Additionally it can be difficult to find the optimal settings for converting a video.

Implementation Considerations

A backend implementation would have to rely on a task queue like Clery to outsource the conversion to another process or even another machine. We would have to make sure that the video conversion does not eat up all the server resources.

We probably should assume that converting a video can take multiple hours so that it is possible to run the conversions in a nightly cron job or something…

We probably should use ffmpeg for the actual conversion.

@codello codello added the far future This will probably not be implemented any time soon label Dec 15, 2021
@codello codello added proposal A Karman feature proposal status/draft A proposal that is still being drafted labels Dec 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
far future This will probably not be implemented any time soon proposal A Karman feature proposal status/draft A proposal that is still being drafted
Projects
None yet
Development

No branches or pull requests

1 participant