[FFmpeg-trac] #9108(ffmpeg:new): Unable to process metadata according documentation example
FFmpeg
trac at avcodec.org
Fri Feb 19 19:26:25 EET 2021
#9108: Unable to process metadata according documentation example
----------------------------------+---------------------------------------
Reporter: UlfZibis | Type: defect
Status: new | Priority: normal
Component: ffmpeg | Version: unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
----------------------------------+---------------------------------------
Summary of the bug:
The "roundtrip" example to edit metadata tags from here
[https://ffmpeg.org/ffmpeg-all.html#Metadata-3]
in conjunction with the shown metadata example file does not work for
adding chapter tags and media title.
Either the documentation is wrong/incomplete or the code is buggy.
How to reproduce:
Use:
[http://www.jugkoeln.de/Videos/INPUT_croped.mkv]
[http://www.jugkoeln.de/Videos/INPUT_test.ffmeta]
{{{
% ffmpeg -i INPUT_croped.mkv -i INPUT_test.ffmeta -map_metadata 0
-map_metadata 1 -map_metadata:s:v 0:s:v -map_metadata:s:a 0:s:a -c copy
OUTPUT_croped.mkv
ffmpeg version N-101141-g8331eb058d Copyright (c) 2000-2021 the FFmpeg
developers
built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
configuration: --enable-libvorbis
libavutil 56. 65.100 / 56. 65.100
libavcodec 58.123.100 / 58.123.100
libavformat 58. 67.100 / 58. 67.100
libavdevice 58. 12.100 / 58. 12.100
libavfilter 7.107.100 / 7.107.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
Input #0, matroska,webm, from 'INPUT_croped.mkv':
Metadata:
SOURCE_TYPE : dvd
ENCODER : Lavf58.67.100
Duration: 01:31:56.12, start: -0.007000, bitrate: 110 kb/s
Chapters:
Chapter #0:0: start 0.000000, end 10.911556
Chapter #0:1: start 10.911556, end 819.225778
Chapter #0:2: start 819.225778, end 1839.369956
Chapter #0:3: start 1839.369956, end 2689.490133
Chapter #0:4: start 2689.490133, end 3289.574978
Chapter #0:5: start 3289.574978, end 4584.758089
Chapter #0:6: start 4584.758089, end 5516.019689
Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p(progressive), 16x16
[SAR 16:15 DAR 16:15], 25 fps, 25 tbr, 1k tbn, 25 tbc (default)
Metadata:
ENCODER : Lavc58.123.100 mpeg4
DURATION : 01:31:56.120000000
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
Metadata:
DURATION : 01:31:56.121000000
Input #1, ffmetadata, from 'INPUT_test.ffmeta':
Metadata:
title : Experiment
Duration: 01:31:56.02, start: 0.000000, bitrate: N/A
Chapters:
Chapter #1:0: start 0.000000, end 10.911556
Chapter #1:1: start 10.911556, end 819.225778
Metadata:
title : 1 - Intro
Chapter #1:2: start 819.225778, end 1839.369956
Metadata:
title : 2 - Restaurant
Chapter #1:3: start 1839.369956, end 2689.490133
Metadata:
title : 3 - At home
Chapter #1:4: start 2689.490133, end 3289.574978
Chapter #1:5: start 3289.574978, end 4584.758089
Chapter #1:6: start 4584.758089, end 5516.019689
Codec 0x21000 is not in the full list.
Stream #1:0: Data: unknown_codec
Metadata:
title : Experiment
File 'OUTPUT_croped.mkv' already exists. Overwrite? [y/N] y
Output #0, matroska, to 'OUTPUT_croped.mkv':
Metadata:
SOURCE_TYPE : dvd
title : Experiment
encoder : Lavf58.67.100
Chapters:
Chapter #0:0: start 0.007000, end 10.918556
Chapter #0:1: start 10.918556, end 819.232778
Chapter #0:2: start 819.232778, end 1839.376956
Chapter #0:3: start 1839.376956, end 2689.497133
Chapter #0:4: start 2689.497133, end 3289.581978
Chapter #0:5: start 3289.581978, end 4584.765089
Chapter #0:6: start 4584.765089, end 5516.026689
Stream #0:0: Video: mpeg4 (Simple Profile) (FMP4 / 0x34504D46),
yuv420p(progressive), 16x16 [SAR 16:15 DAR 16:15], q=2-31, 25 fps, 25 tbr,
1k tbn, 1k tbc (default)
Metadata:
ENCODER : Lavc58.123.100 mpeg4
DURATION : 01:31:56.120000000
Stream #0:1(eng): Audio: opus ([255][255][255][255] / 0xFFFFFFFF), 48000
Hz, stereo, fltp (default)
Metadata:
DURATION : 01:31:56.121000000
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=137903 fps=15555 q=-1.0 Lsize= 74660kB time=01:31:56.10 bitrate=
110.9kbits/s speed= 622x
video:1498kB audio:70033kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 4.375239%
}}}
Result: The chapter titles are not added to the output and the media title
seems not to be added to the right place, as media players – e.g. VLC –
don't show the title at the expected place, see attachment.
As side effect, the global metadata changes to an unusual form and order:
{{{
Metadata:
SOURCE_TYPE : dvd
title : Experiment
encoder : Lavf58.67.100
}}}
instead:
{{{
Metadata:
SOURCE_TYPE : dvd
ENCODER : Lavf58.67.100
title : Experiment
}}}
Also adding the media title as stream title doesn't help:
{{{
% ffmpeg -i INPUT_croped.mkv -i INPUT_test.ffmeta -map_metadata 0
-map_metadata 1 -map_metadata:s:v 0:s:v -map_metadata:s:a 0:s:a
-map_metadata:s 1:s -c copy OUTPUT_croped.mkv
ffmpeg version N-101141-g8331eb058d Copyright (c) 2000-2021 the FFmpeg
developers
built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
configuration: --enable-libvorbis
libavutil 56. 65.100 / 56. 65.100
libavcodec 58.123.100 / 58.123.100
libavformat 58. 67.100 / 58. 67.100
libavdevice 58. 12.100 / 58. 12.100
libavfilter 7.107.100 / 7.107.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
Input #0, matroska,webm, from 'INPUT_croped.mkv':
Metadata:
SOURCE_TYPE : dvd
ENCODER : Lavf58.67.100
Duration: 01:31:56.12, start: -0.007000, bitrate: 110 kb/s
Chapters:
Chapter #0:0: start 0.000000, end 10.911556
Chapter #0:1: start 10.911556, end 819.225778
Chapter #0:2: start 819.225778, end 1839.369956
Chapter #0:3: start 1839.369956, end 2689.490133
Chapter #0:4: start 2689.490133, end 3289.574978
Chapter #0:5: start 3289.574978, end 4584.758089
Chapter #0:6: start 4584.758089, end 5516.019689
Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p(progressive), 16x16
[SAR 16:15 DAR 16:15], 25 fps, 25 tbr, 1k tbn, 25 tbc (default)
Metadata:
ENCODER : Lavc58.123.100 mpeg4
DURATION : 01:31:56.120000000
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
Metadata:
DURATION : 01:31:56.121000000
Input #1, ffmetadata, from 'INPUT_test.ffmeta':
Metadata:
title : Experiment
Duration: 01:31:56.02, start: 0.000000, bitrate: N/A
Chapters:
Chapter #1:0: start 0.000000, end 10.911556
Chapter #1:1: start 10.911556, end 819.225778
Metadata:
title : 1 - Intro
Chapter #1:2: start 819.225778, end 1839.369956
Metadata:
title : 2 - Restaurant
Chapter #1:3: start 1839.369956, end 2689.490133
Metadata:
title : 3 - At home
Chapter #1:4: start 2689.490133, end 3289.574978
Chapter #1:5: start 3289.574978, end 4584.758089
Chapter #1:6: start 4584.758089, end 5516.019689
Codec 0x21000 is not in the full list.
Stream #1:0: Data: unknown_codec
Metadata:
title : Experiment
File 'OUTPUT_croped.mkv' already exists. Overwrite? [y/N] y
Output #0, matroska, to 'OUTPUT_croped.mkv':
Metadata:
SOURCE_TYPE : dvd
title : Experiment
encoder : Lavf58.67.100
Chapters:
Chapter #0:0: start 0.007000, end 10.918556
Chapter #0:1: start 10.918556, end 819.232778
Chapter #0:2: start 819.232778, end 1839.376956
Chapter #0:3: start 1839.376956, end 2689.497133
Chapter #0:4: start 2689.497133, end 3289.581978
Chapter #0:5: start 3289.581978, end 4584.765089
Chapter #0:6: start 4584.765089, end 5516.026689
Stream #0:0: Video: mpeg4 (Simple Profile) (FMP4 / 0x34504D46),
yuv420p(progressive), 16x16 [SAR 16:15 DAR 16:15], q=2-31, 25 fps, 25 tbr,
1k tbn, 1k tbc (default)
Metadata:
ENCODER : Lavc58.123.100 mpeg4
DURATION : 01:31:56.120000000
title : Experiment
Stream #0:1(eng): Audio: opus ([255][255][255][255] / 0xFFFFFFFF), 48000
Hz, stereo, fltp (default)
Metadata:
DURATION : 01:31:56.121000000
title : Experiment
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=137903 fps=23403 q=-1.0 Lsize= 74660kB time=01:31:56.10 bitrate=
110.9kbits/s speed= 936x
video:1498kB audio:70033kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 4.375275%
}}}
Result:
The media title is still not shown with SMPlayer and VLC media player.
As an alternative, the chapter titles can be added using option
`-map_chapters`:
{{{
% ffmpeg -i INPUT_croped.mkv -i INPUT_test.ffmeta -map_metadata 0
-map_metadata 1 -map_metadata:s:v 0:s:v -map_metadata:s:a 0:s:a
-map_metadata:s 1:s -map_chapters 1 -c copy OUTPUT_croped.mkv
ffmpeg version N-101141-g8331eb058d Copyright (c) 2000-2021 the FFmpeg
developers
built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
configuration: --enable-libvorbis
libavutil 56. 65.100 / 56. 65.100
libavcodec 58.123.100 / 58.123.100
libavformat 58. 67.100 / 58. 67.100
libavdevice 58. 12.100 / 58. 12.100
libavfilter 7.107.100 / 7.107.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
Input #0, matroska,webm, from 'INPUT_croped.mkv':
Metadata:
SOURCE_TYPE : dvd
ENCODER : Lavf58.67.100
Duration: 01:31:56.12, start: -0.007000, bitrate: 110 kb/s
Chapters:
Chapter #0:0: start 0.000000, end 10.911556
Chapter #0:1: start 10.911556, end 819.225778
Chapter #0:2: start 819.225778, end 1839.369956
Chapter #0:3: start 1839.369956, end 2689.490133
Chapter #0:4: start 2689.490133, end 3289.574978
Chapter #0:5: start 3289.574978, end 4584.758089
Chapter #0:6: start 4584.758089, end 5516.019689
Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p(progressive), 16x16
[SAR 16:15 DAR 16:15], 25 fps, 25 tbr, 1k tbn, 25 tbc (default)
Metadata:
ENCODER : Lavc58.123.100 mpeg4
DURATION : 01:31:56.120000000
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
Metadata:
DURATION : 01:31:56.121000000
Input #1, ffmetadata, from 'INPUT_test.ffmeta':
Metadata:
title : Experiment
Duration: 01:31:56.02, start: 0.000000, bitrate: N/A
Chapters:
Chapter #1:0: start 0.000000, end 10.911556
Chapter #1:1: start 10.911556, end 819.225778
Metadata:
title : 1 - Intro
Chapter #1:2: start 819.225778, end 1839.369956
Metadata:
title : 2 - Restaurant
Chapter #1:3: start 1839.369956, end 2689.490133
Metadata:
title : 3 - At home
Chapter #1:4: start 2689.490133, end 3289.574978
Chapter #1:5: start 3289.574978, end 4584.758089
Chapter #1:6: start 4584.758089, end 5516.019689
Codec 0x21000 is not in the full list.
Stream #1:0: Data: unknown_codec
Metadata:
title : Experiment
File 'OUTPUT_croped.mkv' already exists. Overwrite? [y/N] y
Output #0, matroska, to 'OUTPUT_croped.mkv':
Metadata:
SOURCE_TYPE : dvd
title : Experiment
encoder : Lavf58.67.100
Chapters:
Chapter #0:0: start 0.000000, end 10.911556
Chapter #0:1: start 10.911556, end 819.225778
Metadata:
title : 1 - Intro
Chapter #0:2: start 819.225778, end 1839.369956
Metadata:
title : 2 - Restaurant
Chapter #0:3: start 1839.369956, end 2689.490133
Metadata:
title : 3 - At home
Chapter #0:4: start 2689.490133, end 3289.574978
Chapter #0:5: start 3289.574978, end 4584.758089
Chapter #0:6: start 4584.758089, end 5516.019689
Stream #0:0: Video: mpeg4 (Simple Profile) (FMP4 / 0x34504D46),
yuv420p(progressive), 16x16 [SAR 16:15 DAR 16:15], q=2-31, 25 fps, 25 tbr,
1k tbn, 1k tbc (default)
Metadata:
ENCODER : Lavc58.123.100 mpeg4
DURATION : 01:31:56.120000000
title : Experiment
Stream #0:1(eng): Audio: opus ([255][255][255][255] / 0xFFFFFFFF), 48000
Hz, stereo, fltp (default)
Metadata:
DURATION : 01:31:56.121000000
title : Experiment
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=137903 fps=23424 q=-1.0 Lsize= 74660kB time=01:31:56.10 bitrate=
110.9kbits/s speed= 937x
video:1498kB audio:70033kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 4.375388%
}}}
Conclusion:
1. It would be good, if the round trip example from
[https://ffmpeg.org/ffmpeg-all.html#Metadata-3]
would '''work out of the box''', even for chapter and media titles.
2. At least. description of option `-map_metadata` at
[https://ffmpeg.org/ffmpeg-all.html#Advanced-options]
should refer to option `-map_chapters` for editing chapter tags.
3. And both option descriptions should be cross-linked with
[https://ffmpeg.org/ffmpeg-all.html#Metadata-1]
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9108>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list