Opened 8 years ago

Last modified 4 weeks ago

#5771 open defect

avi with defect header won't work

Reported by: the_gamer Owned by:
Priority: important Component: avformat
Version: git-master Keywords: avi regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:
I can't ffmpeg get to cooperate with any videos created with the catcam http://www.mr-lee-catcam.de/
Videos work in vlc, windows media player, mplayer and mencoder can convert them. But ffmpeg won't do anything.

How to reproduce:

$ ffmpeg -c:v avrn -loglevel trace -an -r:v 30 -i PICT0001.AVI -vf scale=640:480 -an katze.mpg
ffmpeg version 3.1.1 Copyright (c) 2000-2016 the FFmpeg developers

built with gcc 6.1.1 (GCC) 20160707
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-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-netcdf --enable-shared --enable-version3 --enable-x11grab
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 48.101 / 57. 48.101
libavformat 57. 41.100 / 57. 41.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 47.100 / 6. 47.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100

Splitting the commandline.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'avrn'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'trace'.
Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'.
Reading option '-r:v' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '30'.
Reading option '-i' ... matched as input file with argument 'PICT0001.AVI'.
Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'scale=640:480'.
Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'.
Reading option 'katze.mpg' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument trace.
Successfully parsed a group of options.
Parsing a group of options: input file PICT0001.AVI.
Applying option c:v (codec name) with argument avrn.
Applying option an (disable audio) with argument 1.
Applying option r:v (set frame rate (Hz value, fraction or abbreviation)) with argument 30.
Successfully parsed a group of options.
Opening an input file: PICT0001.AVI.
[file @ 0x55e8ab72c060] Setting default whitelist 'file,crypto'
Probing avi score:100 size:2048
[avi @ 0x55e8ab72b820] Format avi probed with size=2048 and score=100
[avi @ 0x55e8ab72bf80] use odml:1
pos:14 tag: tag=LIST size=0x154
pos:18 list: tag=hdrl size=0x0
pos:20 tag: tag=avih size=0x38
pos:60 tag: tag=LIST size=0xa4
pos:64 list: tag=strl size=0x0
pos:6C tag: tag=strh size=0x38
pos:74 strh: tag=vids size=0xffffffff
[avi @ 0x55e8ab72b820] 1000000 33333 0
pos:AC tag: tag=strf size=0x28
pos:D4 video: tag=MJPG size=0x0
pos:DC tag: tag=strd size=0x28
pos:10C tag: tag=LIST size=0x5c
pos:110 list: tag=strl size=0x0
pos:118 tag: tag=strh size=0x38
pos:120 strh: tag=auds size=0xffffffff
[avi @ 0x55e8ab72b820] scale/rate is 1/0 which is invalid. (This file has been generated by broken software.)
[avi @ 0x55e8ab72b820] 1000000 33333 1
pos:158 tag: tag=strf size=0x10
[avi @ 0x55e8ab72b820] Invalid sample rate: 0
[AVIOContext @ 0x55e8ab7343a0] Statistics: 32768 bytes read, 0 seeks
PICT0001.AVI: Invalid data found when processing input

Attachments (1)

PICT0009_cut.AVI (2.4 MB ) - added by Carl Eugen Hoyos 8 years ago.

Change History (8)

comment:1 by Carl Eugen Hoyos, 8 years ago

Component: undeterminedavformat
Keywords: avi added

Please provide a sample video.

comment:2 by the_gamer, 8 years ago

comment:3 by Carl Eugen Hoyos, 8 years ago

Keywords: regression added
Priority: normalimportant
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

Regression since 5badcfe2 / d07aa3f0

by Carl Eugen Hoyos, 8 years ago

Attachment: PICT0009_cut.AVI added

comment:4 by robijn, 5 years ago

Priority: importantminor
Type: defectenhancement

VLC also tells me the header is defective.
This is a bug in catcam, not in ffmpeg. Send them a bug report.

comment:5 by Carl Eugen Hoyos, 5 years ago

Priority: minorimportant

comment:6 by Carl Eugen Hoyos, 5 years ago

Type: enhancementdefect

in reply to:  4 comment:7 by Bonesy, 4 weeks ago

Replying to robijn:

VLC also tells me the header is defective.
This is a bug in catcam, not in ffmpeg. Send them a bug report.

That may be so, but the beauty of ffmpeg is that it can usually handle these situations. And an example was attached so that devs can figure out how exactly to handle this since playback works fine. A warning message would be nice, but if processing can still occur that would be ideal. Sometimes you just want to get it away from the avi format and into something else that doesn't have errors.

Note: See TracTickets for help on using tickets.