我正在尝试连接几个输入,并在一次输入时循环声音。 我的意见是:
我想要实现的目标:
到目前为止:
ffmpeg -y -i intro.mp4 -r 25 -i "pics/%04d.jpg" -i outro.mp4 -i loop.mp3 -filter_complex
"[0:v:0] [0:a:0] [1:v:0] [3:a:0] [2:v:0] [2:a:0] concat=n=3:v=1:a=1 [v] [a]" -map "[v]"
-map "[a]" -c:v libx264 -pix_fmt yuv420p -profile:v baseline -level 3.0 -crf 20 -r 25
-movflags +faststart -c:a aac -b:a 192k output.mp4
但是这不会循环“loop.wav”。我在“-i loop.mp3”之前试过“-loop 1”,但这给了我这个错误:“找不到选项循环。”
ffmpeg版本:20170620-ae6f6d4-win64-static
答案 0 :(得分:0)
你必须在两个连续的步骤中完成它。音频将在循环点丢失。
ffmpeg -y -i intro.mp4 -i "pics/%04d.jpg" -i outro.mp4 -f lavfi -i amovie=loop.mp3:loop=15,asetpts=N/SR/TB
-filter_complex
"[0:v:0] [0:a:0] [1:v:0] [3:a:0] concat=n=2:v=1:a=1 [v12] [a12];
[v12][a12][2:v:0] [2:a:0]concat=n=2:v=1:a=1 [v] [a]"
-map "[v]" -map "[a]" -r 25 -c:v libx264 -pix_fmt yuv420p -profile:v baseline -level 3.0
-crf 20 -movflags +faststart -c:a aac -b:a 192k output.mp4
当连接最后一个段时,concat过滤器在两个流中较短的一个停止。因此使用两个concat过滤器。