4 FFmpeg is able to dump metadata from media files into a simple UTF-8-encoded
5 INI-like text file and then load it back using the metadata muxer/demuxer.
7 The file format is as follows:
11 A file consists of a header and a number of metadata tags divided into sections,
15 The header is a ';FFMETADATA' string, followed by a version number (now 1).
18 Metadata tags are of the form 'key=value'
21 Immediately after header follows global metadata
24 After global metadata there may be sections with per-stream/per-chapter
28 A section starts with the section name in uppercase (i.e. STREAM or CHAPTER) in
29 brackets ('[', ']') and ends with next section or end of file.
32 At the beginning of a chapter section there may be an optional timebase to be
33 used for start/end values. It must be in form 'TIMEBASE=num/den', where num and
34 den are integers. If the timebase is missing then start/end times are assumed to
36 Next a chapter section must contain chapter start and end times in form
37 'START=num', 'END=num', where num is a positive integer.
40 Empty lines and lines starting with ';' or '#' are ignored.
43 Metadata keys or values containing special characters ('=', ';', '#', '\' and a
44 newline) must be escaped with a backslash '\'.
47 Note that whitespace in metadata (e.g. foo = bar) is considered to be a part of
48 the tag (in the example above key is 'foo ', value is ' bar').
51 A ffmetadata file might look like this:
56 artist=FFmpeg troll team
61 #chapter ends at 0:01:00
69 By using the ffmetadata muxer and demuxer it is possible to extract
70 metadata from an input file to an ffmetadata file, and then transcode
71 the file into an output file with the edited ffmetadata file.
73 Extracting an ffmetadata file with @file{ffmpeg} goes as follows:
75 ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE
78 Reinserting edited metadata information from the FFMETADATAFILE file can
81 ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec copy OUTPUT