作者:qixian0392_648 | 来源:互联网 | 2023-01-16 21:08
我正在尝试编写一个将PNG数据传输到FFMPEG并将其呈现为视频的程序。该程序的视频输出无效,因此我将PNG屏幕截图用作调试输入。
屏幕截图是在任何图像查看器中均可正常打开的所有有效PNG文件。但是,当我运行命令时:
cat 2017*.png | ./ffmpeg -f image2pipe -r 1 -vcodec png -i - -vcodec libx264 out.mp4
我确实从目录中的2017年开始获得了一个视频输出,其中每个屏幕截图都有1秒的视频。但是,该视频完全为黑色,并且在开始播放视频后立即完成。(不是每一帧一秒或一帧)。
如果有任何区别,这是在Windows的MSYS上,使用Windows版本的FFMPEG。
我可以更改什么,以便实际上可以通过管道输入制作视频?我的第一个猜测是它可能与错误的args或缺少适当的编解码器有关。
1> llogan..:
cat 2017*.png | ./ffmpeg -f image2pipe -framerate 1 -i - -c:v libx264 -vf format=yuv420p -r 25 out.mp4
使用-framerate
input选项代替-r
image2pipe多路分配器。
许多播放器都无法使用如此低的帧频MP4。添加-r
输出选项以使其具有更正常的输出速率。ffmpeg
将复制帧以进行匹配,但看起来仍然是1 fps。
添加-vf format=yuv420p
(或别名-pix_fmt yuv420p
)以使输出使用广泛兼容的像素格式。