2016-06-23 98 views
1

我試圖創建一個使用與ffmpeg的幻燈片過渡圖像幻燈片過渡和下面的命令:問題建立圖像幻燈片滑動使用的ffmpeg

ffmpeg -loop 1 -i img1.jpg -loop 1 -i img2.jpg -loop 1 -i img3.jpg^
-filter_complex^
"nullsrc=size=800x600[v0];^
[0:v]trim=duration=5,scale=800x600,setpts=PTS-STARTPTS[v1];^
[1:v]trim=duration=5,scale=800x600,setpts=PTS-STARTPTS[v2];^
[2:v]trim=duration=5,scale=800x600,setpts=PTS-STARTPTS[v3];^
[v0][v1]overlay=x='min(-w+(t*w/0.5)\,0)':shortest=1[vv0];^
[v1][v2]overlay=x='min(-w+(t*w/0.5)\,0)':shortest=1[vv1];^
[v2][v3]overlay=x='min(-w+(t*w/0.5)\,0)':shortest=1[vv2];^
[vv0][vv1][vv2]concat=n=3:v=1:a=0 [video]" -map "[video]" output.mp4 

我希望每個圖像要在幻燈片左0.5秒再等待4.5秒,然後再與下一個重疊,等等。

第一個問題是需要2-3分鐘才能構建僅有3張圖像的視頻,並且我想添加更多圖像,這會導致構建時間非常長。

第二個問題是,視頻應該是15秒長,但它只有8個,因爲第一個圖像顯示爲5秒,第二個顯示爲2,最後一個顯示爲1秒。

您的幫助將不勝感激。

回答

1

在過濾器複合體內生成的輸入板只能使用一次。所以,你應該分割那些將被重用的流。

ffmpeg -loop 1 -i img1.jpg -loop 1 -i img2.jpg -loop 1 -i img3.jpg^
-filter_complex^
"nullsrc=size=800x600[v0];^
[0:v]trim=duration=5,scale=800x600,setpts=PTS-STARTPTS,split[v1a][v1b];^
[1:v]trim=duration=5,scale=800x600,setpts=PTS-STARTPTS,split[v2a][v2b];^
[2:v]trim=duration=5,scale=800x600,setpts=PTS-STARTPTS[v3];^
[v0][v1a]overlay=x='min(-w+(t*w/0.5)\,0)':shortest=1[vv0];^
[v1b][v2a]overlay=x='min(-w+(t*w/0.5)\,0)':shortest=1[vv1];^
[v2b][v3]overlay=x='min(-w+(t*w/0.5)\,0)':shortest=1[vv2];^
[vv0][vv1][vv2]concat=n=3:v=1:a=0 [video]" -map "[video]" output.mp4 
+0

謝謝你的回覆。我嘗試了你的建議,現在視頻爲12秒,因爲最後一個場景只有2秒。建造時間是一樣的。 – nanestev

+0

哪個ffmpeg版本和平臺? – Mulvya

+0

您可以在快照中看到的版本 - https://monosnap.com/file/y2attd8Jz2V9tQB8XwfikUqZWiMff5。我正在運行Windows 10 Pro x64 – nanestev