This question is a spin-off of a previous one focused mostly on Premiere Pro: How match this broadcast standards with Premiere and ffmpeg

My goal in this one is learn as much as possible to handle the things with ffmpeg or ffmbc

I have to create a MXF file from a input .mov in ProRes or DNxHD with various requests by the network:

Video Requests

Conform to SMPTE 274M, “1920 x 1080 Scanning with no visible video impairment such as blocking errors or pixelization artefacts. Luminance and color difference signals must not exceed the bounds of legal gamut. Video technical standards are fully detailed in ITU-R BT.709.5.

For the video levels, sync and blanking must be in accordance with EBU recommendations, the component video levels must not exceed 700mV ±3% for the luminance channel and ±350 mV for the color difference channels. No excursions below black level can be tolerated in the luminance, never below 0mV.

Audio Requests

Alignment Level (AL) shall be –18dBFS with respect to maximum audio coding level (PPM4 on a BBC PPM – IEC type IIa). The Permitted Maximum Level (PML - as defined in ITU-R BS.645-2) must comply ITU-R BR.1384.1 and ITU-R BS.1726. Peaks should not exceed a level -10dB below the digital full-scale level (0 dBFS) when monitored by a “quasi-peak programme meter” as specified in IEC 60268-10.

Loudness control on all audio formats The method to measure the loudness of an audio program is settled by the recommendations, ITU-1770, ITU 1771 and ITU-Document 6/175-E.

Program Loudness Level represents the ordinary level of the program resulting from the measurement of the entire contents analyzed whole (from start to the end, and all audio channels making up the soundtrack). The Program Loudness must conform to R128-EBU

“Short-term” LKFS values shall not be higher than –21 LKFS for the whole program. “Long-term” Loudness must be –24 LKFS ± 0,5. In both cases the gate must be active at a threshold at -8 relative to the target “Long Term” value (- 24 – 8 = -32 LKFS). Short-term and long-term LKFS shall be measured for each audio program accompanying the picture (ie: Dubbed stereo, original language stereo, M&E stereo tracks, etc.).

My interest is mostly on matching the Video Requests.. as for the audio ones if them can be handled also with the ffmpeg filters would be nice too..

My approach would be check with signalstats filter if everything is ok as suggested my @Mulvya in the previous answer. But i would put in output a MXF file that match already the requests.

  • The audio part is probably easier. Look at the ebur128 filter to measure loudness and the loudnorm filter to correct loudness. Don't worry about the first paragraph on audio. If you get the loudness right, the rest will fall in place. You shouldn't be using a PPM meter anymore. It looks like they didn't remove the out of date specs when they added the loudness specs. Commented Jul 7, 2017 at 21:06
  • @MichaelLiebman I see, well this is a good starting point. Any hint on how to normalize the video levels with a ffmpeg filter? Commented Jul 8, 2017 at 9:19
  • There appear to be several that could be useful (colorlevels, colorspace, colormatrix, limiter, and the various LUT filters). I don't know enough about them to say which would work for your situation. Commented Jul 8, 2017 at 17:47


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.