2017-06-25 6 views
0

Ich arbeite mit 2 Videos und ich möchte 3 verschiedene Operationen bei Ausführung mit FFmpeg machen. Jeder Befehl arbeitet separat, aber es wird viel effizienter sein, sie alle bei der gleichen Ausführung auszuführen.FFMpeg mehrere Aktionen mit dem gleichen filter_complex

So zum Beispiel habe ich:

Video 1

Video 2

Zuerst habe ich vom Ausgangspunkt beide Videos schneiden möchten Punkt beenden:

cmd = -i video1Path -ss 00:00:30.0 -c copy -t 00:00:10.0 video1Output 
cmd = -i video2Path -ss 00:00:30.0 -c copy -t 00:00:10.0 video2Output 

Als Größenänderung Video 1: Jetzt

cmd = "-i " + video1Output+ " -vf scale=240:360" + resizedVideo1; 

der über die resizedVideo1 oben auf Video 2:

cmd = "-i " + video2Output + " -i " + resizedVideo1 + " -filter_complex [0:v][1:v]" + overlayCmd + " " + finalVideoPath; 

Ich frage mich, ob es möglich ist all diese Maßnahmen auf den gleichen FFMpeg Hinrichtung erreichen unter Verwendung von 1 filter_complex ...

Antwort

1

Der kombinierte Befehl lautet

ffmpeg -ss 30 -t 10 -i video2 -ss 30 -t 10 -i video1 
    -filter_complex 
     "[1]scale=240:360[v1];[0][v1]overlay" 
    output.mp4 
+0

Funktioniert perfekt! ist es notwendig, die -codierte Kopie attr hinzuzufügen, um eine erneute Kodierung zu vermeiden? – Juvi

+0

Wenn Sie Filter verwenden, können Sie nicht kopieren. Sie können '-c: eine Kopie 'verwenden, da Sie kein Audio filtern. – Mulvya

+0

Muss ich jedem Video-Eingang -c hinzufügen: eine Kopie oder nur die, die das Audio verwendet? – Juvi

Verwandte Themen