Opened 6 years ago

Closed 6 years ago

#1123 closed defect (fixed)

metadata not read correctly with non-standard AVI structure

Reported by: zavisko Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: AVI metadata
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I have found out that ffmpeg or ffprobe recognize avi metadata tags only when avi RIFF structure is in special order:
(attached file test2.avi)

  1. RIFF AVI
  2. LIST hdrl
  3. LIST INFO
  4. LIST movi
  5. idx1

if the order is different then INFO tag is not recognized and metadata are not read, for example with following order:
(attached file test1.avi)

  1. RIFF AVI
  2. LIST hdrl
  3. LIST movi
  4. idx1
  5. LIST INFO

It will be great if some future version will be able to read metadata from any position in AVI.

I have attached also a picture with structures of both files (structures.jpg)

Attachments (4)

test1.avi (750.1 KB) - added by zavisko 6 years ago.
metadata not read correctly
test2.avi (750.1 KB) - added by zavisko 6 years ago.
metadata read fine (INFO tag after hdrl)
structures.jpg (282.6 KB) - added by zavisko 6 years ago.
screenshots with structures and ffprobe outputs
ffmpeg_i_test1.jpg (119.4 KB) - added by zavisko 6 years ago.
output from "ffmpeg -i test1.avi"

Download all attachments as: .zip

Change History (10)

Changed 6 years ago by zavisko

metadata not read correctly

Changed 6 years ago by zavisko

metadata read fine (INFO tag after hdrl)

Changed 6 years ago by zavisko

screenshots with structures and ffprobe outputs

comment:1 Changed 6 years ago by cehoyos

  • Component changed from undetermined to avformat
  • Keywords FourCC INFO RIFF removed

Please add output of ffmpeg -i test1.avi.
What does the specification say about the position of the INFO tag?

comment:2 follow-up: Changed 6 years ago by zavisko

hi,
I have added the screen shot of ffmpeg -i test1.avi (ffmpeg_i_test1.jpg)

If you mean AVI structure specification I did not found anything about INFO tag position. From all documents I've read I think it does not matter where the INFO tag is. This is only my assumption as I'm not an expert :)
To add: All tags are displayed correctly in windows (in explorer or in mediaplayer) also linux tool "mediainfo" is displaying those metatags correctly. On the other side ffmpeg (ffprobe) and libextractor does not work this way.

PS: I forgot to mention that I'm using Ubuntu 10.04 (Lucid) and I have tried the official ubuntu precompiled package (ffmpeg 0.5.1) and also tried the latest release (ffmpeg 0.10.2) - precompiled for debian, downloaded from www.debian-multimedia.org

some avi documentation:
http://www.alexander-noe.com/video/documentation/
http://abcavi.kibi.ru/developer.htm

comment:3 in reply to: ↑ 2 ; follow-up: Changed 6 years ago by cehoyos

Replying to zavisko:

I have added the screen shot of ffmpeg -i test1.avi (ffmpeg_i_test1.jpg)

Screen shots are not helpful, please add complete, uncut console output (preferable current git head).

Changed 6 years ago by zavisko

output from "ffmpeg -i test1.avi"

comment:4 in reply to: ↑ 3 Changed 6 years ago by zavisko

Replying to cehoyos:

Replying to zavisko:

I have added the screen shot of ffmpeg -i test1.avi (ffmpeg_i_test1.jpg)

Screen shots are not helpful, please add complete, uncut console output (preferable current git head).

sorry but that was the complete output (i have replace the picture with new one which includes surrounding command lines)

how can i include git head in that output?

comment:5 Changed 6 years ago by cehoyos

  • Priority changed from wish to normal
  • Status changed from new to open
  • Version changed from unspecified to git-master
$ ffmpeg -i test1.avi -i test2.avi
ffmpeg version N-39200-gb222c28 Copyright (c) 2000-2012 the FFmpeg developers
  built on Mar 24 2012 08:09:50 with gcc 4.3.2
  configuration: --cc=/usr/local/gcc-4.3.2/bin/gcc --enable-gpl
  libavutil      51. 44.100 / 51. 44.100
  libavcodec     54. 12.100 / 54. 12.100
  libavformat    54.  2.100 / 54.  2.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 65.102 /  2. 65.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  7.100 /  0.  7.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, avi, from 'test1.avi':
  Duration: 00:00:05.92, start: 0.000000, bitrate: 1036 kb/s
    Stream #0:0: Video: mpeg4 (Simple Profile) (XVID / 0x44495658), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 30 tbr, 30 tbn, 30 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16, 96 kb/s
Input #1, avi, from 'test2.avi':
  Metadata:
    title           : oggy and cockroaches
    genre           : animation
    ICNT            : france
  Duration: 00:00:05.92, start: 0.000000, bitrate: 1036 kb/s
    Stream #1:0: Video: mpeg4 (Simple Profile) (XVID / 0x44495658), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 30 tbr, 30 tbn, 30 tbc
    Stream #1:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16, 96 kb/s
At least one output file must be specified

comment:6 Changed 6 years ago by michael

  • Resolution set to fixed
  • Status changed from open to closed
Note: See TracTickets for help on using tickets.