[FFmpeg-trac] #3662(undetermined:new): Corrupt media file causes ffmpeg to output confusing error messages about "options"
FFmpeg
trac at avcodec.org
Thu May 22 14:38:46 CEST 2014
#3662: Corrupt media file causes ffmpeg to output confusing error messages about
"options"
-------------------------------------+-------------------------------------
Reporter: b_jonas | Type: defect
Status: new | Priority: minor
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Dear ffmpeg team!
This report demonstrates an example when reading a corrupt media file
causes ffmpeg to output confusing error messages. The media file is known
to be wrong, you should not be able to play it. However, ffmpeg outputs
such error messages that suggest the error is in the command-line options
I gave to ffmpeg. In particular, notice the two lines
> [graph 0 input from stream 0:0 @ 000000000063be20] Setting 'pix_fmt' to
value '-1'
> [buffer @ 000000000051aa40] Unable to parse option
value "-1" as pixel format
which I thought would refer to the command-line options I gave. Further,
these messages are errors, not merely warnings (I'm sort of used to seeing
warnings about color space or frame rate when reading jpeg files by now).
To reproduce the problem, I have uploaded the file pix_fmt_unknown.mp4 to
the ftp server "ftp://upload.ffmpeg.org/incoming". I have tried to save
the first frame of this video with the command line
> ffmpeg -v 99 -report -i tmp/pix_fmt_unknown.mp4 -frames 1 -pix_fmt gray
-y tmp/sampl0.png
which gives the above mentioned error messages. This has happened on
Windows x86_64. Below I reproduce the entire log file.
ffmpeg started on 2014-05-22 at 14:25:56
Report written to "ffmpeg-20140522-142556.log"
Command line:
"E:\\ambrus\\local\\ffmpeg-20140429-git-
21c7e99-win64-shared\\bin\\ffmpeg.exe" -v 99 -report -i
tmp/pix_fmt_unknown.mp4 -frames 1 -pix_fmt gray -y tmp/sampl0.png
ffmpeg version N-62777-g21c7e99 Copyright (c) 2000-2014 the FFmpeg
developers
built on Apr 28 2014 22:12:47 with gcc 4.8.2 (GCC)
configuration: --disable-static --enable-shared --enable-gpl --enable-
version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-
fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass
--enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm
--enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-
libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-librtmp --enable-libschroedinger --enable-
libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-
libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-
libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
libavutil 52. 79.100 / 52. 79.100
libavcodec 55. 59.101 / 55. 59.101
libavformat 55. 37.101 / 55. 37.101
libavdevice 55. 13.100 / 55. 13.100
libavfilter 4. 4.100 / 4. 4.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with
argument '99'.
Reading option '-report' ... matched as option 'report' (generate a
report) with argument '1'.
Reading option '-i' ... matched as input file with argument
'tmp/pix_fmt_unknown.mp4'.
Reading option '-frames' ... matched as option 'frames' (set the number of
frames to record) with argument '1'.
Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
format) with argument 'gray'.
Reading option '-y' ... matched as option 'y' (overwrite output files)
with argument '1'.
Reading option 'tmp/sampl0.png' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 99.
Applying option report (generate a report) with argument 1.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input file tmp/pix_fmt_unknown.mp4.
Successfully parsed a group of options.
Opening an input file: tmp/pix_fmt_unknown.mp4.
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000052c480] Format
mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000052c480] ISO: File Type Major Brand:
isom
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000052c480] Before
avformat_find_stream_info() pos: 1422165 bytes read:1454854 seeks:0
[h264 @ 000000000063efc0] AVC: Consumed only 7831 bytes instead of 8812
[h264 @ 000000000063efc0] Frame num gap 5 3
[h264 @ 000000000063efc0] bytestream overread -7
[h264 @ 000000000063efc0] error while decoding MB 64 57, bytestream -7
[h264 @ 000000000063efc0] Cannot use next picture in error concealment
[h264 @ 000000000063efc0] concealing 545 DC, 545 AC, 545 MV errors in P
frame
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[h264 @ 000000000063efc0] AVC: nal size 0
[h264 @ 000000000063efc0] no frame!
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000052c480] decoding for stream 1 failed
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000052c480] Could not find codec
parameters for stream 0 (Video: h264 (avc1 / 0x31637661), 1280x1024,
1/2000000): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000052c480] After
avformat_find_stream_info() pos: 2151250 bytes read:2097153 seeks:1
frames:61
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tmp/pix_fmt_unknown.mp4':
Metadata:
major_brand : isom
minor_version : 0
compatible_brands: mp41avc1qt
creation_time : 2014-05-17 08:22:35
encoder : vlc 2.1.3 stream output
encoder-eng : vlc 2.1.3 stream output
Duration: 01:25:32.53, start: 0.000000, bitrate: 3 kb/s
Stream #0:0(eng), 0, 1/1000000: Video: h264 (avc1 / 0x31637661),
1280x1024, 1/2000000, 1000k tbr, 1000k tbn, 2000k tbc (default)
Metadata:
creation_time : 2014-05-17 08:22:35
handler_name : VideoHandler
Stream #0:1(eng), 61, 1/1000000: Video: h264 (Main) (avc1 /
0x31637661), yuv420p(tv, bt470bg), 1280x1024, 1001/60000, 1747 kb/s, 25.01
fps, 29.97 tbr, 1000k tbn, 59.94 tbc (default)
Metadata:
creation_time : 2014-05-17 08:22:35
handler_name : VideoHandler
Successfully opened the file.
Parsing a group of options: output file tmp/sampl0.png.
Applying option frames (set the number of frames to record) with argument
1.
Applying option pix_fmt (set pixel format) with argument gray.
Successfully parsed a group of options.
Opening an output file: tmp/sampl0.png.
Successfully opened the file.
detected 4 logical cores
[graph 0 input from stream 0:0 @ 000000000063be20] Setting 'video_size' to
value '1280x1024'
[graph 0 input from stream 0:0 @ 000000000063be20] Setting 'pix_fmt' to
value '-1'
[buffer @ 000000000051aa40] Unable to parse option value "-1" as pixel
format
[graph 0 input from stream 0:0 @ 000000000063be20] Setting 'time_base' to
value '1/1000000'
[graph 0 input from stream 0:0 @ 000000000063be20] Setting 'pixel_aspect'
to value '0/1'
[graph 0 input from stream 0:0 @ 000000000063be20] Setting 'sws_param' to
value 'flags=2'
[graph 0 input from stream 0:0 @ 000000000063be20] Setting 'frame_rate' to
value '2000000/2'
[buffer @ 000000000051aa40] Unable to parse option value "-1" as pixel
format
[buffer @ 000000000051aa40] Error setting option pix_fmt to value -1.
[graph 0 input from stream 0:0 @ 000000000063be20] Error applying options
to the filter.
Error opening filters!
[AVIOContext @ 0000000000534ae0] Statistics: 2097153 bytes read, 1 seeks
Conversion failed!
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3662>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list