Been using MCEBuddy for years without a problem, but a bit ago I noticed I’ve got a program that after being converted (using the HEVC MP4 profile) is changing the framerate from the original 29.97 to 28.594, and it’s causing some pretty serious jerkiness in the file, not to mention rather large size (~3.6gb vs the original ~2.1gb).
I tried updating the conversion task by removing the ‘Detect and optimize video quality’ option (no change), and then changing to MP4 High Quality which fixed it and has a better resulting file size (~2.2gb vs the original ~2.1gb).
It looks like handbrake is changing your framerate while converting it
2022-04-11T00:54:10 MCEBuddy.AppWrapper.Handbrake → [00:54:10] Pulldown detected, setting fps to 23.976
It probably has to do with the deinterlacing video filters in the default preset settings being used by the profile (your broadcast is likely interlaced causing handbrake to use deinterlacing filters)
handbrake-video=–start-at duration:0 -e x265 --encoder-preset medium -q 26
The High Quality profile doesn’t use presets and instead uses a specific set of video parameters.
There are two way you can address this
Write your own custom handbrake profile with the specific video parameters you want; you could even just take the settings from the MP4 High Quality profile and simply switch the codec from x264 to x265 and keep all the else the same and it should work
Force the framerate through the Conversion Task → Expert settings page
I looked at all the parameters between the two profiles; would I need to update every instance of x264 to x265 on the MP4 High Quality profile? I see references to x264 on lines 6, 13 and 19, though only 19 refers to handbrake.
Might it be easier to add a parameter to the HEVC MP4 to force a constant framerate that is the same as the source? The -r option appears to manage this option in the CLI (which I suspect the setting you mentioned in option 2 would dictate), though that value seems to be a specific numeric value. I would prefer not to specify the framerate as a static value, since the source material could differ depending on the channel/program.