我们使用的软件每秒生成 60 个 TGA 文件,我们想用这些文件制作视频。目前我们使用自制的解决方案,但我觉得 ffmpeg 会做得更好。事实上,尽管使用相同的编解码器参数,但从相同的 TGA 文件生成的视频更小。
我们不能等待所有图像文件被创建,因为我们需要这个过程尽可能的快和轻。
如何使用 ffmpeg 对软件动态生成的文件进行视频编码?
答案1
听起来你可以使用管道。cat
作为 TGA 生成器的替代品的示例:
cat *.tga | ffmpeg -y -f image2pipe -c:v targa -pixel_format bgr24 -video_size 320x240 -framerate 24 -frame_size 38781 -i - output.mkv
不幸的是,由于缺少 TARGA 解析器,您必须提前知道每帧的大小(以字节为单位),如FFmpeg Bug #3614:Targa 无法与 image2pipe 配合使用。我猜测每一帧的大小都会相同,因此只需进行测试运行即可获得正确的值。