4

我正在分析我手头的问题的许多解决方案:我正在从设备接收图像,我需要从中制作视频文件。但是,图像到达时会有一些随机延迟,我正在寻找最好的编码方式。我必须逐帧创建这个视频,并且在每一帧之后我必须有一个带有新帧的新视频文件,替换旧的视频文件。

我正在考虑将帧速率固定为比我可能获得的最小延迟“更快”一点,然后重复最后一帧直到新的帧到达,但我猜这个解决方案不是最佳的。

此外,这个项目是用 Delphi 制作的(不,我不能改变它),我需要在每一帧之后将这些帧转换为视频文件。我正在考虑使用mencoder作为外部工具,但我正在阅读文档,但仍然没有找到让它在已经编码的 Motion JPEG 视频文件中插入帧的选项。由于我的图像以 JPEG 格式出现,我认为使用 Motion JPEG 是合理的,但目前还不确定。另外,我不知道 mencoder 是否可以用作库。如果这样做会很有帮助。

你有什么建议?

4

1 回答 1

2

有一些媒体容器格式支持可变帧率,但我不认为 MJPEG 是一个好的选择,因为存储开销很大。我相信最好的方法是同时使用 I 帧和 P 帧将 JPEG 帧转码为 MP4 格式。

您可以使用FFMPEG Delphi/FP 头文件进行转码。

编辑:

最新版本的 FFMPEG 标头可以在 SourceForge.net 上的 GLScene 存储库中找到。要查看文件,您可以使用此链接

于 2012-03-06T19:28:24.717 回答