[FFmpeg-devel] [PATCH v4 3/3] avformat/mxfenc: prefer to use the configured metadta

Tomas Härdin tjoppen at acc.umu.se
Tue Jan 26 17:39:00 EET 2021


tis 2021-01-26 klockan 00:34 +0100 skrev Marton Balint:
> On Mon, 25 Jan 2021, emcodem at ffastrans.com wrote:
> > Uhm guys, it is very bad practice: if you just insert a different 
> > manufacturer name then you just cheat. SMPTE 377 has a clear statement 
> > about what goes to the identification, you cannot just write the infos 
> > from a different program there.
> 
> Libavformat is a library/SDK, not an application. For most identification 
> fields SMPTE 377 talks about the application which created the file, which 
> can be anything using libavformat libraries. Feel free to quote if you 
> have a more exact specification.
> 
> > What you can do instead is to push both identifications, the old one and 
> > the one from the current program into the identification array, this way 
> > the processing chain can be reconstructed. Unforutnately i have never 
> > seen anyone doing this besides Opencube.
> > 
> > Also, note that broadcasters currently are using the identification 
> > string, looking for "ffmpeg" in order to sort out non compatible XDCAMHD
> > mxf: ffmpeg does not write some mandatory metadata fields as mentioned 
> > here: https://trac.ffmpeg.org/ticket/5097 this leads to sony devices not 
> > accepting the ffmpeg mxf container - which again leads to ffmpeg mxf 
> > wrapper for XDCAMHD not being accepted by our public broadcaster.
> 
> Maybe they should post patches instead of having workarounds? And I 
> explained, libavformat MXF muxer will still be identifiable, but the 
> proper field will be used for identifying the SDK used, not 
> Company/Product but Toolkit/Platform.

I'll just add that I've read the updated version of S377m from 2007 and
this sounds like the best solution. In short something like this:

CompanyName: FFmpeg
Product: OP1a Muxer
Platform: libavformat x.y.z (Debian GNU/Linux 10 (buster))

If we delete the metadata in ffmpeg_opt.c like the original patch does
here, and have Platform be the only hardcoded string, then hopefully
everyone should be relatively happy. So CompanyName and Product can be
changed from the command line/API but Platform cannot.

/Tomas



More information about the ffmpeg-devel mailing list