我正在分析我手头的问题的一些解决方案:我正在从设备接收图像,我需要制作一个视频文件.然而,图像到达时它们之间有一些随机的延迟,我正在寻找编码它的最佳方法.我必须逐帧创建这个视频,并且在每帧之后我必须有一个带有新帧的新视频文件,替换旧的视频文件.
我正在考虑将帧速率设置为比我可能获得的最小延迟稍微“更快”,并且只重复最后一帧直到新的帧到达,但我想这个解决方案不是最佳的.
此外,这个项目是用Delphi制作的(不,我不能改变它),我需要在每帧之后将这些帧转换成视频文件的方法.我正在考虑使用mencoder作为外部工具,但我正在阅读文档,但仍未找到使其在已编码的Motion JPEG视频文件中插入帧的选项.当我的图像以JPEG格式出现时,我认为使用Motion JPEG是合理的,但即便如此也是如此.另外,我不知道mencoder是否可以用作库.如果有的话,它会有很多帮助.
你会建议什么?
最佳答案 有一些媒体容器格式支持
variable frame rate,但我不认为MJPEG是不错的选择,因为存储开销.我相信最好的方法是使用I帧和P帧将JPEG帧转码为MP4格式.
您可以使用FFMPEG Delphi/FP header files进行转码.
编辑:
可以在GLScene repository on SourceForge.net找到最新版本的FFMPEG标题.要查看文件,可以使用this link