我正在尝试将多个调用ffmpeg合并为一个调用.
我有2个图像,1个视频和1个声音合并在一起.
视频:图像1(1秒),图像2(1秒 - 如果可能,淡入视频),视频声音:声音 - 一旦视频开始,合并两个声音
我能够分别执行这些操作(生成带有图像+视频的临时视频),然后合并两种声音,但我想更快地获得一些东西.
如何将这两个过滤器合并到一个?
ffmpeg -loop 1 -framerate 60 -t 1 -i thumb.jpg -t 1 -f lavfi -i aevalsrc=0 -framerate 60 -t 1 -i theme.jpg -t 1 -f lavfi -i aevalsrc=0 -i video.mov -filter_complex '[0:0] [1:0] [2:0] [3:0] [4:0] [4:1] concat=n=3:v=1:a=1' tmp.mov
ffmpeg -i tmp.mov -i audio.mp3 -filter_complex "[0:a]apad [b]; [b][1:a]amerge[a]" -map 0:v -map "[a]" -c:v copy -c:a mp3 -ac 2 -shortest out.mov
我的猜测会是这样的ffmpeg -loop 1 -framerate 60 -t 1 -i thumb.jpg -framerate 60 -t 1 -i theme.jpg -i video.mov -i audio.mp3 -filter_complex "[0:0] [1:0] [2:0] [2:a] concat=n=3:v=1:a=1" -map 2:v -map "[a]" -c:v copy -c:a mp3 -ac 2 -shortest out.mov,但是这个结果会出现以下错误:filtergraph描述中的流说明符':0'[0:0] [1:0] [2:0] [2:a] concat = n = 3:v = 1:a = 1匹配无流.
任何帮助,将不胜感激 !(如果你知道如何fade在我的情况下获得过滤器,它会很棒!)
小智 5
像这样的东西(没有褪色):
ffmpeg -loop 1 -framerate 60 -t 1 -i thumb.jpg -t 1 -f lavfi -i aevalsrc=0:d=1 -framerate 60 -t 1 -i theme.jpg -t 1 -f lavfi -i aevalsrc=0:d=1 -i video.mov -i audio.mp3 -filter_complex '[0:0] [1:0] [2:0] [3:0] [4:0] [4:1] concat=n=3:v=1:a=1[video][audio],[audio]apad[audio],[audio][5:0]amix=duration=shortest[audio]' -map "[video]" -map "[audio]" out.mov
Run Code Online (Sandbox Code Playgroud)