是否可以合并隔行扫描的ffmpeg视频文件?

时间:2019-05-16 18:35:39

标签: ffmpeg

我正在尝试创建一个视频文件,其中包含来自2个源mp4视频文件的帧,如下所示:

I1 I2 P1 P2 I1 I2 P1 P2 I1 I2 P1 P2 ...

其中I =内部,P =预测,数字是来自哪个源文件。

使用ffmpeg命令可能吗?如果没有,如果我使用read_thread的ffplay代码,如何将av_read_frame返回的内容放入正确的视频文件中?

谢谢

1 个答案:

答案 0 :(得分:1)

不进行转码就不能这样做。这是一个具有相同分辨率和帧频的视频的简单示例:

ffmpeg -i 1.mp4 -i 2.mp4 -filter_complex "[0:v][1:v]blend=all_expr='ifnot(mod(N,2),A,B)'[out]" -map [out] out.mp4

查看此页面以获取详细信息:http://www.ffmpeg.org/ffmpeg-filters.html#blend_002c-tblend

更新

正如Gyan的评论所说,上面的命令将丢弃一半的帧。因此,如果您不想丢失任何信息,则在交错之前将fps加倍可能更好。假设输入视频恒定为30 fps:

ffmpeg -i 1.mp4 -i 2.mp4 -filter_complex "[0:v]framerate=60[in0];[1:v]framerate=60[in1];[in0][in1]blend=all_expr='ifnot(mod(N,2),A,B)'[out]" -map [out] out.mp4