Video Encoding #15
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
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:
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.The text was updated successfully, but these errors were encountered: