2
I'm having a problem converting Uncompressed AVI files with ffmpeg. I can convert a .mp4
video without issue, but when I attempt to run the same command on an uncompressed .avi
everything looks fine, but I get an error in Windows Media Player and blank video in QuickTime when I try to play the output file. Here is the command I'm using:
ffmpeg -i "Uncompressed.avi" -c:v libx264 -t 00:00:20 -crf 22 -preset superfast -an test.mp4
And here is the full output from that command:
ffmpeg version N-54933-g1af9211 Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 25 2013 18:05:50 with gcc 4.7.3 (GCC)
configuration: --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-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 40.100 / 52. 40.100
libavcodec 55. 19.100 / 55. 19.100
libavformat 55. 12.102 / 55. 12.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 81.103 / 3. 81.103
libswscale 2. 4.100 / 2. 4.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, avi, from 'Uncompressed.avi':
Metadata:
date : 2012-04-16T16:02:12.00409-07:00
Duration: 00:02:22.93, start: 0.000000, bitrate: 1199367 kb/s
Stream #0:0: Video: rawvideo, bgr24, 1920x1080, 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0:1: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 96000 Hz, stereo, flt, 6144 kb/s
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 00000000025ea020] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 00000000025ea020] profile High 4:4:4 Predictive, level 4.0, 4:4:4 8-bit
[libx264 @ 00000000025ea020] 264 - core 135 r2345 f0c1c53 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x3 me=dia subme=1 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=6 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=22.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 pb_ratio=1.30 aq=1:1.00
Output #0, mp4, to 'test.mp4':
Metadata:
date : 2012-04-16T16:02:12.00409-07:00
encoder : Lavf55.12.102
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv444p, 1920x1080, q=-1--1, 24k tbn, 23.98 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo -> libx264)
Press [q] to stop, [?] for help
frame= 32 fps=0.0 q=22.0 size= 820kB time=00:00:00.45 bitrate=14645.3kbits/s
frame= 62 fps= 62 q=22.0 size= 2474kB time=00:00:01.71 bitrate=11852.2kbits/s
frame= 92 fps= 61 q=22.0 size= 4136kB time=00:00:02.96 bitrate=11442.9kbits/s
frame= 123 fps= 61 q=24.0 size= 5874kB time=00:00:04.25 bitrate=11310.2kbits/s
frame= 155 fps= 61 q=24.0 size= 7631kB time=00:00:05.58 bitrate=11185.4kbits/s
frame= 186 fps= 61 q=22.0 size= 9328kB time=00:00:06.88 bitrate=11103.7kbits/s
frame= 218 fps= 61 q=24.0 size= 11103kB time=00:00:08.21 bitrate=11069.8kbits/s
frame= 250 fps= 61 q=22.0 size= 12228kB time=00:00:09.55 bitrate=10488.3kbits/s
frame= 280 fps= 61 q=24.0 size= 13834kB time=00:00:10.80 bitrate=10490.9kbits/s
frame= 310 fps= 61 q=22.0 size= 15500kB time=00:00:12.05 bitrate=10534.0kbits/s
frame= 341 fps= 61 q=24.0 size= 17411kB time=00:00:13.34 bitrate=10686.4kbits/s
frame= 371 fps= 61 q=22.0 size= 18649kB time=00:00:14.59 bitrate=10465.5kbits/s
frame= 399 fps= 60 q=22.0 size= 19228kB time=00:00:15.76 bitrate=9990.8kbits/s
frame= 429 fps= 60 q=24.0 size= 20222kB time=00:00:17.01 bitrate=9735.0kbits/s
frame= 459 fps= 60 q=24.0 size= 21208kB time=00:00:18.26 bitrate=9510.4kbits/s
frame= 480 fps= 60 q=-1.0 Lsize= 22173kB time=00:00:19.93 bitrate=9110.9kbits/s
video:22167kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.026926%
[libx264 @ 00000000025ea020] frame I:3 Avg QP:15.88 size:141142
[libx264 @ 00000000025ea020] frame P:260 Avg QP:18.80 size: 66756
[libx264 @ 00000000025ea020] frame B:217 Avg QP:21.90 size: 22664
[libx264 @ 00000000025ea020] consecutive B-frames: 21.7% 51.7% 7.5% 19.2%
[libx264 @ 00000000025ea020] mb I I16..4: 17.4% 50.9% 31.7%
[libx264 @ 00000000025ea020] mb P I16..4: 12.1% 14.3% 1.5% P16..4: 58.3% 0.0% 0.0% 0.0% 0.0% skip:13.7%
[libx264 @ 00000000025ea020] mb B I16..4: 4.8% 2.3% 0.1% B16..8: 19.5% 0.0% 0.0% direct:22.6% skip:50.6% L0:28.2% L1:43.6% BI:28.2%
[libx264 @ 00000000025ea020] 8x8 transform intra:48.0% inter:54.1%
[libx264 @ 00000000025ea020] coded y,u,v intra: 75.6% 9.0% 8.7% inter: 30.6% 2.1% 1.6%
[libx264 @ 00000000025ea020] i16 v,h,dc,p: 19% 11% 60% 9%
[libx264 @ 00000000025ea020] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 10% 19% 35% 5% 5% 5% 7% 4% 8%
[libx264 @ 00000000025ea020] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 26% 14% 7% 6% 6% 7% 5% 8%
[libx264 @ 00000000025ea020] Weighted P-Frames: Y:13.1% UV:1.5%
[libx264 @ 00000000025ea020] kb/s:9070.21
My gut feeling is that my AVI file is just too massive. It's a little over 2 minutes long and 19.9 GB. I've tried it on two similar AVI files with the same result. Any ideas on what I should try to resolve this issue?
2The problem is the
bgr24
color space which gets converted toyuv444p
, something most players cannot display. See my answer to the duplicate, you need to add-pix_fmt yuv420p
. – slhck – 2013-07-27T06:49:25.563Brilliant! Thanks for your help, and sorry I missed the original question when I did my initial search. – Dominic P – 2013-07-28T02:21:45.627
No worries – it's easy to overlook. I just found out that recent-ish
ffmpeg
actually displaysUse -pix_fmt yuv420p for compatibility with outdated media players
in your output. But I've asked the developers if it was possible to raise the error level of this message to a warning (yellow) to make it more prominent. – slhck – 2013-07-28T06:22:31.807