In the job's input captions settings, set captionSelectors with a source type of EMBEDDED to capture CEA-608/708 data from the input video stream
In the output captions settings, set destinationType to EMBEDDED to pass the captions through to the output video bitstream, preserving both CEA-608 and CEA-708 service channels
If the output requires a sidecar format alongside embedded captions (e.g., WebVTT for HLS), add a second caption output with destinationType WEBVTT in the same output group
Validate that the source video actually contains embedded captions using a tool like CCExtractor or ffprobe before assuming pass-through will work
Test playback on iOS Safari (which renders CEA-608 from fMP4 natively) and on a web player with caption rendering to confirm both tracks are present and in sync
Known gotchas
CEA-608 is carried on line 21 of the VBI in analog sources; in digital delivery it is embedded in SEI NAL units of H.264 — if the encoder does not carry over SEI data, captions are silently dropped
CEA-708 service numbers are not standardized across broadcasters; service 1 is conventionally English but the actual service mapping must be confirmed with the content provider
Pass-through of embedded captions to fMP4 outputs requires that the output codec be H.264 or H.265; transcoding to AV1 drops embedded caption SEI data
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp