我有一个非常刁钻的问题(不是)

因为项目的需要。
我需要使用双目摄像头采集视频(mp4格式)
采集到的视频画面是两个摄像头黏在一起的。

我现在需要将两个画面拆开来。
即将整一个mp4文件从中间拆开,分成两个MP4文件(是画面从中间拆开,不是文件哦)

请问有什么妙招吗?
(系统环境——linux、qt、c++)

格式工厂、魔影工厂应该就有这个功能

如果是拆分已经保存好的MP4可以用ffmpeg的filter,参考这篇 https://stackoverflow.com/questions/66133988/ffmpeg-split-side-by-side-video-in-two

ffmpeg -i input.m2ts -filter_complex "[0]crop=iw/2:ih:0:0[left];[0]crop=iw/2:ih:ow:0[right]" -map "[left]" -map 0:a left.mp4 -map "[right]" -map 0:a right.mp4

如果没有音频要把0:a去掉

-filter_complex "[0]crop=iw/2:ih:0:0[left];[0]crop=iw/2:ih:ow:0[right]" -map "[left]" left.mp4 -map "[right]" right.mp4

或者如果不是左右要上下拆分

-filter_complex "[0]crop=iw:ih/2:0:0[up];[0]crop=iw:ih/2:0:oh[down]" -map "[up]" up.mp4 -map "[down]" down.mp4

不过这样等于要二次编码了,效率最高的话最好是在采集后编码前就开始拆,不知道你本来具体怎么处理的,如果本来就用ffmpeg采集也可以用上面的filter。