使用 FFmpeg filter_complex Concat 过滤器将 [image+mp3] 与 [MP4+mp3] 连接起来

问题描述 投票:0回答:1

我正在尝试使用 ffmpeg 连接四个文件:图像+音频与视频+音频。生成的输出仅包含第一个图像+音频对,第二对丢失。

第一对是 1.jpgaudio.mp3

第二对是 video.mp4audio2.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
video ffmpeg mp3 mp4
1个回答
0
投票

我想通了 - 将空音频添加到视频输入有效(不知道为什么):

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
© www.soinside.com 2019 - 2024. All rights reserved.