2016-01-16 34 views
0

我試圖從一些圖片和現有的MP3(複製)一起製作幻燈片。圖片尺寸不同,但我希望視頻輸出爲16:9寬高比和3840x2160。我也想要一個水印。圖片不被拉伸很重要。FFmpeg幻燈片+音頻+水印+保持屏幕比例

我想這個代碼...

ffmpeg -y -framerate 1/1.5 -i "pics/%03d.jpg" -i audio.mp3 -c:v libx264 -r 24 -preset veryfast -tune stillimage -c:a copy -pix_fmt yuv420p -aspect 16:9 -filter_complex "scale=iw*min(3840/iw\,2160/ih):ih*min(3840/iw\,2160/ih),pad=3840:2160:(3840-iw)/2:(2160-ih)/2, movie=watermark.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" vid.mkv 

但它給我這個錯誤:

[AVFilterGraph @ 0x2d21480] Too many inputs specified for the "movie" filter. Error initializing complex filters. Invalid argument

我能夠成功地讓帶有圖片,音頻和水印幻燈片;但是,如果圖片不能伸展,我無法考慮寬高比。

如果有所作爲,輸出的視頻將上傳到YouTube。

回答

1

您可以刪除方面標誌。由於您的過濾器輸出是3840x2160,即16:9,因此您不需要它。您的比例過濾器適用於具有不同比率的圖像。

這裏有一個完整的命令,您可以嘗試:

ffmpeg -y -framerate 2/3 -i "pics/%03d.jpg" -i audio.mp3 -loop 1 -i watermark.png 
-filter_complex 
"[0:v]scale=iw*min(3840/iw\,2160/ih):ih*min(3840/iw\,2160/ih), 
pad=3840:2160:(3840-iw)/2:(2160-ih)/2[ss]; 
[ss][2:v] overlay=main_w-overlay_w-10:main_h-overlay_h-10:shortest=1[out]" 
-map "[out]" -map 1:a 
-c:v libx264 -r 24 -preset veryfast -tune stillimage -pix_fmt yuv420p 
-c:a copy 
vid.mkv 
+0

謝謝,但由於某種原因,控制檯顯示'幀= 3 fps的= 0.0 Q = 0.0大小= 1KB的時間爲00:00:00.00比特率= N/A速度='無限循環。我不知道這是否有所不同,我的一些圖片的寬度/高度不能被2整除(例如1327x177)? – Pamela

+0

當我嘗試幾乎相同的事情,但與-vf和沒有最終出標籤,視頻保存只有音頻(無圖片/水印):'ffmpeg -y -framerate 2/3 -i「pics /%03d。 jpg「-i audio.mp3 -i watermark.png -vf」[0:v] scale = iw * min(3840/iw \,2160/ih):ih * min(3840/iw \,2160/ih), pad = 3840:2160:(3840-iw)/ 2:(2160-ih)/ 2 [ss]; [ss] [2:v] overlay = main_w-overlay_w-10:main_h-overlay_h-10 [out] -map 1:a -c:v libx264 -r 24 -preset veryfast -tune stillimage -pix_fmt yuv420p -c:副本vid.mkv' – Pamela

+1

'vf'僅適用於單個視頻輸入,但疊加需要兩個輸入。奇數維度也不是問題,因爲發送到編碼器的幀是填充的3840x2160數據流。你的一張圖片可能會腐敗嗎?用'-report'運行我的命令並粘貼生成的日誌文件的內容。 – Mulvya