ffmpeg - Bilder mit Video zusammenführen

502
Rich

Ich habe ein Video mit Audio, das ich mit 2 Bildern zusammenführen möchte - ein Bild, bevor das Video beginnt und ein Bild, nachdem das Video endet -, aber im Moment bekomme ich diesen Fehler -

Stream-Bezeichner ': a' in der Filtergraph-Beschreibung [0: v] [0: a] [1: v] [2: a] concat = n = 3: v = 1: a = 1 [v] [a] stimmt mit Nr. 2 überein Ströme.

Dies ist der Code, den ich verwende -

 ffmpeg \ -loop 1 -framerate 24 -t 10 -i default_start.png \ -i output-first.mp4 \ -loop 1 -framerate 24 -t 10 -i default_end.png \ -f lavfi -t 3 -i anullsrc \ -filter_complex "[0:v] [0:a] [1:v] [2:a] concat=n=3:v=1:a=1 [v] [a]" \ -c:v libx264 -c:a aac -map "[v]" -map "[a]" -y output-second.mp4 2>&1 

BEARBEITEN

Ich versuche auch, zwei verschiedene Befehle zu verwenden, von denen jeder eine Bilddatei anstelle von zwei verwendet.

// Image at start only ffmpeg -y \ -loop 1 -framerate 24 -t 10 -i default_start.png \ -i output-first.mp4 \ -f lavfi -t 3 -i anullsrc \ -filter_complex "[0:v] [2:a] [1:v] [1:a] [2:v] [3:a] concat=n=2:v=1:a=1 [v] [a]" \ -c:v libx264 -c:a aac -map "[v]" -map "[a]" output-second.mp4 2>&1   // Image at end only ffmpeg -y \ -i output-first.mp4 \ -loop 1 -framerate 24 -t 10 -i default_end.png \ -f lavfi -t 3 -i anullsrc \ -filter_complex "[0:v] [3:a] [1:v] [1:a] [2:v] [3:a] concat=n=3:v=1:a=1 [v] [a]" \ -c:v libx264 -c:a aac -map "[v]" -map "[a]" output-second.mp4 2>&1 
0

1 Antwort auf die Frage

3
LordNeckbeard

Sie müssen die concat-Eingaben mit den entsprechenden Dateieingaben zuordnen:

ffmpeg -y \ -loop 1 -framerate 24 -t 10 -i default_start.png \ -i output-first.mp4 \ -loop 1 -framerate 24 -t 10 -i default_end.png \ -f lavfi -t 3 -i anullsrc \ -filter_complex "[0:v] [3:a] [1:v] [1:a] [2:v] [3:a] concat=n=3:v=1:a=1 [v] [a]" \ -c:v libx264 -c:a aac -map "[v]" -map "[a]" output-second.mp4 
Ich erhalte diesen Fehler - `[Parsed_concat_0 @ 0x24bbc80] Eingangslink in1: v0-Parameter (Größe 1280x720, SAR 0: 1) stimmen nicht mit den entsprechenden Ausgangslink in0: v0-Parametern (1920x1080, SAR 0: 1) [Parsed_concat_0 @ 0x24bbc80 überein ] Fehler beim Konfigurieren des Ausgabepads auf Parsed_concat_0. Fehler beim Reinitialisieren von Filtern! Fehler beim Einfügen eines Frames in das Filternetzwerk: Ungültiges Argument Fehler beim Verarbeiten der decodierten Daten für Stream # 2: 0 Konvertierung fehlgeschlagen! ` Rich vor 5 Jahren 0
Bei Concat müssen alle Videos die gleiche Auflösung und das gleiche Seitenverhältnis haben. Dies sollte vor dem concat überprüft und angepasst werden. Sie können dem Filter jedoch mitteilen, dass er solche Fehler ignorieren soll, indem Sie `unsafe = 1` verwenden (fügen Sie ihn nach` a = 1` mit einem Doppelpunkt hinzu). Gyan vor 5 Jahren 0
Gibt es eine Möglichkeit, die Größe der Bilddatei anzupassen? Rich vor 5 Jahren 0
@Rich Siehe https://superuser.com/a/1052349/48078 slhck vor 5 Jahren 0
ok danke, ich habe deine antwort akzeptiert. Ich habe auch eine Frage zu meiner Frage hinzugefügt, mit der ich Hilfe benötige, falls dies möglich ist. Rich vor 5 Jahren 0
@Rich Für Beispiel # 2: [0: v] [2: a] [1: v] [1: a] concat = n = 2: v = 1: a = 1 [v] [a] "` . Zum Beispiel # 3: [0: v] [0: a] [1: v] [2: a] concat = n = 2: v = 1: a = 1 [v] [a] "`. Was den Fehler im ersten Kommentar anbelangt: Aus diesem Grund sollten Sie ** die gesamte Konsolenausgabe Ihrer Befehle ** in Ihre Frage einbeziehen, damit wir potenzielle Probleme antizipieren können und passendere, weniger allgemeine Antworten für Ihren speziellen Fall geben. LordNeckbeard vor 5 Jahren 0