[FFmpeg-devel] [PATCH 1/1] avformat/movenc: use modern iTunes copyright atom

Timo Teras timo.teras at iki.fi
Thu Mar 29 22:12:50 EEST 2018

On Thu, 29 Mar 2018 20:29:44 +0200
Michael Niedermayer <michael at niedermayer.cc> wrote:

> On Wed, Mar 28, 2018 at 07:02:48PM +0300, Timo Teräs wrote:
> > iTunes currently uses the 'cprt' atom to store the copyright notice
> > and this patch fixes compatibility with majority of software that
> > supports the 'ilst' atom. Other software and documentation using
> > this:
> >  - AtomicParseley encodes and parses only 'cprt'
> >  - Most players recognize only 'cprt'
> >  - https://sno.phy.queensu.ca/~phil/exiftool/TagNames/QuickTime.html
> >    documents both tag types
> >  - http://mutagen.readthedocs.io/en/latest/api/mp4.html documents
> >    only 'cprt'
> > 
> > ffmpeg mov reader properly parses the 'cprt' tag inside 'ilst' tag
> > and functions correctly with streams produced with this commit.
> > 
> > Since 'cprt' seems to be the current correct atom, it is used by
> > default. "-movflags legacy_copyright" option is added to revert
> > back to the old atom type in case that is needed.
> > 
> > Signed-off-by: Timo Teräs <timo.teras at iki.fi>
> > ---
> > If the legacy option is not needed, I'm happy to resend patch just
> > changing the atom types.  
> why dont you store both ?
> the old should do no harm or am i missing something ?
> and it avoids the need for the user parameter (which few will find if
> they run in a file that doesnt work)

AFAIK, 'cprt' is the canonical tag and always has been for iTunes list.
I tried to look where the current ffmpeg atom came from, but did not
find anything conclusive. It might be copy paste error on ffmpeg from
other container variants, and others who supports it in iTunes list is
to support ffmpeg generated .movs.

While it would do no harm, I'd rather not encode the same data multiple
times. And at least for the files I am generating, I would like to not
generate the incorrect tag.

If the preferred choice is to generate both tags, how about adding
option "{skip,disable,omit,no}_itls_cpy" or similar to inhibit it?


More information about the ffmpeg-devel mailing list