[FFmpeg-user] Image sequence to h264 anything but grayscale is black

Paul B Mahol onemda at gmail.com
Wed Oct 31 04:06:34 CET 2012


On 10/31/12, Dave P <lists.davep at gmail.com> wrote:
> On Oct 30, 2012 9:42 PM, "Damon Edwards" <dzedward at gmail.com> wrote:
>>
>> When compiling an image sequence of pngs to h264, if the image has any
>> color the resulting video is all black frames. If the images don't have
>> color (grayscale) the video plays perfect. Am I missing some dependency
>> or
>> something? Any help is greatly appreciated!
>>
>> Below are the two outputs of ffmpeg. It's the same mp3, and the same
>> image
>> sequence for both of these except one batch is color and one is
>> grayscale.
>>
>> ffmpeg -i audio.mp3 -f image2 -r 24 -i %6d.png -vcodec libx264 -acodec
>> libfaac -ab "96k" -ac 2 -b:v "780K" -y output.mp4
>>
>> Color Images Output (results in black image for the duration of the
>> video,
>> audio plays)
>> _____________________________________________________________
>>
>> ffmpeg version N-46203-g1730dcf Copyright (c) 2000-2012 the FFmpeg
>> developers
>>   built on Oct 30 2012 23:48:35 with gcc 4.4.6 (GCC) 20120305 (Red Hat
>> 4.4.6-4)
>>   configuration: --enable-gpl --enable-libmp3lame --enable-libtheora
>> --enable-libvo-aacenc --enable-libvorbis --enable-libvpx --enable-libx264
>> --enable-version3 --enable-libfaac --enable-nonfree --enable-libfreetype
>> --enable-libass
>>   libavutil      52.  1.100 / 52.  1.100
>>   libavcodec     54. 70.100 / 54. 70.100
>>   libavformat    54. 35.100 / 54. 35.100
>>   libavdevice    54.  3.100 / 54.  3.100
>>   libavfilter     3. 20.113 /  3. 20.113
>>   libswscale      2.  1.101 /  2.  1.101
>>   libswresample   0. 16.100 /  0. 16.100
>>   libpostproc    52.  1.100 / 52.  1.100
>> [mp3 @ 0x2e0f240] Estimating duration from bitrate, this may be
>> inaccurate
>> Input #0, mp3, from 'audio.mp3':
>>   Metadata:
>>     major_brand     : qt
>>     minor_version   : 0
>>     compatible_brands: qt
>>     date-eng        : 2012-10-30T17:57:02-0700
>>     date            : 2012-10-30T17:57:02-0700
>>     encoder-eng     : 6.0
>>     encoder         : Lavf54.35.100
>>   Duration: 00:00:00.75, start: 0.000000, bitrate: 128 kb/s
>>     Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
>> Input #1, image2, from '%6d.png':
>>   Duration: 00:00:05.28, start: 0.000000, bitrate: N/A
>>     Stream #1:0: Video: png, rgb24, 480x360, 24 fps, 24.02 tbr, 24.02
>> tbn,
>> 24.02 tbc
>> [libx264 @ 0x2e26720] using cpu capabilities: MMX2 SSE2Fast SSSE3
>> FastShuffle SSE4.2
>> [libx264 @ 0x2e26720] profile High 4:4:4 Predictive, level 2.1, 4:4:4
> 8-bit
>> [libx264 @ 0x2e26720] 264 - core 128 r2216 198a7ea - H.264/MPEG-4 AVC
> codec
>> - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options:
> cabac=0
>> ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=0 mixed_ref=0
>> me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11
>> fast_pskip=0 chroma_qp_offset=0 threads=3 lookahead_threads=1
>> sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0
>> constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=24
> scenecut=0
>> intra_refresh=0 rc=cqp mbtree=0 qp=0
>> Output #0, mp4, to 'output.mp4':
>>   Metadata:
>>     major_brand     : qt
>>     minor_version   : 0
>>     compatible_brands: qt
>>     date-eng        : 2012-10-30T17:57:02-0700
>>     date            : 2012-10-30T17:57:02-0700
>>     encoder-eng     : 6.0
>>     encoder         : Lavf54.35.100
>>     Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv444p, 480x360,
>> q=-1--1, 19216 tbn, 24.02 tbc
>>     Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo,
>> s16, 96 kb/s
>> Stream mapping:
>>   Stream #1:0 -> #0:0 (png -> libx264)
>>   Stream #0:0 -> #0:1 (mp3 -> libfaac)
>> Press [q] to stop, [?] for help
>>
>
> [Snip]
>
>>
>> Grayscale Images Output (works, both video and audio)
>> _____________________________________________________________
>>
>> ffmpeg version N-46203-g1730dcf Copyright (c) 2000-2012 the FFmpeg
>> developers
>>   built on Oct 30 2012 23:48:35 with gcc 4.4.6 (GCC) 20120305 (Red Hat
>> 4.4.6-4)
>>   configuration: --enable-gpl --enable-libmp3lame --enable-libtheora
>> --enable-libvo-aacenc --enable-libvorbis --enable-libvpx --enable-libx264
>> --enable-version3 --enable-libfaac --enable-nonfree --enable-libfreetype
>> --enable-libass
>>   libavutil      52.  1.100 / 52.  1.100
>>   libavcodec     54. 70.100 / 54. 70.100
>>   libavformat    54. 35.100 / 54. 35.100
>>   libavdevice    54.  3.100 / 54.  3.100
>>   libavfilter     3. 20.113 /  3. 20.113
>>   libswscale      2.  1.101 /  2.  1.101
>>   libswresample   0. 16.100 /  0. 16.100
>>   libpostproc    52.  1.100 / 52.  1.100
>> [mp3 @ 0x2263240] max_analyze_duration 5000000 reached at 5015510
>> Input #0, mp3, from 'audio.mp3':
>>   Metadata:
>>     major_brand     : qt
>>     minor_version   : 0
>>     compatible_brands: qt
>>     date-eng        : 2012-10-30T17:57:02-0700
>>     date            : 2012-10-30T17:57:02-0700
>>     encoder-eng     : 6.0
>>     encoder         : Lavf54.35.100
>>   Duration: 00:00:05.32, start: 0.000000, bitrate: 128 kb/s
>>     Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
>> Input #1, image2, from '%6d.png':
>>   Duration: 00:00:05.28, start: 0.000000, bitrate: N/A
>>     Stream #1:0: Video: png, gray, 480x360, 24 fps, 24.02 tbr, 24.02 tbn,
>> 24.02 tbc
>> [libx264 @ 0x227b7e0] using cpu capabilities: MMX2 SSE2Fast SSSE3
>> FastShuffle SSE4.2
>> [libx264 @ 0x227b7e0] profile High, level 2.1
>> [libx264 @ 0x227b7e0] 264 - core 128 r2216 198a7ea - H.264/MPEG-4 AVC
> codec
>> - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options:
> cabac=1
>> ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1
> psy_rd=1.00:0.00
>> mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0
> deadzone=21,11
>> fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1
>> 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=2 keyint=250 keyint_min=24 scenecut=40
>> intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=829 ratetol=1.0
>> qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
>> Output #0, mp4, to 'output.mp4':
>>   Metadata:
>>     major_brand     : qt
>>     minor_version   : 0
>>     compatible_brands: qt
>>     date-eng        : 2012-10-30T17:57:02-0700
>>     date            : 2012-10-30T17:57:02-0700
>>     encoder-eng     : 6.0
>>     encoder         : Lavf54.35.100
>>     Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuvj420p, 480x360,
>
> The color batch of images is 4:4:4 while the grayscale batch is 4:2:0.  I
> don't think x264 can handle 4:4:4.  See option -pix_fmt.

x264 can encode 4:4:4 just fine, but not all players can handle it.


More information about the ffmpeg-user mailing list