I am having trouble getting my builds of ffmbc to render PNG images into videos - yet this worked OK 2 years ago.
I configured and built ffmbc 0.7.4 this way:
built on May 29 2015 11:28:10 with gcc 4.7.2 20120921 (Red Hat 4.7.2-2)
configuration: --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-x11grab --enable-runtime-cpudetect --enable-libmp3lame --enable-libopenjpeg --enable-gpl --enable-frei0r
I am building ffmbc 0.7.4 sources and I have ffmpeg devel headers & libs version 0.10.7
With an older version 0.7-rc8 of ffmbc which I compiled in 2013, the following works fine:
$ ffmbc_201308 -y -f image2 -r 30.000000 -i 36B_C20_03.%04d.png -r 30.000000 -vcodec prores -b 100M test-ffmbc201308.mov
FFmbc version 0.7-rc8
Copyright (c) 2008-2013 Baptiste Coudurier and the FFmpeg developers
Input #0, image2, from '36B_C20_03.%04d.png':
Duration: 00:00:01.50, bitrate: N/A
Stream #0.0(und): Video: png, bgra, 1920x1080p, 30.00 fps
Incompatible pixel format 'bgra' for codec 'prores', auto-selecting format 'yuv422p10le'
[scale @ 0x285ed80] w:1920 h:1080 fmt:bgra -> w:1920 h:1080 fmt:yuv422p10le flags:0x4 il:0
Output #0, mov, to 'test-ffmbc201308.mov':
Metadata:
encoder: FFmbc 0.7
Stream #0.0(und): Video: prores, yuv422p10le, 1920x1080p [PAR 1:1 DAR 16:9], 100000 kb/s, 30.00 fps
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop, [?] for help
frame= 44 fps= 4 q=16.0 size= 18045kB time=00:00:01.46 bitrate=100789.2kbits/s eta=00:00:00.23
[mov @ 0x2865da0] replacing header in front, copying 18.00MB
frame= 45 fps= 4 q=17.0 Lsize= 18434kB time=00:00:01.50 bitrate=100673.3kbits/s
video:18433kB audio:0kB global headers:0kB muxing overhead 0.005383%
But with a recent build of ffmbc 0.7.4, the same operation on the exact same PNG images fails:
$ ffmbc_201505 -y -f image2 -r 30.000000 -i 36B_C20_03.%04d.png -r 30.000000 -vcodec prores -b 100M test-ffmbc201505.mov
FFmbc version 0.7.4
Copyright (c) 2008-2015 Baptiste Coudurier and the FFmpeg developers
Input #0, image2, from '36B_C20_03.%04d.png':
Duration: 00:00:01.50, bitrate: N/A
Stream #0.0(und): Video: unknown (0x0000), 30.00 fps
[buffer @ 0x25e71a0] Invalid pixel format string '-1'
Error opening filters!
I assumed this may be because of stricter rules on image format conversion, so I added explicit image format to the command line,
(yielding the exact same output format which worked OK with ffmbc 0.7-rc8 above) :
$ ffmbc_201505 -y -f image2 -r 30.000000 -pix_fmt bgra -s 1920x1080 -i 36B_C20_03.%04d.png -r 30 -vcodec prores -b 100M -pix_fmt yuv422p10le -s 1920x1080 test-ffmbc201505.mov
FFmbc version 0.7.4
Copyright (c) 2008-2015 Baptiste Coudurier and the FFmpeg developers
Input #0, image2, from '36B_C20_03.%04d.png':
Duration: 00:00:01.50, bitrate: N/A
Stream #0.0(und): Video: unknown (0x0000), bgra, 1920x1080p, 30.00 fps
[scale @ 0x24e7a80] w:1920 h:1080 fmt:bgra -> w:1920 h:1080 fmt:yuv422p10le flags:0x4 il:0
Decoder (codec id 63) not found for input stream #0.0
The problem isn't limited to prores codec. I tried an mpeg4 codec and got the exact same error messages.
When I had trouble, I even tried compiling ffmbc 0.7.4 against older
ffmpeg devel headers and libs version 0.6.3 but that failed too.
I have read that PNG is automatically supported by ffmbc and I didn't see any configure options for PNG.
Why am I gettng these errors now, when my older build of ffmbc 0.7-rc8 was able to decode and convert these same PNG images to video just fine?
A sample of one of my PNG images is attached.
-C Smith