MaartenBaert / ssr

SimpleScreenRecorder, a screen recorder for Linux
http://www.maartenbaert.be/simplescreenrecorder/
GNU General Public License v3.0
2.49k stars 288 forks source link

[Feature Request] Please support more x264 parameters #984

Open Spirograph12 opened 1 year ago

Spirograph12 commented 1 year ago

Thanks for your excellent work in developing Simple Screen Recorder. It's a brilliant addition to the Linux software lineup. The default presets work well for most end users, and there's no need to tweak them just for the sake of tweaking.

Many SSR users are gamers, or people making tutorial videos. But due to its great flexibility, SSR can be adapted for other purposes, such as using it like a VCR or DVR, or using it in research studies to archive news channels at low bitrate.

When adapting SSR for different use cases, it would be very helpful to have easy access to these x264 parameters, which are not currently supported in SSR:

--scenecut [not currently supported] --min-keyint [not currently supported]

For example, if using SSR like a VCR or DVR, these settings can make the recording more easily editable in Avidemux, by inserting more keyframes around scene changes:

--scenecut=100 --min-keyint=1

Most end users don't need to get into the weeds of fine-tuning x264 parameters, but for those who do, adding support for those 2 parameters would be great!

Note 1: SSR does not typically throw up error messages if your x264 preset has minor errors (such as unsupported parameters). To test the results of an encode, open the recording in Media Info GUI and examine the x264 section. This will tell you what actual parameters were used by the encoder. For example, if we record in SSR using these custom options:

preset=faster,tune=grain,crf=22,keyint=180,min-keyint=1,scenecut=100

Media Info will show that the actual encode was done with min-keyint=18 and scenecut=40. That's because min-keyint and scenecut are unsupported parameters in SSR. They are just ignored, and x264 uses its defaults for those parameters.

Note 2: In testing, I found that it's possible to add one (and only one) unsupported parameter to a line of x264 custom options like this:

preset=faster,tune=grain,crf=22,keyint=180,x264-params=scenecut=100

or

preset=faster,tune=grain,crf=22,keyint=180,x264-params=min-keyint=1

But if those 2 parameters were explicitly supported in SSR, this would make it much easier for end users to combine them in a flexible manner.

Thank you for your time and for considering my suggestions. Happy holidays!