Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#557 closed defect (fixed)

FFMEG can't decode avi file

Reported by: bf4648 Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: h264 avi
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Attempting to decode avi file in order to re-encode in another format and I'm getting the following errors each time:

avi @ 0x16807c0] Something went wrong during header parsing, I will ignore it and try to continue anyway.
[avi @ 0x16807c0] parser not found for codec none, packets or times may be invalid.
[avi @ 0x16807c0] max_analyze_duration 5000000 reached at 5000000

Attachments (1)

test2 (41.1 KB ) - added by bf4648 12 years ago.

Download all attachments as: .zip

Change History (16)

comment:1 by Carl Eugen Hoyos, 12 years ago

ffmpeg command line, complete, uncut output and sample missing.

by bf4648, 12 years ago

Attachment: test2 added

comment:2 by bf4648, 12 years ago

Here's my full command line info:

ffmpeg version N-33353-g3775af0, Copyright (c) 2000-2011 the FFmpeg developers

built on Oct 7 2011 17:36:44 with gcc 4.5.2
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
libavutil 51. 20. 0 / 51. 20. 0
libavcodec 53. 19. 1 / 53. 19. 1
libavformat 53. 14. 0 / 53. 14. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 43. 6 / 2. 43. 6
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0

[avi @ 0x2f217c0] parser not found for codec none, packets or times may be invalid.
[avi @ 0x2f217c0] Could not find codec parameters (Video: none (Q264 / 0x34363251), 1280x960)

comment:3 by Carl Eugen Hoyos, 12 years ago

Component: undeterminedavformat
Keywords: h264 added; decode removed
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit-master

How was this sample produced?

comment:4 by bf4648, 12 years ago

Video was taken from a QNAP security camera. I can play the video in windows media player in windows after downloading their codex from the following website:

http://www.qnap.com/USEng/download.asp?pl=2&p_mn=123

It is the QNAP AV Codec (near the bottom of the page), here's the direct link to it:

http://eu1.qnap.com/Surveillance/Utility/QCodecInst_1.0.0.19220.zip

I need to be able to convert the video that was created in that codec to mp4 container and re-encode the audio and video into a non-proprietary codec.

Last edited 12 years ago by bf4648 (previous) (diff)

comment:5 by Carl Eugen Hoyos, 12 years ago

Resolution: fixed
Status: openclosed

Thank you for the report, fixed in git head.

The codec is not proprietary (it is AVC), you can simply remux the stream with -vcodec copy.
(There is no audio in your sample afaict.)

comment:6 by bf4648, 12 years ago

Alright, I'm really new w/ ffmpeg so I apologize. What steps should I take now that you told me this with that video in order to decode it? I assume I need to re-install the ffmpeg from source and then perform the following command:

ffmpeg -i -avcodec copy

and then something else? What is the something else?

comment:7 by bf4648, 12 years ago

Here is what I get w/ ffmpeg -i test2 -vcodec copy:

/Desktop$ ffmpeg -i test2 -vcodec copy
ffmpeg version N-33353-g3775af0, Copyright (c) 2000-2011 the FFmpeg developers

built on Oct 7 2011 17:36:44 with gcc 4.5.2
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
libavutil 51. 20. 0 / 51. 20. 0
libavcodec 53. 19. 1 / 53. 19. 1
libavformat 53. 14. 0 / 53. 14. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 43. 6 / 2. 43. 6
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0

[avi @ 0x29fc7c0] parser not found for codec none, packets or times may be invalid.
[avi @ 0x29fc7c0] Could not find codec parameters (Video: none (Q264 / 0x34363251), 1280x960)
test2: could not find codec parameters

in reply to:  7 comment:8 by Carl Eugen Hoyos, 12 years ago

Replying to bf4648:

ffmpeg version N-33353-g3775af0, Copyright (c) 2000-2011 the FFmpeg developers

This was the version that originally failed, the file can be decoded now, but you have to update to current git head.

(Normally, ffmpeg -i test2 -vcodec copy out.mp4 should remux into mp4, unfortunately, this does not work for your stream, only other containers - like avi and mkv - work.)

comment:9 by bf4648, 12 years ago

Alright, so your saying even if I update to the current git head I still won't be able to remux into mp4? How can players like VLC and GOM player that use ffmpeg to decode videos decode the videos and then re-encode both audio and video streams into other formats as well as mp4? Could I remux into .avi format and performing the ffmpeg -i test2 -vcodec copy out.avi and then do another ffmpeg -i test2 -vcodec copy out.mp4? Sorry for all the questions but I'll got like 20,000 files to convert and I really need a solution.

Thanks,

comment:10 by Carl Eugen Hoyos, 12 years ago

Reencoding works fine with current FFmpeg.

comment:11 by zauq, 12 years ago

Thanks for the fix. I am using version N-33698-g6bca574 but getting the same issue. Can you post here the version where the fix has been placed?

in reply to:  9 comment:12 by zauq, 12 years ago

Replying to bf4648:

Alright, so your saying even if I update to the current git head I still won't be able to remux into mp4? How can players like VLC and GOM player that use ffmpeg to decode videos decode the videos and then re-encode both audio and video streams into other formats as well as mp4? Could I remux into .avi format and performing the ffmpeg -i test2 -vcodec copy out.avi and then do another ffmpeg -i test2 -vcodec copy out.mp4? Sorry for all the questions but I'll got like 20,000 files to convert and I really need a solution.

Thanks,

So could you finally make it run? Does it work with the new build?

Thanks.

comment:13 by Carl Eugen Hoyos, 12 years ago

Please provide (your failing command line and) complete, uncut console output.

in reply to:  13 ; comment:14 by zauq, 12 years ago

Replying to cehoyos:

Please provide (your failing command line and) complete, uncut console output.

Thanks for the response.

Command Line::
ffmpeg -i test.avi -vcodec copy out.avi

and this is what I'm getting on console:

ffmpeg version N-33698-g6bca574, Copyright (c) 2000-2011 the FFmpeg developers

built on Oct 16 2011 13:37:16 with gcc 4.6.1
configuration: --enable-gpl --enable-version3 --enable-runtime-cpudetect --ena

ble-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --ena
ble-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --en
able-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib

libavutil 51. 21. 0 / 51. 21. 0
libavcodec 53. 20. 1 / 53. 20. 1
libavformat 53. 16. 0 / 53. 16. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 43. 6 / 2. 43. 6
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0

[avi @ 0000000001BBD020] Something went wrong during header parsing, I will igno
re it and try to continue anyway.
[avi @ 0000000001BBD020] parser not found for codec none, packets or times may b
e invalid.
[avi @ 0000000001BBD020] max_analyze_duration 5000000 reached at 5000000
Input #0, avi, from 'test.avi':

Duration: 00:04:59.93, start: 0.000000, bitrate: 3172 kb/s

Stream #0:0: Video: none (8[0][0][0] / 0x0038), 94x1819440243, 30 fps, 30 tb

r, 30 tbn, 30 tbc
Output #0, avi, to 'out.avi':

in reply to:  14 comment:15 by Carl Eugen Hoyos, 12 years ago

Replying to zauq:

ffmpeg version N-33698-g6bca574, Copyright (c) 2000-2011 the FFmpeg developers

Please test current git head.

Note: See TracTickets for help on using tickets.