#6949(undetermined:new): No support for multiple values in ID3v2.4 tags.
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Type: defect escapereality | Priority: normal Status: new | Version: Component: | unspecified undetermined | Blocked By: Keywords: ID3 FFprobe | Reproduced by developer: 0 libavformat | Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Altough ''FFmpeg'' states that it has support for ID3v2.4 tags, there is one thing I can't get to work properly. The [http://id3.org/id3v2.4.0-frames ID3v2.4 specifications] state the following: ''There may only be one text information frame of its kind in an tag. All text information frames supports multiple strings, stored as a null separated list, where null is represented by the termination code for the character encoding.'' When I separate the values in a tag with NULL-characters, the values should all be recognized (following the ID3v2.4 specs). However, when I use ''FFprobe'', it only shows the first value. For example [http://mutagen.readthedocs.io/en/latest/man/mid3v2.html mid3v2] shows the tags correctly. [[BR]] Below is (a snippet of) the output of both ''mid3v2'' and ''FFprobe'' with an example file. The '''TCON''' (genre) and '''TPE1''' (artist) contain multiple values. ''mid3v2:'' {{{ mid3v2 --list 01_Infinite_\(Original_Mix\).mp3 IDv2 tag info for 01_Infinite_(Original_Mix).mp3 TALB=Infinite TBPM=150 TCON=Hardstyle / Test / Example / Hard Dance TDRC=2017 TIT2=Infinite (Original Mix) TPE1=B-Front / Second Artist Example TPE2=B-Front TPUB=Roughstate }}} ''FFmpeg:'' {{{ ffprobe 01_Infinite_\(Original_Mix\).mp3 Input #0, mp3, from '01_Infinite_(Original_Mix).mp3': Metadata: title : Infinite (Original Mix) artist : B-Front album : Infinite date : 2017 genre : Hardstyle TBPM : 150 album_artist : B-Front publisher : Roughstate }}} ---- '''Verbose console output FFprobe''' {{{ ffprobe started on 2018-01-07 at 03:20:14 Report written to "ffprobe-20180107-032014.log" Command line: ffprobe -report "01_Infinite_(Original_Mix).mp3" ffprobe version 3.4.1 Copyright (c) 2007-2017 the FFmpeg developers built with gcc 7.2.1 (GCC) 20171128 configuration: --prefix=/usr --disable-debug --disable-static --disable- stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable- libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-shared --enable-version3 libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 [NULL @ 0x55a2b5dcdb20] Opening '01_Infinite_(Original_Mix).mp3' for reading [file @ 0x55a2b5dce520] Setting default whitelist 'file,crypto' [mp3 @ 0x55a2b5dcdb20] Format mp3 probed with size=131072 and score=51 id3v2 ver:4 flags:00 len:108428 [mp3 @ 0x55a2b5dcdb20] pad 576 1211 [mp3 @ 0x55a2b5dcdb20] Skipping 0 bytes of junk at 109482. [mp3 @ 0x55a2b5dcdb20] Before avformat_find_stream_info() pos: 109482 bytes read:131072 seeks:0 nb_streams:2 [mjpeg @ 0x55a2b5dd2480] marker=d8 avail_size_in_buf=94699 [mjpeg @ 0x55a2b5dd2480] marker parser used 0 bytes (0 bits) [mjpeg @ 0x55a2b5dd2480] marker=e0 avail_size_in_buf=94697 [mjpeg @ 0x55a2b5dd2480] marker parser used 16 bytes (128 bits) [mjpeg @ 0x55a2b5dd2480] marker=db avail_size_in_buf=94679 [mjpeg @ 0x55a2b5dd2480] index=0 [mjpeg @ 0x55a2b5dd2480] qscale[0]: 0 [mjpeg @ 0x55a2b5dd2480] marker parser used 67 bytes (536 bits) [mjpeg @ 0x55a2b5dd2480] marker=db avail_size_in_buf=94610 [mjpeg @ 0x55a2b5dd2480] index=1 [mjpeg @ 0x55a2b5dd2480] qscale[1]: 1 [mjpeg @ 0x55a2b5dd2480] marker parser used 67 bytes (536 bits) [mjpeg @ 0x55a2b5dd2480] marker=c0 avail_size_in_buf=94541 [mjpeg @ 0x55a2b5dd2480] Changing bps from 0 to 8 [mjpeg @ 0x55a2b5dd2480] sof0: picture: 600x600 [mjpeg @ 0x55a2b5dd2480] component 0 2:2 id: 0 quant:0 [mjpeg @ 0x55a2b5dd2480] component 1 1:1 id: 1 quant:1 [mjpeg @ 0x55a2b5dd2480] component 2 1:1 id: 2 quant:1 [mjpeg @ 0x55a2b5dd2480] pix fmt id 22111100 [mjpeg @ 0x55a2b5dd2480] marker parser used 17 bytes (136 bits) [mjpeg @ 0x55a2b5dd2480] marker=c4 avail_size_in_buf=94522 [mjpeg @ 0x55a2b5dd2480] marker parser used 0 bytes (0 bits) [mjpeg @ 0x55a2b5dd2480] marker=c4 avail_size_in_buf=94489 [mjpeg @ 0x55a2b5dd2480] marker parser used 0 bytes (0 bits) [mjpeg @ 0x55a2b5dd2480] marker=c4 avail_size_in_buf=94397 [mjpeg @ 0x55a2b5dd2480] marker parser used 0 bytes (0 bits) [mjpeg @ 0x55a2b5dd2480] marker=c4 avail_size_in_buf=94367 [mjpeg @ 0x55a2b5dd2480] marker parser used 0 bytes (0 bits) [mjpeg @ 0x55a2b5dd2480] escaping removed 318 bytes [mjpeg @ 0x55a2b5dd2480] marker=da avail_size_in_buf=94314 [mjpeg @ 0x55a2b5dd2480] marker parser used 93996 bytes (751968 bits) [mjpeg @ 0x55a2b5dd2480] marker=d9 avail_size_in_buf=0 [mjpeg @ 0x55a2b5dd2480] decode frame unused 0 bytes [mp3 @ 0x55a2b5dcdb20] demuxer injecting skip 1105 / discard 0 [mp3 @ 0x55a2b5dd1620] skip 1105 / discard 0 samples due to side data [mp3 @ 0x55a2b5dd1620] skip 1105/1152 samples [mp3 @ 0x55a2b5dcdb20] All info found [mp3 @ 0x55a2b5dcdb20] After avformat_find_stream_info() pos: 162730 bytes read:163840 seeks:0 frames:51 Input #0, mp3, from '01_Infinite_(Original_Mix).mp3': Metadata: title : Infinite (Original Mix) artist : B-Front track : 1 album : Infinite date : 2017 genre : Hardstyle compilation : 0 TBPM : 150 album_artist : B-Front publisher : Roughstate R128_ALBUM_GAIN : 0 R128_TRACK_GAIN : 0 CATALOGNUMBER : ROUGH082 REPLAYGAIN_ALBUM_PEAK: 1.000000 REPLAYGAIN_TRACK_PEAK: 1.000000 REPLAYGAIN_ALBUM_GAIN: -13.24 dB REPLAYGAIN_TRACK_GAIN: -13.24 dB iTunNORM : 0000525E 0000525E 0000CDEC 0000CDEC 00000000 00000000 00008000 00008000 00000000 00000000 Duration: 00:05:00.64, start: 0.025056, bitrate: 322 kb/s Stream #0:0, 50, 1/14112000: Audio: mp3, 44100 Hz, stereo, s16p, 320 kb/s Metadata: encoder : Lavf Side data: replaygain: track gain - -13.240000, track peak - 0.000023, album gain - -13.240000, album peak - 0.000023, Stream #0:1, 1, 1/90000: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 600x600 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn, 90k tbc Metadata: comment : Cover (front) [AVIOContext @ 0x55a2b5dd6900] Statistics: 163840 bytes read, 0 seeks }}} -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: escapereality | Status: new Type: defect | Component: avformat Priority: normal | Resolution: Version: unspecified | Blocked By: Keywords: ID3 ID3v2.4 | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Changes (by escapereality): * keywords: ID3 FFprobe libavformat => ID3 ID3v2.4 * component: undetermined => avformat -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:1> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: escapereality | Status: new Type: defect | Component: avformat Priority: normal | Resolution: Version: unspecified | Blocked By: Keywords: ID3v2 | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Changes (by cehoyos): * keywords: ID3 ID3v2.4 => ID3v2 Comment: Please test current FFmpeg git head and please provide a sample. Please only report an issue against `ffprobe` if it is not reproducible with `ffmpeg`. -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:2> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: escapereality | Status: new Type: defect | Component: avformat Priority: normal | Resolution: Version: unspecified | Blocked By: Keywords: ID3v2 | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by escapereality): Replying to [comment:2 cehoyos]:
Please test current FFmpeg git head and please provide a sample. Please only report an issue against `ffprobe` if it is not reproducible with `ffmpeg`.
Allright. It is indeed also reproducible with ffmpeg. See below for the verbose output of ffmpeg at the latest git head. (ffmpeg -i filename) {{{ ffmpeg started on 2018-01-07 at 11:11:36 Report written to "ffmpeg-20180107-111136.log" Command line: ffmpeg -report -i "01_Infinite_(Original_Mix).mp3" ffmpeg version N-89740-g476665d Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 20160609 configuration: libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 3.100 / 58. 3.100 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 11.101 / 7. 11.101 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 Splitting the commandline. Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'. Reading option '-i' ... matched as input url with argument '01_Infinite_(Original_Mix).mp3'. Finished splitting the commandline. Parsing a group of options: global . Applying option report (generate a report) with argument 1. Successfully parsed a group of options. Parsing a group of options: input url 01_Infinite_(Original_Mix).mp3. Successfully parsed a group of options. Opening an input file: 01_Infinite_(Original_Mix).mp3. [NULL @ 0x3782580] Opening '01_Infinite_(Original_Mix).mp3' for reading [file @ 0x3782f80] Setting default whitelist 'file,crypto' [mp3 @ 0x3782580] Format mp3 probed with size=131072 and score=51 id3v2 ver:4 flags:00 len:108428 [mp3 @ 0x3782580] pad 576 1211 [mp3 @ 0x3782580] Skipping 0 bytes of junk at 109482. [mp3 @ 0x3782580] Before avformat_find_stream_info() pos: 109482 bytes read:131072 seeks:0 nb_streams:2 [mjpeg @ 0x3786600] marker=d8 avail_size_in_buf=94699 [mjpeg @ 0x3786600] marker parser used 0 bytes (0 bits) [mjpeg @ 0x3786600] marker=e0 avail_size_in_buf=94697 [mjpeg @ 0x3786600] marker parser used 16 bytes (128 bits) [mjpeg @ 0x3786600] marker=db avail_size_in_buf=94679 [mjpeg @ 0x3786600] index=0 [mjpeg @ 0x3786600] qscale[0]: 0 [mjpeg @ 0x3786600] marker parser used 67 bytes (536 bits) [mjpeg @ 0x3786600] marker=db avail_size_in_buf=94610 [mjpeg @ 0x3786600] index=1 [mjpeg @ 0x3786600] qscale[1]: 1 [mjpeg @ 0x3786600] marker parser used 67 bytes (536 bits) [mjpeg @ 0x3786600] marker=c0 avail_size_in_buf=94541 [mjpeg @ 0x3786600] Changing bps from 0 to 8 [mjpeg @ 0x3786600] sof0: picture: 600x600 [mjpeg @ 0x3786600] component 0 2:2 id: 0 quant:0 [mjpeg @ 0x3786600] component 1 1:1 id: 1 quant:1 [mjpeg @ 0x3786600] component 2 1:1 id: 2 quant:1 [mjpeg @ 0x3786600] pix fmt id 22111100 [mjpeg @ 0x3786600] marker parser used 17 bytes (136 bits) [mjpeg @ 0x3786600] marker=c4 avail_size_in_buf=94522 [mjpeg @ 0x3786600] marker parser used 0 bytes (0 bits) [mjpeg @ 0x3786600] marker=c4 avail_size_in_buf=94489 [mjpeg @ 0x3786600] marker parser used 0 bytes (0 bits) [mjpeg @ 0x3786600] marker=c4 avail_size_in_buf=94397 [mjpeg @ 0x3786600] marker parser used 0 bytes (0 bits) [mjpeg @ 0x3786600] marker=c4 avail_size_in_buf=94367 [mjpeg @ 0x3786600] marker parser used 0 bytes (0 bits) [mjpeg @ 0x3786600] escaping removed 318 bytes [mjpeg @ 0x3786600] marker=da avail_size_in_buf=94314 [mjpeg @ 0x3786600] marker parser used 93996 bytes (751968 bits) [mjpeg @ 0x3786600] marker=d9 avail_size_in_buf=0 [mjpeg @ 0x3786600] decode frame unused 0 bytes [mp3 @ 0x3782580] demuxer injecting skip 1105 / discard 0 [mp3 @ 0x3785840] skip 1105 / discard 0 samples due to side data [mp3 @ 0x3785840] skip 1105/1152 samples [mp3 @ 0x3782580] All info found [mp3 @ 0x3782580] After avformat_find_stream_info() pos: 162730 bytes read:163840 seeks:0 frames:51 Input #0, mp3, from '01_Infinite_(Original_Mix).mp3': Metadata: title : Infinite (Original Mix) artist : B-Front track : 1 album : Infinite date : 2017 genre : Hardstyle compilation : 0 TBPM : 150 album_artist : B-Front publisher : Roughstate R128_ALBUM_GAIN : 0 R128_TRACK_GAIN : 0 CATALOGNUMBER : ROUGH082 REPLAYGAIN_ALBUM_PEAK: 1.000000 REPLAYGAIN_TRACK_PEAK: 1.000000 REPLAYGAIN_ALBUM_GAIN: -13.24 dB REPLAYGAIN_TRACK_GAIN: -13.24 dB iTunNORM : 0000525E 0000525E 0000CDEC 0000CDEC 00000000 00000000 00008000 00008000 00000000 00000000 Duration: 00:05:00.64, start: 0.025056, bitrate: 322 kb/s Stream #0:0, 50, 1/14112000: Audio: mp3, 44100 Hz, stereo, s16p, 320 kb/s Metadata: encoder : Lavf Side data: replaygain: track gain - -13.240000, track peak - 0.000023, album gain - -13.240000, album peak - 0.000023, Stream #0:1, 1, 1/90000: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 600x600 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn, 90k tbc Metadata: comment : Cover (front) Successfully opened the file. At least one output file must be specified [AVIOContext @ 0x378c600] Statistics: 163840 bytes read, 0 seeks }}} -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:3> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: escapereality | Status: new Type: defect | Component: avformat Priority: normal | Resolution: Version: unspecified | Blocked By: Keywords: ID3v2 | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by cehoyos): Please provide a sample. -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:4> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: escapereality | Status: new Type: defect | Component: avformat Priority: normal | Resolution: Version: unspecified | Blocked By: Keywords: ID3v2 | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by escapereality): Replying to [comment:4 cehoyos]:
Please provide a sample.
I've already uploaded a sample with the VideoLan upload tool, is that enough? -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:5> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: escapereality | Status: new Type: defect | Component: avformat Priority: normal | Resolution: Version: git-master | Blocked By: Keywords: ID3v2 | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Changes (by escapereality): * version: unspecified => git-master -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:6> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: escapereality | Status: new Type: defect | Component: avformat Priority: normal | Resolution: Version: git-master | Blocked By: Keywords: ID3v2 | Reproduced by developer: 0 Blocking: | Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by escapereality): Replying to [comment:4 cehoyos]:
Please provide a sample.
Are you able to reproduce this problem? -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:7> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: escapereality | Type: defect | Status: new Priority: normal | Component: avformat Version: git-master | Resolution: Keywords: ID3v2 | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by certuna2): Some software depending on ffmpeg's tag handling now runs into this bug: https://github.com/deluan/navidrome/issues/238 -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:8> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: (none) escapereality | Type: defect | Status: new Priority: normal | Component: avformat Version: git-master | Resolution: Keywords: ID3v2 | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by Ken Dietz): Plex is now affected by this bug. This is a pretty major bug to be languishing for 4 years. -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:9> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: (none) escapereality | Type: defect | Status: open Priority: normal | Component: avformat Version: git-master | Resolution: Keywords: ID3v2 | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Changes (by Balling): * status: new => open Comment: Will be fixed in https://patchwork.ffmpeg.org/project/ffmpeg/patch/20220825002722.79902-3-rco... -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:10> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: (none) escapereality | Type: defect | Status: open Priority: normal | Component: avformat Version: git-master | Resolution: Keywords: ID3v2 | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Comment (by certuna2): Anything happening with this patch? It's been 15 months since it was submitted... -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:11> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#6949: No support for multiple values in ID3v2.4 tags. -------------------------------------+------------------------------------- Reporter: | Owner: (none) escapereality | Type: defect | Status: closed Priority: normal | Component: avformat Version: git-master | Resolution: Keywords: ID3v2 | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Changes (by Michael Niedermayer): * status: open => closed Comment: Fixed by rcombs in 80b77e8e8d0630710ad6069133f397459015f139 -- Ticket URL: <https://trac.ffmpeg.org/ticket/6949#comment:12> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
participants (1)
-
FFmpeg