我正在尝试使用 ffmpeg 连接四个文件:图像+音频与视频+音频。生成的输出仅包含第一个图像+音频对,第二对丢失。
第一对是 1.jpg 和 audio.mp3
第二对是 video.mp4 和 audio2.mp3
命令:
ffmpeg -y \
-loop 1 -t 5.027777777777779 -i 1.jpg \
-i audio.mp3 \
-i video.mp4 \
-i audio2.mp3 \
-filter_complex \
"[0:v]\
scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1,\
fade=t=in:st=0:d=1,fade=t=out:st=11.027777777777779:d=1\
,scale=8000:-1,zoompan=z='if(lte(pzoom,1.0),1.1967860822005856,max(1.0760773957644252,pzoom-5.041931409561658E-4))':x='iw/2-(iw/pzoom/2)':y='ih/2-(ih/pzoom/2)':d=1,scale=hd1080\
[v0];\
\
[2:v]scale=1920:1080,setsar=sar=1[video]; \
[v0][1][video][3]concat=n=2:v=1:a=1[v][a]\
"\
-map "[v]" -map "[a]" output/video_gen_jpgAudioVideo2.mp4
我想通了 - 将空音频添加到视频输入有效(不知道为什么):
ffmpeg -y \
-loop 1 -t 5.027777777777779 -i 1.jpg \
-i audio.mp3 \
-i video.mp4 -f lavfi -i anullsrc \
-i audio2.mp3 \
-filter_complex \
"[0:v]\
scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1,\
fade=t=in:st=0:d=1,fade=t=out:st=11.027777777777779:d=1\
,scale=8000:-1,zoompan=z='if(lte(pzoom,1.0),1.1967860822005856,max(1.0760773957644252,pzoom-5.041931409561658E-4))':x='iw/2-(iw/pzoom/2)':y='ih/2-(ih/pzoom/2)':d=1,scale=hd1080\
[v0];\
\
[2:v]scale=1920:1080,setsar=sar=1[video]; \
[v0][1][video][4]concat=n=2:v=1:a=1[v][a]\
"\
-map "[v]" -map "[a]" output/video_gen_jpgAudioVideo2.mp4