FFMPEG - Bildschleife über verkettetes Audio

FFMPEG - Bildschleife über verkettetes Audio

Ich habe eine Reihe von Audioeingängen, die ich verkette, um den endgültigen Ton zu erhalten. Ich möchte ein Bild über diesen Ton laufen lassen. Ohne -loop funktioniert es auf meinem Rechner, aber es lässt sich nicht auf Vimeo oder YouTube hochladen. Mit -loop wird die Kodierung nie beendet. Mit -shortest funktioniert es nicht. Ich glaube, das liegt daran, dass der endgültige Ton kein Eingabestream ist. Wie kann ich das angehen?

Dies ist der Befehl, den ich verwende, wobei einige Eingaben unterdrückt werden, um ihn weniger Spam zu machen:

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 des obigen Befehls: Einzelnes Frame in Schleife abspielen; viele Audiospuren aneinanderreihen; einzelnes Frame wird auch mit -shortest in der Ausgabe nie in einer Schleife abgespielt.

Ich habe inzwischen eine Hack-Lösung gefunden: Berechnen Sie die Länge aller Songs in meinem Python-Skript und übergeben Sie sie mit -t an die Schleife. Ich würde jedoch gerne wissen, ob es eine native Möglichkeit gibt, dies in ffmpeg zu tun.

verwandte Informationen