forum

[Proposal] Standardization of video encodes

posted
Total Posts
5
Topic Starter
Project Railgun
Currently the RC states:

  1. Videos cannot exceed 1280x720
  2. Videos cannot contain audio tracks
This is very vague and results in videos of varying quality and file size in the ranked section. More specifically, mappers are using inferior compression schemes, which unnecessarily increases file size and results in lower quality videos.

We can make the ranking criteria more specific to aid new encoders and ensure that videos will always be the best quality available for their respective file size.

As of 2021, osu! does not support H.265, VP9, or AV1, so we can explicitly state that videos must be H.264 in the RC. Additionally,

  1. Videos must be encoded with a constant rate factor (CRF). This provides maximum compression efficiency and ensures that videos have a consistent quality throughout them.
  2. Videos must be encoded using the veryslow preset. The video file will be stored long-term, and a slower encode speed improves compression which results in higher quality for lower file size.
The container used is less serious since the file size doesn't change as much, however mp4 should always be smaller than avi. For simplicity, a rule can be added to ensure that all videos are encoded with the mp4 container format.
Kibbleru
Is there a reason to force CRF? Generally you can get a better result using variable no?
peppy

Kibbleru wrote:

Is there a reason to force CRF? Generally you can get a better result using variable no?
CRF *is* a variable nitrate encode
Topic Starter
Project Railgun
Hi peppy! I usually encode my videos with .avi but in my testing with .mp4 the game crashed more often. I don't get these crashes with .avi so I'm wondering if .avi is better here.

I also experienced visual artifacts like this (with .mp4, not .avi):








~

Kibbleru wrote:

Is there a reason to force CRF? Generally you can get a better result using variable no?
I've always used CRF for my videos, see https://trac.ffmpeg.org/wiki/Encode/H.264
Noffy

Project Railgun wrote:

I also experienced visual artifacts like this (with .mp4, not .avi):
This can happen when osu thinks you're out of memory or graphic drivers issues, I've had this happen on old versions from .avi files. You may want to check if your drivers are up to date and working correctly. That is how I fixed the issue happening to me in the past.



I think these changes should be fair:

Videos must be encoded in H.264 -> Specifying the tech and what's supported, especially since there's newer codecs that are not supported by osu at this time.

The video should be of reasonable quality. -> keep it in line with other rules and reasonable to check if it's looking good for its size or not. Specific methods to create the video would be difficult to specifically check for, and wouldn't be a good fit for RC. It is already covered in a guide if people want to know how to put out good quality-good size videos.


Edit: Changes merged in https://github.com/ppy/osu-wiki/pull/6084
Please sign in to reply.

New reply