Transcoding Profile Question

Dec 13, 2013 at 6:16 PM
I have several questions about choices used for ffmpeg parameters in the default profiles. I typically am transcoding to MKV/h264. Here are my questions:

1) Why are you using 2pass in most of our profiles? It seems like everyone is using CRF instead. I switched to CRF about a year ago and have done a lot of testing and can't tell the difference from your highest quality profile and it takes much less time to transcode? See my ffmpeg custom profile settings below. I get great high quality results with this.

2) It would be really handy to allow MCEBuddy users the ability to set a desired framerate. The biggest reason I HAVE to use a custom profile to begin with is because I can't set the framerate through the GUI. I stream most of my content to devices that can't handle 60fps so I always transcode to 30fps. Is this something you would consider adding to a future release?

ffmpeg-video=-ss 3 -vf yadif=0:-1,hqdn3d -vcodec libx264 -preset slow -crf 17 -r 30000/1001 -maxrate 8000k -x264opts level=4.1:threads=auto -map 0:a -map 0:v
ffmpeg-audio=-acodec ac3 -ab 192k
ffmpeg-audioac3=-acodec ac3 -ab 384k
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
Coordinator
Dec 24, 2013 at 4:46 AM
Thanks I'll look into. MCEBuddy supports qscale as teh constant quality parameter (analogous to crf, but I just noticed that qscale does not work with libx264 so I need to add support for crf).

You can raise a ticket to add support for framerates.
Marked as answer by rboy1 on 1/29/2014 at 8:52 AM
Coordinator
Dec 24, 2013 at 5:29 AM
On the flip side, constant bitrate is universally acceptable, some older players don't support constant quality.
Coordinator
Dec 24, 2013 at 3:38 PM
Can you provide me the equivalents for handbrake and mencoder also (I need to look and test all encoders for quality and speed not just ffmpeg)
Dec 25, 2013 at 12:16 PM
I never use handbrake or mencoder, so I don't know what would be equivalent to the ffmpeg settings, sorry.
Coordinator
Dec 25, 2013 at 1:52 PM
okay so I did some tests to match the same quality as a 2 pass (especially for SD recordings, less for HD), the crf factors needs to be close to 13 which makes it much larger in size than the 2 pass.
coming to normal profiles, the constant bitrate still beats the crf in quality and speed.
Dec 25, 2013 at 3:32 PM
That makes sense for SD recordings. The better the quality, the higher CRF value you can get away with. You may want to try knocking down the maxrate parameter for SD to reduce the size. There is no reason to have it so high for SD.
Coordinator
Dec 25, 2013 at 9:32 PM
BTW I've added support for evaluate crf expressions (CQ) with MCEBuddy going forward
Marked as answer by rboy1 on 1/29/2014 at 8:51 AM
Coordinator
Dec 25, 2013 at 9:54 PM
while that makes sense for a static profile, it's 2 complex for MCEBuddy engine to evaluate and adjust on the fly. MCEBuddy looks at the video resolution, cropping and user adjustments to quality to adjust the CQ (qscale or crf) or Bitrate parameters. In this case, with maxrate, while it works for a known selection, it will be difficult for MCEBuddy to adjust maxrate and CQ on the fly. E.g. CQ the encoder will take care of bitrate based on video type. Putting a maxrate can only be specified for a reference video, say 720p. Then the resolution changes one can try to change the maxrate, but combined with CQ it may create a mess programtically as there is no way to verify if the paramters are in sync.

Definitely something users can do if they know what kind of profil they are creating and for what video types, but I'm having a hard time visualizing how to combine the 2 for "any" video type thrown at it.


Dec 26, 2013 at 12:16 AM
I understand. You are trying to accommodate a lot of different requirements across many different devices. Thanks for the consideration and for all you do to make this product awesome!