Transcode Video to AS-11 Using FFmpeg

This guide provides a step-by-step walkthrough on how to transcode video files to the AS-11 broadcast delivery standard using the command-line tool FFmpeg. You will learn the exact encoding parameters required for compliance, including video and audio codecs, container specifications, and how to structure your FFmpeg commands to meet UK DPP (Digital Production Partnership) HD specifications.


Understanding the AS-11 HD (DPP) Requirements

The AS-11 standard (specifically AS-11 UK DPP HD) requires highly specific video and audio constraints to ensure compatibility with broadcast playout systems:

  • Video Format: AVC-Intra 100 (1080i/25 or 720p/50).
  • Video Codec: H.264 (AVC-Intra profile).
  • Chroma Subsampling & Bit Depth: YUV 4:2:2, 10-bit.
  • Audio Format: Uncompressed PCM, 24-bit, 48 kHz.
  • Container: MXF OP1a.

The FFmpeg Transcoding Command

To transcode a source video to an AS-11 compliant MXF file at 1080i25 (the most common UK delivery format), use the following FFmpeg command:

ffmpeg -i input_file.mov \
  -c:v libx264 -pix_fmt yuv422p10le \
  -x264opts avcintra-class=100:interlaced=1 \
  -flags +ildct+ilme -top 1 \
  -color_primaries bt709 -color_trc bt709 -colorspace bt709 \
  -c:a pcm_s24le -ar 48000 \
  -f mxf output_as11.mxf

Parameter Breakdown

1. Video Encoding Settings

  • -c:v libx264: Uses the H.264 encoder to generate the AVC-Intra stream.
  • -pix_fmt yuv422p10le: Sets the pixel format to 10-bit YUV 4:2:2, which is mandatory for AVC-Intra 100.
  • -x264opts avcintra-class=100:interlaced=1: Forces the libx264 encoder into AS-11 compliant AVC-Intra 100 mode and enables interlaced encoding.
  • -flags +ildct+ilme -top 1: Enables interlaced DCT (Discrete Cosine Transform) and macroblock allocation, setting the field dominance to Top Field First (standard for 1080i broadcast).
  • -color_primaries bt709 -color_trc bt709 -colorspace bt709: Forces the color space to Rec. 709, the standard for high-definition broadcast.

2. Audio Encoding Settings

  • -c:a pcm_s24le: Encodes the audio to Little-Endian 24-bit PCM.
  • -ar 48000: Sets the audio sample rate to 48 kHz.

3. Container Settings

  • -f mxf: Packages the encoded video and audio essences into an MXF OP1a container.

Mapping Audio Tracks

AS-11 specifications typically require 4, 8, or 16 discrete mono audio channels. If your source file has a stereo track and you need to split it into two discrete mono tracks inside the MXF container, use the -map_channel or -filter_complex option:

ffmpeg -i input_file.mov \
  -c:v libx264 -pix_fmt yuv422p10le \
  -x264opts avcintra-class=100:interlaced=1 \
  -flags +ildct+ilme -top 1 \
  -color_primaries bt709 -color_trc bt709 -colorspace bt709 \
  -filter_complex "[0:a]channelsplit=channel_layout=stereo[left][right]" \
  -map 0:v \
  -map "[left]" -c:a:0 pcm_s24le -ar:a:0 48000 \
  -map "[right]" -c:a:1 pcm_s24le -ar:a:1 48000 \
  -f mxf output_as11.mxf

This ensures that the output MXF file contains one video track and two distinct, uncompressed mono audio tracks, satisfying standard broadcast delivery layouts.