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
Können Sie mir also den genauen Befehl und das Extrahieren eines Untertitels als .srt
Datei in einem Video mitteilen ?
Antworten:
Einfach:
quelle
0:s:1
laden Sie mit den zweiten,0:s:2
den dritten und so weiter herunter.-map
Parameter für jede Datei duplizieren . Auch enthalten ,-c copy
so dass es nur die Datei extrahiert , ohne zu versuchen , sie zu verarbeiten:ffmpeg -i Movie.mkv -c copy -map 0:s:0 subs.01.srt -c copy -map 0:s:1 subs.02.srt
. Auf jeden Fall wird es lange dauern, da ffmpeg die gesamte Videodatei lesen muss, um alle Teile der Untertitelströme zu finden.-codec:s:0:1
ist falsch. Wenn Sie-codec:s:0
dann ffmpeg verwenden, wird der angegebene Codec für den ersten Untertitel-Stream verwendet, der an die Ausgabe übergeben wird. Wenn Sie dann ffmpeg verwenden,-codec:s:1
wird er für den zweiten Untertitel-Stream verwendet, usw.Sie können auch verwenden
-codec:s
, um alle Ausgabe-Untertitelströme oder-codec:2
den dritten Ausgabestream auszuwählen, unabhängig davon, um welchen Stream es sich handelt.Sie sind wahrscheinlich verwirrt, weil sich die
-map
Option anders verhält. Dort müssen Sie auswählen, von welchem Eingang der ausgewählte Stream stammt. (-map 0:s:0
würde also den ersten Untertitelstrom von der ersten Eingabe nehmen und ihn der Ausgabe zuführen). Hier können Sie-map
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.quelle
ffmpeg -i E:\Routine\routine.mkv -map 0:s:0 E:\Routine\sub.srt
(ffmpeg sollte erkennen, dass Sie srt Untertitel aus dem Namen der Ausgabedatei möchten)ffmpeg -i film.mp4 -vn -an -codec:s srt film.srt
das sollte alle Untertitel in die srt-Datei kopieren.-codec:s
ist gleich,-codec:s:0
so dass nicht alle Untertitel ausgewählt werden ... es wird die erste