Wie wird nur eine Spur (nicht alle) aus dem Videodatei-Container (.vob oder .mkv) mit ffmpeg entfernt?
Ich weiß, dass ich einfach Video ( -c:v copy -an
) und spezifische Audiospur vom Container in zwei getrennte Dateien kopieren und dann verbinden kann.
Aber gibt es einen leichteren Weg? Kann ich bestimmte Tonspuren einfach aus dem Container entfernen? ffmpeg Befehl?
Verwenden Sie negative Zuordnung , um bestimmte Datenströme auszuschließen:
%Vor%In diesem Beispiel wird alles außer dem zweiten Audiostream abgebildet.
Sie suchen -map
.
Ich habe geändert, um avconv
zu verwenden, aber es sollte ungefähr dasselbe sein.
Nehmen wir an, Sie haben eine Datei namens "input.vob" mit einem Video und zwei Audiospuren; und du willst "output.vob" mit dem Video und dem letzten Audio haben.
Sie würden tun:
%Vor%Sie sollten das bemerken:
-map 0:1
nicht kopiert
-an
nicht machen, weil es Audiospuren gibt. Wenn jedoch keine Audiospuren vorhanden sind, müssen Sie möglicherweise ein solches Attribut verwenden. Sie können nicht an Dateien "an Ort und Stelle" arbeiten, Sie müssen in einer anderen Datei speichern.
P.S. Möglicherweise möchten Sie diese Fragen nächstes Mal auf video.stackexchange.com stellen.