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"

上記コマンドの要約: 単一フレームをループします。多数のオーディオ トラックを連結します。出力に -shortest を指定しても、単一フレームのループは停止しません。

その後、私はハッキーな解決策を見つけました。Python スクリプト内のすべての曲の長さを計算し、-t を使用してループに渡します。ただし、ffmpeg 内でこれを行うネイティブな方法があるかどうかを知りたいです。

関連情報