Ticket #1123 (closed defect: fixed)

Opened 14 months ago

Last modified 10 months ago

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

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

Change History

Changed 14 months ago by zavisko

metadata not read correctly

Changed 14 months ago by zavisko

metadata read fine (INFO tag after hdrl)

Changed 14 months ago by zavisko

screenshots with structures and ffprobe outputs

comment:1 Changed 14 months ago by cehoyos

  • Keywords AVI metadata added; AVI, metadata, FourCC, INFO, RIFF removed
  • Component changed from undetermined to avformat

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

comment:2 follow-up: ↓ 3 Changed 14 months 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: ↓ 4 Changed 14 months 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 14 months ago by zavisko

output from "ffmpeg -i test1.avi"

comment:4 in reply to: ↑ 3 Changed 14 months 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 14 months 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 10 months ago by michael

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