RenderHeads / UnityPlugin-AVProMovieCapture

AVPro Movie Capture is a Unity Plugin for advanced video capture to AVI/MP4/MOV files
https://renderheads.com/products/avpro-movie-capture/
48 stars 8 forks source link

Support HEVC constant quality number in OSX VideoToolBox #298

Closed acgourley closed 2 months ago

acgourley commented 1 year ago

Is your feature request related to a problem? Please describe. The current implementation of the 0-100 quality hint seems to modulate the bitrate and profile sent to the encoder, but what I would like to do is modulate the constant quality parameter. I encode video which sometimes has very complex scenes and sometimes very simple scenes, and this makes a serious size difference compared to constant bitrate encoding.

Describe the solution you'd like Apple's videotoolbox supports a constant quality parameter. FFMPEG has supported it since 4.4 via this commit. Modern versions of HandBrake expose it as well. Apple's documentation seems light, but you can see the constant here.

I understand you wouldn't want to change the behavior for existing users, so maybe there could be a checkbox added (default off) called "Use constant quality flag" and when on, it could re-interpret the 0-100 slider as an input to this constant.

I would also suggest remapping the way the profile level is selecting in this case, although I'm not clear on the best way there. I personally am always creating HQ mezzanine renders which probably will get re-encoded again later, so I'm fine with a high profile like 5.2 as the default.

Describe alternatives you've considered I could of course render to pro-res, and then render again with handbrake. It just adds another step and requires a lot of intermediate space. I could also render to a pipe and encode there, but there will be non-trivial compute overhead of moving all those frames between process contexts, and speed does matter to me.

acgourley commented 1 year ago

I should have also mentioned this flag exists in H264 for VideoToolbox as well, not just for HEVC. Both would be helpful for us!

MorrisRH commented 2 months ago

H264/HEVC constant quality support has been added and will make it into the next release (5.3.0).

Chris-RH commented 2 months ago

AVPro Movie Capture version 5.3.0 has been released. Please let us know if it has not fixed your issue.