Opened 6 years ago

Closed 6 years ago

Last modified 4 years ago

#4 closed defect (invalid)

MP3 file with unsynchronised id3v2 tag is not read correctly

Reported by: cehoyos Owned by: michael
Priority: normal Component: avformat
Version: git Keywords: mp3 id3v2 roundup
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

(issue 2650)
FFmpeg does support unsynchronisation in id3v2 tags, but only in tags starting with "T". Attached sample is unsynchronised in MCDI tag, making it impossible to read the remaining id3v2 tags that can be read if I remove the inserted byte (or patch id3v2.c to skip it).

(Additionally, the OP reported that the VBR tag can not be read in this file.)

ffmpeg -i b.mp3
FFmpeg version git-N-27871-gcc4d3dd, Copyright (c) 2000-2011 the FFmpeg developers
  built on Mar  8 2011 20:24:27 with gcc 4.5.2
  configuration: --cc=/usr/local/gcc-4.5.2/bin/gcc --enable-gpl
  libavutil    50. 39. 0 / 50. 39. 0
  libavcodec   52.113. 2 / 52.113. 2
  libavformat  52.102. 0 / 52.102. 0
  libavdevice  52.  3. 0 / 52.  3. 0
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 12. 0 /  0. 12. 0
[mp3 @ 0x11eb440] Header missing
[mp3 @ 0x11e8650] max_analyze_duration reached
[mp3 @ 0x11e8650] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'b.mp3':
  Metadata:
    title           : Sound Of Letting Go
    artist          : David Guetta & Tocadisco feat. Chris Willis
    album           : One Love
    TYER            : 2009
    track           : 13/16
  Duration: 00:24:16.38, start: 0.000000, bitrate: 32 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 32 kb/s
At least one output file must be specified

With the 259th byte removed four additional tags are shown:

ffmpeg -i t.mp3
FFmpeg version git-N-27871-gcc4d3dd, Copyright (c) 2000-2011 the FFmpeg developers
  built on Mar  8 2011 20:24:27 with gcc 4.5.2
  configuration: --cc=/usr/local/gcc-4.5.2/bin/gcc --enable-gpl
  libavutil    50. 39. 0 / 50. 39. 0
  libavcodec   52.113. 2 / 52.113. 2
  libavformat  52.102. 0 / 52.102. 0
  libavdevice  52.  3. 0 / 52.  3. 0
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 12. 0 /  0. 12. 0
[mp3 @ 0x11e9710] Header missing
[mp3 @ 0x11e8650] max_analyze_duration reached
[mp3 @ 0x11e8650] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 't.mp3':
  Metadata:
    title           : Sound Of Letting Go
    artist          : David Guetta & Tocadisco feat. Chris Willis
    album           : One Love
    TYER            : 2009
    track           : 13/16
    TLEN            : 225986
    genre           : Bance
    encoded_by      : Exact Audio Copy   (Secure mode)
    encoder         : LAME.EXE -V 2 --vbr-new
  Duration: 00:24:16.38, start: 0.000000, bitrate: 32 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 32 kb/s
At least one output file must be specified

Attachments (1)

id3v2unsync.mp3 (1.0 MB) - added by cehoyos 6 years ago.

Download all attachments as: .zip

Change History (3)

Changed 6 years ago by cehoyos

comment:1 Changed 6 years ago by cehoyos

  • Resolution set to invalid
  • Status changed from new to closed

The id3v2 tag is invalid, reading the VBR tag was fixed by Anton Khirnov.

comment:2 Changed 4 years ago by cehoyos

  • Keywords mp3 id3v2 roundup added
Note: See TracTickets for help on using tickets.