[FFmpeg-devel] what AVCodecID to use for copying full vanc data between .mxf and .mcc

Devin Heitmueller devin.heitmueller at ltnglobal.com
Wed Jul 9 16:42:16 EEST 2025


On Tue, Jul 8, 2025 at 10:38 PM Jacob Lifshay
<programmerjake-at-gmail.com at ffmpeg.org> wrote:
> > Note that I took a look at the MCC demuxer last year, and it's got a
> > bunch of issues where the parsing makes a bunch of assumptions (e.g.
> > doesn't filter out other VANC types which might be present in an MCC
> > such as AFD).  And it only extracts 608 (i.e. doesn't handle 708).
>
> it does handle 708, since they're using the exact same triples. I've
> been using it in the casparcg branch I've been working on and it seems
> to work fine, giving me the 608 and 708 captions streams.

Last I looked it was throwing everything on the floor other than the
608 tuples, but perhaps that has changed.

> I haven't
> tried to use it with any .mcc files that have anything other than 708
> captions vanc packets however -- do those actually exist? it seems
> like the format supports them, but every file I've seen just uses it
> for 708 captions. I couldn't find any by searching github for:
> path:*.mcc /^[0-9:]{11}\t[^T]/

Yeah, so I've seen MCC files that contain stuff like AFD.  I'll dig
around and see if I can find you a sample.  IIRC the demuxer wasn't
even looking at the DID/SDID, so it would treat every line in the file
as a CDP payload.

<snip>

> > I've done this sort of thing with bitstream filters.  The BSF takes in
> > 2038, extracts the 608, and outputs 608 packets.  You could do
> > something comparable for MXF.
>
> so I could write bitstream filters to interconvert between 608/708 and
> mxf vbi_vanc_smpte_436M and modify the muxers to auto-insert the
> bitstream filters?

Yeah, I've done this in the past, for example I had a BSF that
converted SCTE-35 to SCTE-104, and if you tried to map the SCTE-35
stream into the decklink muxer it would automatically add the
bitstream filter.
>
> > Also, I set up the muxers to
> > automatically insert the BSF if needed, which makes it painless for
> > the user.
>
> so, just add the right ff_stream_add_bitstream_filter calls in the
> muxers' init functions?

Yes.  You can see an example of it here:

https://github.com/LTNGlobal-opensource/FFmpeg-ltn/blob/lted2b/libavdevice/decklink_enc.cpp#L860

Devin

-- 
Devin Heitmueller, Senior Software Engineer
LTN Global Communications
o: +1 (301) 363-1001
w: https://ltnglobal.com  e: devin.heitmueller at ltnglobal.com


More information about the ffmpeg-devel mailing list