使用 FFMPEG 编码实时位图流
Encoding a live stream of bitmaps using FFMPEG
我有源源不断的 jpeg 图片需要转换成视频(任何类型)。
问题是流实际上是无限的,我不知道使用图片创建视频的任何方法,这些图片在流停止之前不会将整个文件存储在内存中..
有没有一种方法可以让我从 C# 中不断地为 FFMPEG 提供位图或 jpeg,或者至少让 ffmpeg 从包含 +432000 张图像的文件夹中读取图像(在命令行上)?
请注意,不会有声音,图像质量低下,帧率约为 5 FPS,这在高端笔记本电脑上会 运行。顺便说一句,我可以提供代码,但我认为目前这是不必要的,因为我只是创建位图并保存它们。
更新:
您可以根据静态图像创建 MJPEG
流。
这是一个用 node 编写的示例项目:
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
。
我有源源不断的 jpeg 图片需要转换成视频(任何类型)。
问题是流实际上是无限的,我不知道使用图片创建视频的任何方法,这些图片在流停止之前不会将整个文件存储在内存中..
有没有一种方法可以让我从 C# 中不断地为 FFMPEG 提供位图或 jpeg,或者至少让 ffmpeg 从包含 +432000 张图像的文件夹中读取图像(在命令行上)?
请注意,不会有声音,图像质量低下,帧率约为 5 FPS,这在高端笔记本电脑上会 运行。顺便说一句,我可以提供代码,但我认为目前这是不必要的,因为我只是创建位图并保存它们。
更新:
您可以根据静态图像创建 MJPEG
流。
这是一个用 node 编写的示例项目:
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
。