FFMPEG - 在串聯音訊上循環影像

FFMPEG - 在串聯音訊上循環影像

我有一堆音訊輸入,我將它們連接起來以獲得最終的音訊。我想在該音訊上循環播放影像。如果沒有 -loop,它可以在我的機器上運行,但不會上傳到 vimeo 或 youtube。使用 -loop 編碼永遠不會停止。使用 -shortest 不起作用。我相信這是因為最終的音訊不是輸入流。我該怎麼辦?

這是我正在使用的命令,抑制了一些輸入以嘗試減少垃圾郵件:

ffmpeg -loop 1 -framerate 1 -i "D:/Programas/FFMPEG/background.jpg" -i "D:\Musical Chairs (feat. Stoneface, Prodigal Sunn & Hell Razah).flac" -i "Medina 718.flac" (...inputs...) -i "D:\Legacy.flac" -filter_complex "[1:v]scale=600:-1[ovrl]; [0:V]drawtext=fontsize=25:fontfile="D:/Programas/FFMPEG/font.ttf":fontcolor=white:text=Royal Fam:x=W/2+W/10.5:y=H/11[f1], [f1]drawtext=fontsize=25:fontfile="D:/Programas/FFMPEG/font.ttf":fontcolor=white:text=Yesterday Today Iz Tomorrow:x=W/2+W/10.5:y=2*(H/10)[f2],[f2]drawtext=fontsize=25:fontfile="D:/Programas/FFMPEG/font.ttf":fontcolor=white:text=2000:x=W/2+W/10.5:y=3*(H/10)[bg]; [bg][ovrl]overlay=(W-w)/7:(H-h)/2; [1:a][2:a][3:a][4:a][5:a][6:a][7:a][8:a][9:a][10:a][11:a][12:a]concat=n=12:v=0:a=1[final]" -map 0:v -map [final]:a -shortest -r 1 -movflags +faststart "RoyalFamYesterday.mp4"

上述指令的TL;DR:循環單幀;連接許多音軌;即使輸出中使用 -shortest,單幀也不會停止循環。

此後我找到了一個 hacky 解決方案:計算 python 腳本中所有歌曲的長度並使用 -t 將其傳遞到循環。不過我想知道 ffmpeg 中是否有本地方法可以做到這一點。

相關內容