FFmpeg Limiter Filter for Broadcast Safe Video

This guide explains how to use the limiter filter in FFmpeg to restrict video pixel values to broadcast-safe ranges. You will learn the exact syntax for the filter, how to define the minimum and maximum thresholds for luminance and chrominance channels, and how to apply these settings to both 8-bit and 10-bit video files to ensure compliance with television broadcasting standards.

Understanding Broadcast-Safe Ranges

Television broadcasting requires video signals to stay within specific “legal” ranges to prevent signal distortion on transmission equipment and consumer screens. For standard 8-bit Rec. 709 or Rec. 601 video, these ranges are:

Pixels with values below 16 (super-blacks) or above 235/240 (super-whites) must be clamped using a limiter.

The FFmpeg Limiter Syntax

The FFmpeg limiter filter uses three primary parameters: * min: The lowest allowed pixel value. * max: The highest allowed pixel value. * planes: A bitmask choosing which color planes to filter.

To target specific planes, you calculate the bitmask sum: * Luminance (Y): Plane 0 (value 1) * Chroma Blue (U): Plane 1 (value 2) * Chroma Red (V): Plane 2 (value 4)

To select both Chroma planes (U and V), you add their values together (\(2 + 4 = 6\)).

Limiting 8-Bit Video (16-235 / 16-240)

To restrict 8-bit video, you must chain two limiter filters together: one for the luminance channel and one for the chrominance channels.

Use the following command:

ffmpeg -i input.mp4 -vf "limiter=min=16:max=235:planes=1,limiter=min=16:max=240:planes=6" -c:v libx264 -crf 18 -c:a copy output.mp4

Limiting 10-Bit Video (64-940 / 64-960)

For high-definition 10-bit workflows, the standard broadcast-safe limits scale upward:

Use this command to restrict 10-bit video:

ffmpeg -i input.mp4 -vf "limiter=min=64:max=940:planes=1,limiter=min=64:max=960:planes=6" -c:v libx265 -pix_fmt yuv422p10le output.mp4

Verification

After processing your video, you can verify that the pixel values have been restricted by using the FFmpeg signalstats filter or analyzing the output file in a professional video editor with hardware scopes.