Ich habe die in der Antwort auf "Wie kann ich mit FFmpeg mehrere Segmente aus einem Video entfernen?" Beschriebene Methode ausprobiert. Es funktioniert gut, außer dass das Audio fehlt. Kann jemand vorschlagen, wie man das Video und das Audio in die Ausgabe erhält?
Beispiel:
Ich habe im Urlaub ein 2-minütiges Video von einem Känguru aufgenommen. Es gibt 2 Abschnitte davon (beide ungefähr 6 Sekunden lang), die ich (einschließlich des Audios) mit nur diesen 2 süßen Teilen in ein einzelnes, kurzes Stück extrahieren möchte.
Ich weiß, dass ich zwei separate Bits extrahieren und sie verbinden kann, aber der oben erwähnte Artikel hat es mir ermöglicht, genau das zu tun, was ich wollte, aber ES GIBT KEIN AUDIO, wenn Sie dieser Methode folgen.
Ich möchte einen ähnlichen einzigen Aufruf von ffMpeg verwenden.
Antworten:
Hier gehe ich davon aus, dass sich Ihre Originaldatei im
mp4
Container befindet, aber die Methode sollte auch für andere Container funktionieren.Ein-Schritt-Methode - (etwas komplizierter) Siehe auch die Antwort von ptQa im referenzierten Thread. Aber hier ist das gleiche mit Audio hinzugefügt:
Dies fügt den Audiostream und die erforderlichen Pads hinzu, um Audio zu erhalten.
Der Vollständigkeit halber vorgesehen:
Der einfache Weg: Sie können den 2-Schritt-Prozess verwenden, den Sie bereits kennen:
Zuerst schneiden und extrahieren Sie die 2 Stücke , die Sie aus dem Video in voller Länge möchten.
2. Verbinden Sie diese 2 Teile miteinander.
Dies sollte der einfache Ausweg sein.
So schneiden Sie ein Stück von etwa der dritten Sekunde bis zur neunten Sekunde ab:
Sie können den Vorgang für den zweiten Teil wiederholen. Wenn es von der 10. bis zur 16. Sekunde ist:
Weitere Informationen finden Sie in diesem Thread.
Jetzt haben Sie 2 Dateien, die Sie verbinden können. Sie können auf mindestens 3 verschiedene Arten "verketten". Die Möglichkeit, dies ohne Neucodierung zu tun, besteht darin, dies über die Option demuxer zu tun. Erstelle eine Textdatei namens (say) joinlist.txt mit folgendem Inhalt:
Um die beiden Dateien zu verbinden, platzieren Sie die beiden Filme und den Text (joinlist.txt) im selben Ordner und verwenden Sie diesen Befehl:
quelle