首页 > 解决方案 > 如果持续时间不同,则叠加视频

问题描述

我有 2 个视频。我使用以下代码将一个视频覆盖在另一个视频上:

-stream_loop {LoopCount} -i 1.mp4 -c 复制 -y 2.mp4
-i 2.mp4 -i preresult.mp4 -filter_complex "[0:v][1:v]overlay=shortest=1[out]" -map "[out]" -y result.mp4

{LoopCount} - 这是一个变量,它存储覆盖视频比原始视频长多少倍的值。

请告诉我如何在filter_complex中组合这两个命令,以便 ffmpeg 可以多次循环覆盖视频,以匹配preresult.mp4的持续时间?

谢谢你们!

标签: videoffmpeg

解决方案


-stream_loop -1 -i 1.mp4 -i preresult.mp4 -filter_complex "[0:v][1:v]overlay=shortest=1[out]" -map "[out]" -y result.mp4

-1将 stream_loop 设置为无限循环,使覆盖过滤器中的预结果视频更短。


推荐阅读