#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 _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org http://ffmpeg.org/mailman/listinfo/ffmpeg-trac