我有两个网络摄像机在一个房间里拍摄很多视频文件对。由于带宽利用率,视频文件具有可变的帧速率。据我了解,如果我们在时间轴上标记的帧是这样的:如何以可变的帧速率同步两个视频?
我想这两个视频同步。通过同步我的意思是填补空白,使得对于视频中的给定帧,在另一个视频中存在相应的帧。在我想最终两者有这样两个视频:
我曾经想过用转换工具,这两部影片转换为每秒25帧,虽然我会有他们将同步冗余帧对。不过,我有与所有视频的每个帧相关的信息,我将无法知道转换后的关联。
我想我需要以编程的方式做到这一点,以便我可以相应地保留与每一帧相关的信息。
到目前为止,我已经尝试OpenCV,VideoCapture
财产CV_CAP_PROP_POS_MSEC
给我的帧数,而不是帧的毫秒。即使它给了我正确的值,VideoWriter
不支持可变帧频。 MATLAB拒绝阅读我的视频文件,因为它不支持编解码器,它是MJPEG(运动jpeg)。我已经能够使用Python中的pyglet来读取frame#和相应的毫秒。但它只是解码器,我还没有任何东西可以写入像“这是第#12帧这样的视频文件,这应该完全在视频的1.76秒”。
我正在寻找最简单的方法来实现这一点,语言,工具无关紧要。感谢您的Windows解决方案。非常感谢你的回答。
PS。我不介意输出格式,但我更喜欢无损格式。
我不介意插入我自己的,因为我告诉有像(#1,info1),(#2,info2)帧的相关信息,所以如果我使用工具转换他们两个,我不会知道如何匹配以前的关联和新的关联。我将检查ffmpeg库。 – nimcap 2012-07-18 08:59:13