1

I am becoming extremely agitated and upset because something that should be very simple and basic, finding a list of what ffmpeg messages mean, is apparently impossible. I've been doing video conversions, and the conversion is working, but I often see messages like "MB rate (489110) > level limit (245760)" and can't find out what it means. I've done literally dozens of web searches, including looking at the ffmpeg documenation web site, and can't get a simple answer to what should be a simple question.

I have found many articles where someone else has listed this message, but they have all been related to a conversion failing: and the solution to that problem never actually says what the message means. My conversions are not failing, so it isn't a fatal message, but I still think there should be a simple way to find out what ffmpeg means by "MB rate".

Mokubai
  • 89,133
  • 25
  • 207
  • 233
  • 1
    Just so you are aware asking us to find you learning materials is off-topic here, your problem should be specific and solvable *here* rather than sending you elsewhere. – Mokubai Dec 25 '20 at 14:14

1 Answers1

4

h.264 encoding is segmented into profiles and levels - each of these comes with limits on bandwidth, frame size and decoding speed. Now the latter two are not measured in bits or bytes, but in Macroblocks (or MB), which are the basic atom of image compression in h.264.

A level 4.1 video can result in a maximum of 245760 Macroblocks per second, or as FFmpeg or an underlying library says it: Maximum MB rate is 245760.

To compress a video, that breaks this limit (such as 1920x1080@60 as I suspect your case is), has to be encoded at a higher level, e.g. 4.2.

At the time of writing this, the Wikipedia article was to the best of my knowledge correct.

Eugen Rieck
  • 19,950
  • 5
  • 51
  • 46
  • 2
    Note that 1) this is a warning, not an error, 2) printed by x264, not ffmpeg so wouldn't be documented in ffmpeg docs, 3) level is an informative field and may only break playback on hardware devices, 4) omit `-level` option in command to let x264 set it automatically. – Gyan Dec 26 '20 at 05:09