Entfernen Sie Audio aus einer Videodatei mit FFmpeg

Entfernen Sie Audio aus einer Videodatei mit FFmpeg

Wie kann ich mit FFmpeg die Audiospur aus einer Videodatei entfernen?

Antwort1

Sie entfernen Audio mithilfe der -anFlagge:

input_file=example.mkv
output_file=example-nosound.mkv

ffmpeg -i $input_file -c copy -an $output_file

Dieses ffmpeg-Flag ist dokumentiertHier.

Antwort2

Sie möchten das Video wahrscheinlich nicht neu kodieren (ein langsamer und verlustbehafteter Prozess), also versuchen Sie:

input_file=example.mkv
output_file=example-nosound.mkv

ffmpeg -i $input_file -vcodec copy -an $output_file

(Anm.: Einige Linux-Distributionen verfügen jetzt über dieavconv-Fork von ffmpeg)

Antwort3

avconv -i [input_file] -vcodec copy -an [output_file]

Wenn die Installation ffmpegaufgrund eines vorhandenen Programms nicht möglich ist avconv, versuchen Sie Folgendes.

Antwort4

-mapSie können die Option auch verwenden, ffmpegum eine bessere Kontrolle darüber zu erhalten, was genau in den endgültigen Videocontainer eingefügt wird.

Nehmen wir zum Beispiel an, Ihre Videodatei my_video.mp4ist folgendermaßen zusammengesetzt:

Input #0
  Stream #0:0 Video: h264
  Stream #0:1 Audio: English
  Stream #0:2 Audio: German
  Stream #0:3 Audio: Japanese
  Stream #0:4 Audio: Spanish
  Stream #0:5 Audio: Italian

Zu entfernenalleAudiospuren (wie die -anOption):

ffmpeg -i my_video.mp4 -map 0 -map -0:a -c copy my_video.noaudio.mp4`

-map 0erfasst die gesamte Eingabe (Videos, Audios, Untertitel, Metadaten, Kapitel usw.).
-map -0:a entfernt alle Audiospurenvon Eingabe 0 (beachten Sie das -Vorzeichen).
-c copyKopiert es unverändert, ohne es erneut zu kodieren.

Zum Entfernen derjapanischUndSpanischSpuren:

ffmpeg -i my_video.mp4 -map 0 -map -0:3 -map -0:4 -c copy my_video.nojap.noesp.mp4`

-map -0:3Entfernt die 3. Spur von Eingang 0, nämlich den japanischen Ton.
-map -0:4Entfernt die 4. Spur von Eingang 0, nämlich den spanischen Ton.

Um alle Audiospuren zu entfernen, aberItalienisch:

ffmpeg -i my_video.mp4 -map 0 -map -0:a -map 0:5 -c copy my_video.ita.mp4`

-map -0:aEntfernt alle Audiospuren von Eingang 0.
-map 0:5Fügt die 5. Spur von Eingang 0 ein, die italienische Audiospur (beachten Sie -in diesem Fall das NEIN-Zeichen).


Dies ist auch sehr nützlich, wenn Sie mit mehr als einer Datei arbeiten.
Zum Beispiel, wenn:

  • Audio aus einer Datei erfassen
  • Audiospuren von einem anderen
  • Untertitel und Metadaten von einem dritten

verwandte Informationen