Legen Sie eine Untertitelsprache mit ffmpeg

Ich habe versucht, googeln Sie die Sprache der Untertitel-stream mit ffmpeg und gefunden -slang option. Also versuchte ich den folgenden Befehl aber sofort eine Fehlermeldung:

ffmpeg -i input.avi -i subs.srt -c:a copy -c:s mov_text -slang eng -c:v libx264 -profile:v high -level:v 4.0 output.mp4
ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 18 2013 23:00:53 with Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn)

libavutil 52. 13.100 /52. 13.100

libavcodec 54. 86.100 /54. 86.100

libavformat 54. 59.106 /54. 59.106

libavdevice 54. 3.102 /54. 3.102

libavfilter 3. 32.100 /3. 32.100

libswscale 2. 1.103 /2. 1.103

libswresample 0. 17.102 /0. 17.102

libpostproc 52. 2.100 /52. 2.100

Unrecognized option 'slang'.

Fehler Spaltung der argument-Liste: Option nicht gefunden

Nach mehr googeln fand ich einen anderen Weg, es zu tun mit der-Metadaten-Befehl:

ffmpeg -i input.mp4 -i subs.srt -c:a copy -c:v copy -c:s mov_text -metadata:s:s:0 language=eng output.mp4

Und das funktioniert absolut gut. Aber das ist nicht erwähnt in der ffmpeg-Mann-Seite, in der Erwägung, dass -slang ist, das macht mich denken, die -Metadaten-Befehl ist vielleicht veraltet oder in irgendeiner anderen Weise nicht so gut wie-slang.

  1. Was ist der Unterschied zwischen der Verwendung der beiden oben genannten Methoden (-slang vs -Metadaten)?
  2. Warum mein -slang-Befehl eine Fehlermeldung zu geben? Habe ich es falsch?
  • Sie sollten auch die Konkurrenz zu ffmpeg die Ausgabe der Konsole für jedes Ihrer ffmpeg-Befehle.
InformationsquelleAutor Sam | 2013-07-29
Schreibe einen Kommentar