Configure AS-11 DPP Metadata in MXF with FFmpeg
This article provides a step-by-step technical guide on how to configure and inject AS-11 UK DPP (Digital Production Partnership) metadata into an MXF container using the FFmpeg command-line tool. You will learn about the required metadata keys, how to structure the metadata parameters, and how to execute the FFmpeg command to generate a compliant broadcast delivery file.
Understanding AS-11 DPP Metadata in FFmpeg
The AS-11 UK DPP specification requires specific structural metadata to be embedded within the header of an MXF file. This metadata includes program information, air dates, copyright details, and audio layouts.
FFmpeg’s MXF muxer natively supports the injection of these AS-11 and
DPP metadata fields. When encoding or transmuxing to MXF, you can pass
these fields as global metadata using the -metadata
option.
Key AS-11 DPP Metadata Keys
FFmpeg recognizes specific key-value pairs for AS-11 and DPP. The most common keys required for a UK DPP compliant file include:
series_title: The title of the series.programme_title: The title of the program/episode.episode_title_number: The episode number or sub-title.production_number: The unique production code (e.g., Albert code or clock number).synopsis: A brief description of the program.originator: The production company or broadcaster creating the file.copyright_year: The year of production/copyright.as11_uk_dpp_editorial_classification: The content classification (e.g., “Mainstream”, “Post-Watershed”).as11_uk_dpp_audio_transcription_language: The primary spoken language.
Step-by-Step Configuration
To insert this metadata, you must format your FFmpeg command to map the video and audio streams correctly, define the broadcast-safe codec (typically XDCAM HD422 or AVC-Intra), and apply the metadata flags.
The FFmpeg Command Structure
Below is a standard command template that encodes an input file to a broadcast-compliant 1080i MXF file with embedded AS-11 DPP metadata:
ffmpeg -i input.mov \
-c:v mpeg2video -pix_fmt yuv422p -b:v 50000k -g 12 -bf 2 -trellis 1 \
-c:a pcm_s24le \
-f mxf \
-metadata series_title="Documentary Series" \
-metadata programme_title="The Great Wonders" \
-metadata episode_title_number="Episode 04" \
-metadata production_number="PROD-999-ABC" \
-metadata synopsis="An in-depth look at natural world wonders." \
-metadata originator="Broadcaster One" \
-metadata copyright_year="2024" \
-metadata as11_uk_dpp_editorial_classification="Mainstream" \
-metadata as11_uk_dpp_audio_transcription_language="eng" \
output_dpp.mxfExplanation of the Parameters:
-c:v mpeg2video -pix_fmt yuv422p -b:v 50000k: Encodes the video to XDCAM HD 50Mbps, which is the standard definition/high-definition broadcast codec used for UK DPP delivery.-c:a pcm_s24le: Encodes the audio to 24-bit PCM, as required by the specification.-f mxf: Forces the output format to MXF.-metadata key="value": Injects the specific AS-11 UK DPP fields directly into the MXF header.
Verification of Metadata
Once the file is generated, you must verify that the metadata was
successfully embedded and is readable by QC (Quality Control) tools. You
can use FFmpeg’s companion tool, ffprobe, to view the
metadata:
ffprobe -show_format -show_streams output_dpp.mxfIn the command-line output, look for the [FORMAT]
section. You should see your defined key-value pairs listed under the
metadata tag block, confirming that the AS-11 DPP metadata is correctly
configured within the MXF container.