2015-06-27 68 views
0

这是我使用进行幻灯片放映的有关ffmpeg的命令:如何为此ffmpeg幻灯片添加2张图片?

ffmpeg -y -i audio.wav -framerate 1/4 -t 60 -loop 1 -i first.png -framerate 1/4 -t 600 -loop 1 -i Test.png -framerate 1/4 -t 600 -loop 1 -i test-ceinture-running-flip-belt.png -framerate 1/4 -t 600 -loop 1 -i Wikimedia_Outreach_test_logo.png -filter_complex "[1:v]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:0+(1280-iw*min(1280/iw\,720/ih))/2:0+(720-ih*min(1280/iw\,720/ih))/2 [v0]; [2:v]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:0+(1280-iw*min(1280/iw\,720/ih))/2:0+(720-ih*min(1280/iw\,720/ih))/2 [v1]; [3:v]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:0+(1280-iw*min(1280/iw\,720/ih))/2:0+(720-ih*min(1280/iw\,720/ih))/2 [v2]; [4:v]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:0+(1280-iw*min(1280/iw\,720/ih))/2:0+(720-ih*min(1280/iw\,720/ih))/2 [v3]; [v0][v1][v2][v3]concat=n=4:v=1:a=0 [out]" -map "[out]" -map 0:0 -c:a libvo_aacenc -b:a 128k -vcodec mpeg4 -qscale:v 20 -keyint_min 100 -f mp4 -r 10 -pix_fmt yuv420p out_024.mp4 

我想补充2张更多的图片,持续每600秒。

你能帮我吗?

+1

如果你会花时间在粘贴命令中插入几行换行符,那么你可能会自己想到这一点。 – DavidDomain

回答

1

那么,为什么你不试验操纵你当前的命令?一切都在那里。根据你的方法,你可以做到这一点如下。

ffmpeg -y -i audio.wav -framerate 1/4 -t 60 -loop 1 -i first.png -framerate 1/4 -t 600 -loop 1 -i Test.png -framerate 1/4 -t 600 -loop 1 -i test-ceinture-running-flip-belt.png -framerate 1/4 -t 600 -loop 1 -i Wikimedia_Outreach_test_logo.png -framerate 1/4 -t 600 -loop 1 -i new_image_1.png -framerate 1/4 -t 600 -loop 1 -i new_image_2.png -filter_complex " 
[1:v]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:0+(1280-iw*min(1280/iw\,720/ih))/2:0+(720-ih*min(1280/iw\,720/ih))/2 [v0]; 
[2:v]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:0+(1280-iw*min(1280/iw\,720/ih))/2:0+(720-ih*min(1280/iw\,720/ih))/2 [v1]; 
[3:v]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:0+(1280-iw*min(1280/iw\,720/ih))/2:0+(720-ih*min(1280/iw\,720/ih))/2 [v2]; 
[4:v]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:0+(1280-iw*min(1280/iw\,720/ih))/2:0+(720-ih*min(1280/iw\,720/ih))/2 [v3]; 
[5:v]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:0+(1280-iw*min(1280/iw\,720/ih))/2:0+(720-ih*min(1280/iw\,720/ih))/2 [v4]; 
[6:v]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:0+(1280-iw*min(1280/iw\,720/ih))/2:0+(720-ih*min(1280/iw\,720/ih))/2 [v5]; 
[v0][v1][v2][v3][v4][v5]concat=n=6:v=1:a=0 [out]" -map "[out]" -map 0:0 -c:a libvo_aacenc -b:a 128k -vcodec mpeg4 -qscale:v 20 -keyint_min 100 -f mp4 -r 10 -pix_fmt yuv420p out_024.mp4 

但是你这样做的方式效率不高。您可能需要先拨动relevant documentation。您可以使用常见设置(如-framerate 1/4 -t 600)将图像文件重命名为img%03d.png。它将帮助您减少命令长度以及执行时的性能方面。

希望这会有所帮助!

+0

请记住接受答案,如果它解决了你的问题,这将有助于其他人同样的问题。 – Chamath

+0

完成。谢谢Chamath。 – nemsis90