首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(没有被接受的答案)如何使用ffmpeg或opencv将2个重叠视频合并成一个视频?

(没有被接受的答案)如何使用ffmpeg或opencv将2个重叠视频合并成一个视频?
EN

Stack Overflow用户
提问于 2019-06-04 16:00:56
回答 1查看 1.3K关注 0票数 1

合并两个视频很容易,被回答了几次。我有的是多个重叠的视频。视频可能与前面的视频重叠。这意味着如果视频1覆盖1-5时间线,那么视频2可能会重叠1,覆盖3到8。合并它们将导致1-5回3-8,而我只需要1-8。

视频按字母顺序排列。

我对解决方案的总体想法是..。

  • 抓取视频的最后一帧
  • 如果这是第一个视频
  • 如果不是第一段视频的话.第二,逐帧搜索先前步骤中保存的帧。
  • 如果到达当前视频的最后一帧,则不存在重叠继续。
  • 如果它创建了一个帧,那么将第二个视频剪辑到包含该帧,然后转到下一个帧。
  • 一旦对所有视频进行了分析,将它们合并成一个视频。

我需要把这个翻译成ffmpeg命令。或者opencv如果这是一个更好的工具。

如果有更好的方法,我也对此感兴趣。

EN

回答 1

Stack Overflow用户

发布于 2019-06-05 06:07:08

对于ffmepg,您可以使用下面的脚本。它测试过了。但是从时间上来说,你必须在你的视频中把这个STARTPTS+5改为+25。我把5放在这里来测试合并是否正在发生。

代码语言:javascript
复制
ffmpeg -i 2.mp4 -i 1.mp4 -filter_complex "[1]setpts=PTS-STARTPTS+5/TB[top];[0:0][top]overlay=enable='between(t\,10,15)'[out]" -shortest -map [out] -map 0:1        -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18 output1.mp4

这个限制需要源文件足够长,这意味着您需要视频画布,然后使用这个脚本将每个视频添加到画布中。

而且在ffmpeg中也没有完全自主的使用方法。

你是正确的。Opencv不能处理音频。需要第三方图书馆的支持才能同时运行。在此之前,我必须使用ROS获得声音和视觉机器人系统从网络摄像头。然后用自然语言NLP对声音进行处理,用户界面和视觉分别用于locozlaiton和映射。

有办法走来走去。

首先,在本地窗口批处理上使用OpenCV模板匹配或图像差异。最小的错误位置将给您正确的位置A插入。这应该是准确的毫秒级。(如果错误总是很大,则意味着不存在重叠并返回异常)

第二,根据opencv获得的正确位置。调用system.call,以A参数作为输入调用上面的脚本来进行自动合并。

取决于您的应用程序,如果您需要经常这样做,请编写opencv python脚本到自动fuse。如果每个月只做一次,手动使用ffmepg就足够了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56447495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档