it-swarm.com.de

Wie kann ich mit ffmpeg Untertitel aus Videos extrahieren?

Ich versuche, Untertitel aus dem Video als .srt-Datei zu extrahieren. Ich habe den folgenden Befehl verwendet:

FFMPEG -i mytestmovie.mkv -vn -an -codec: s: 0.1 srt sub.srt

Aber ich habe eine Fehlermeldung als nicht erkannte Option erhalten. codec:s:0:1 Kannst du mir den genauen Befehl und das Extrahieren eines Untertitels als .srt-Datei in einem Video mitteilen?

31
vijay

Einfach:

ffmpeg -i Movie.mkv -map 0:s:0 subs.srt
  • - i : URL/Pfad der Eingabedatei.
  • - map : Legen Sie einen oder mehrere Eingabestreams als Quelle für die Ausgabedatei fest.
  • s: 0 : Wählen Sie den Untertitel-Stream.
48
jm3

-codec:s:0:1 ist falsch. Wenn Sie -codec:s:0 verwenden, verwendet ffmpeg den angegebenen Codec für den ersten Untertitel-Stream, der an die Ausgabe übergeben wird. Wenn Sie -codec:s:1 verwenden, wird er für den zweiten Untertitel-Stream usw. verwendet.

Sie können auch -codec:s verwenden, um alle Ausgabe-Untertitelströme auszuwählen, oder -codec:2, um den dritten Ausgabe-Stream auszuwählen, unabhängig davon, um welchen es sich handelt.

Sie sind wahrscheinlich verwirrt, weil sich die Option -map anders verhält. Dort müssen Sie auswählen, von welchem ​​Eingang der ausgewählte Stream stammt. (also würde -map 0:s:0 den ersten Untertitelstrom von der ersten Eingabe nehmen und ihn der Ausgabe zuführen). Mit -map können Sie jedoch auswählen, welche Streams Sie von den Eingaben abrufen möchten. Während die meisten anderen Optionen, die die Stream-Zuordnung verwenden, für die Streams verwendet werden, nachdem sie ausgewählt wurden (sodass nicht angegeben werden muss, aus welcher Eingabedatei sie stammen), wenn sie an die Ausgabe übergeben werden.

8
evilsoup