2016-11-17 4 views
1

Ich möchte mit ffprobe alle Audiostreams auflisten und anzeigen, welche Sprache verwendet wird.Verwenden Sie ffprobe, um die Audiospuren nach Sprache anzuzeigen

Dies ist nur ein Teil von mir versucht, Wege zu finden, nicht-Englisch-Tracks aus Videodateien automatisch zu entfernen.

Ich bin neu zu ffprobe, habe aber einige Erfahrung mit ffmpeg.

Weil ich weiß, dass es keine Garantie gibt, in welcher Reihenfolge die Sprachspuren sein können.

Aus diesem Grund ist es wichtig, jede Spur nach Nummer und Sprache aufzulisten, und wenn ich weiß, dass dieser Teil funktioniert, finde heraus, wie man die nicht-englischen entfernen kann.

Danke für Ihre Zeit.

+0

Ich würde Ihre Zeit zu fragen auf Stackoverflow nicht die Mühe zu verschwenden. Sie werden am Ende downvoted und stimmen zu schließen, weil die Frage nicht programmiert wird. Es ist dumm ich weiß, aber es ist mir passiert. Wenn man sich alle neuen ffmpeg-Fragen zu SO anschaut, werden viele abgelehnt. – BugHunterUK

Antwort

3

Ausführen dieses ffprobe Befehl

ffprobe in.mp4 -show_entries stream=index:stream_tags=language -select_streams a -of compact=p=0:nk=1 

wird dieser Ausgang

1|eng 
2|deu 
3|eng 
4|eng 
5|fre 

Der erste Wert erzeugen ist der absolute Stream-Index und der zweite Wert der Sprach-Tag zugeordnet.

So entfernen Sie nur und alles Englisch getaggten Audio-Streams, läuft

ffmpeg -i in.mp4 -c copy -map 0 -map -0:m:language:eng NoEng.mp4 

nur Englisch getaggten Audio-Streams zu halten, läuft

ffmpeg -i in.mp4 -c copy -map 0:v -map 0:m:language:eng OnlyEng.mp4 
+0

Was ist mit einem Befehl zum Entfernen aller nicht-englischen Audiospuren. – crosenblum

+0

Lassen Sie mich klären, was, wenn ich das Englisch behalten wollte, aber alle anderen Audiospuren entfernen, wie mache ich das? – crosenblum

Verwandte Themen