我有一连串的jpeg需要转换为视频(任何类型)。
问题是流几乎是无限的,我不知道任何使用图片创建视频的方法,这些图片不会将整个文件存储在内存中,直到流停止。
有没有办法可以从c#中不断地用位图或jpeg提供FFMPEG,或者至少让ffmpeg从带有+432000图像的文件夹中读取图像(在命令行上)?
请注意,没有声音,图像质量低,它们的速度约为5 FPS,这将在高端笔记本电脑上运行。顺便说一句,我可以提供代码,但我认为目前这是不必要的,因为我只创建位图并保存它们。
答案 0 :(得分:2)
<强>更新强>
您可以根据静态图像创建MJPEG
流。
这是一个用节点编写的示例项目:
https://github.com/psanford/node-mjpeg-test-server/tree/master/resources
如果可能,最好将源配置为直接发送MJPEG。然后,您可以将此流用作输入,并将其实时转码为其他内容。
命令行:
如果您的文件是连续的,例如img000000.jpg,img000001.jpg等,您可以在命令行中使用-pattern_type glob -i '*.jpg'
或-i img%06d.jpg
。