我正在分析我手头问题的多种解决方案:我正在从设备接收图像,我需要从中制作视频文件。然而,图像到达时它们之间有一定的随机延迟,我正在寻找对其进行编码的最佳方法。我必须逐帧创建此视频,并且在每一帧之后我必须使用新帧创建一个新视频文件,替换旧视频文件。
我正在考虑将帧速率固定为比我可能得到的最小延迟“更快”一点,然后重复最后一帧直到新帧到达,但我想这个解决方案并不是最佳的。
另外,这个项目是用 Delphi 制作的(不,我无法更改它),我需要在每一帧之后将这些帧转换为视频文件的方法。我正在考虑使用mencoder http://www.mplayerhq.hu/design7/news.html作为外部工具,但我正在阅读文档,但仍然没有找到使其在已编码的 Motion JPEG 视频文件中插入帧的选项。由于我的图像以 JPEG 形式出现,我认为使用 Motion JPEG 是合理的,但目前还不确定。另外,我不知道mencoder是否可以用作库。如果这样做的话会有很大帮助。
你有什么建议?
有一些媒体容器格式支持可变帧率 http://en.wikipedia.org/wiki/Comparison_of_container_formats,但由于存储开销,我认为 MJPEG 不是一个好的选择。我相信最好的方法是使用 I 帧和 P 帧将 JPEG 帧转码为 MP4 格式。
您可以使用FFMPEG Delphi/FP 头文件 http://www.iversenit.dk/dev/ffmpeg-headers/用于转码。
Edit:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)