合并两个视频很容易,被回答了几次。我有的是多个重叠的视频。视频可能与前面的视频重叠。这意味着如果视频1覆盖1-5时间线,那么视频2可能会重叠1,覆盖3到8。合并它们将导致1-5回3-8,而我只需要1-8。
视频按字母顺序排列。
我对解决方案的总体想法是..。
我需要把这个翻译成ffmpeg命令。或者opencv如果这是一个更好的工具。
如果有更好的方法,我也对此感兴趣。
发布于 2019-06-05 06:07:08
对于ffmepg,您可以使用下面的脚本。它测试过了。但是从时间上来说,你必须在你的视频中把这个STARTPTS+5改为+25。我把5放在这里来测试合并是否正在发生。
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就足够了。
https://stackoverflow.com/questions/56447495
复制相似问题