gpt4 book ai didi

video - 如何同步两个具有可变帧率的视频?

转载 作者:太空宇宙 更新时间:2023-11-03 21:12:36 28 4
gpt4 key购买 nike

我有很多视频文件对,是在一个房间里用两个网络摄像机拍摄的。由于带宽利用率,视频文件具有可变的帧速率。据我了解,如果我们在时间轴上标记帧,它是这样的:

variable frame rates

我想同步这两个视频。我的意思是同步,填补空白,以便对于视频中的给定帧,在另一个视频中有相应的帧。最后我想要两个像这样的两个视频:

enter image description here

我考虑过使用转换器工具将两个视频都转换为 25 fps,尽管我会有冗余的帧对,但它们会同步。但是,我有与所有视频的每一帧关联的信息,转换后我将无法知道关联。

我想我需要以编程方式执行此操作,以便我可以相应地保留与每个帧关联的信息。

到目前为止,我已经尝试过 OpenCV,VideoCapture 属性 CV_CAP_PROP_POS_MSEC 给了我帧号,而不是帧的毫秒数。即使它给了我正确的值,VideoWriter 也不支持可变帧率。 MATLAB 拒绝读取我的视频文件,因为它不支持 MJPEG(motion jpeg)编解码器。我已经能够使用 pyglet 读取帧 # 和相应的毫秒数。在 Python 中。但它只是解码器,我仍然没有任何东西可以写入视频文件,例如“这是第 12 帧,应该恰好在视频的 1.76 秒”。

我正在寻找实现此目的的最简单方法,语言、工具无关紧要。基于 Windows 的解决方案表示赞赏。非常感谢您的回答。

附言。我不介意输出格式,但我更喜欢无损格式。

最佳答案

最简单的方法是将两者转换为相同的 fps(比如 25),然后匹配它们。 ffmpeg 是一个很好的工具。查看此博客文章了解更多详细信息 http://www.hdslr-cinema.com/news/workflow/convert-between-framerates/

但它可能会复制帧以覆盖空插槽。如果这不能满足您的要求,您应该研究时间插值 - 在帧之间插值像素。但这是很多工作。 ffmpeg 解决方案是一个 5 分钟的任务,插值可能意味着阅读和实现一些学术论文。

请注意,可能有一些专门用于插值的工具,但我不知道它们。值得研究。

关于video - 如何同步两个具有可变帧率的视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11530818/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com