Я борюсь с чем-то в FFMpeg на данный момент ...
Я пытаюсь сделать файлы MXF DNxHD 1080p / 24, 36 Мбит / с из последовательности файлов PNG.
Моя текущая командная строка:
ffmpeg -y -f image2 -i /tmp/temp.%04d.png -s 1920x1080 -r 24 -vcodec dnxhd -f mxf -pix_fmt rgb32 -b 36Mb /tmp/temp.mxf
На что ffmpeg дает мне вывод:
Input #0, image2, from '/tmp/temp.%04d.png': Duration: 00:00:01.60, start: 0.000000, bitrate: N/A Stream #0.0: Video: png, rgb32, 1920x1080, 25 tbr, 25 tbn, 25 tbc Output #0, mxf, to '/tmp/temp.mxf': Stream #0.0: Video: dnxhd, yuv422p, 1920x1080, q=2-31, 36000 kb/s, 90k tbn, 24 tbc Stream mapping: Stream #0.0 -> #0.0 [mxf @ 0x1005800]unsupported video frame rate Could not write header for output file #0 (incorrect codec parameters ?)
Здесь есть несколько вещей, которые меня беспокоят:
- Выходной поток настаивает на том, чтобы быть yuv422p, который не поддерживает альфа.
- 24fps - это неподдерживаемая частота кадров видео? Я тоже попробовал 23.976 и получил то же самое.
Затем я попытался сделать то же самое, но быстро записал (хотя и DNxHD):
ffmpeg -y -f image2 -i /tmp/temp.%04d.png -s 1920x1080 -r 24 -vcodec dnxhd -f mov -pix_fmt rgb32 -b 36Mb /tmp/temp.mov
Это дает мне вывод:
Input #0, image2, from '/tmp/1274263259.28098.%04d.png': Duration: 00:00:01.60, start: 0.000000, bitrate: N/A Stream #0.0: Video: png, rgb32, 1920x1080, 25 tbr, 25 tbn, 25 tbc Output #0, mov, to '/tmp/1274263259.28098.mov': Stream #0.0: Video: dnxhd, yuv422p, 1920x1080, q=2-31, 36000 kb/s, 90k tbn, 24 tbc Stream mapping: Stream #0.0 -> #0.0 Press [q] to stop encoding frame= 39 fps= 9 q=1.0 Lsize= 7177kB time=1.62 bitrate=36180.8kbits/s video:7176kB audio:0kB global headers:0kB muxing overhead 0.013636%
Который, очевидно, работает в определенной степени, но все еще имеет проблему с yuv422p и, следовательно, с потерей альфы.
Если я собираюсь в QuickTime, то я могу получить то, что мне нужно, используя Shake, но моя главная цель здесь - иметь возможность создавать файлы .mxf.
Какие-нибудь мысли?
Спасибо