尝试结合2个FFmpeg命令

时间:2019-08-21 04:31:28

标签: ffmpeg

出于速度考虑,我有2个FFmpeg命令不需要合并。

此人使用远程服务器上的图像列表构建了一个简单的幻灯片。

ffmpeg -y -f concat -safe 0 -protocol_whitelist "file,http,https,tcp,tls" -i "Temp/images.txt" -filter_complex "[0]scale=7680x4320,zoompan=z='if(lte(zoom,1.0),1.2,max(1.001,zoom-0.0006))':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':fps=30:d=300" -c:v libx264 -preset veryfast -shortest "Temp/video.mp4"

此视频将我们刚刚创建的视频叠加为另一个视频(marquee.mp4),并在背景图片的顶部叠加了showwaves效果,然后添加了音频。 (showwaves效果与所述音频有关)

ffmpeg -y -framerate 30 -i "Assets/Screens/background.png" -i "Temp/audio.mp3" -filter_complex "movie=Temp/video.mp4[a];movie=Temp/marquee.mp4:loop=0,setpts=N/FRAME_RATE/TB[b];[0][a]overlay=570:70[c];[c][b]overlay=570:880[d];[1:a]showwaves=mode=cline:s=254x81:scale=sqrt:colors=0x222222,colorkey=0x000000:0.01:0.1,format=yuva420p[w];[d][w]overlay=148:375,scale=1920:1080[outv]" -map "[outv]" -map 1:a -movflags +faststart -c:v libx264 -c:a aac -preset veryfast -shortest done.mp4

是否可以将所有这些组合成一个命令?这样一来,不用拍摄创建的幻灯片视频并进行叠加,它只是就地生成幻灯片。

谢谢您的时间。

1 个答案:

答案 0 :(得分:0)

使用

ffmpeg -y -framerate 30 -i "Assets/Screens/background.png" -i "Temp/audio.mp3" -f concat -safe 0 -protocol_whitelist "file,http,https,tcp,tls" -i "Temp/images.txt" -stream_loop -1 -i Temp/marquee.mp4 -filter_complex "[2]scale=7680x4320,zoompan=z='if(lte(zoom,1.0),1.2,max(1.001,zoom-0.0006))':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':fps=30:d=300[a];[0][a]overlay=570:70[b];[b][3]overlay=570:880[c];[1:a]showwaves=mode=cline:s=254x81:scale=sqrt:colors=0x222222,colorkey=0x000000:0.01:0.1,format=yuva420p[w];[c][w]overlay=148:375,scale=1920:1080[outv]" -map "[outv]" -map 1:a -movflags +faststart -c:v libx264 -c:a aac -preset veryfast -shortest done.mp4