ffmpeg: isolieren Sie einen Audiokanal

3467
stephenwade

Wie kann ich ffmpegeinen Kanal von einer Audiodatei isolieren? Ich habe eine Stereo-Audiodatei und die Ausgabe muss der Inhalt des rechten Kanals in einer Mono-Audiodatei sein.

Ich bin mir sicher, dass es ziemlich einfach ist, aber ich kann es nicht verstehen. Danke für die Hilfe!

6

1 Antwort auf die Frage

8
LordNeckbeard

Sie haben zwei Methoden:

-map_channel

Sie können die -map_channelOption verwenden:

ffmpeg -i stereo.wav -map_channel 0.0.1 right_mono.wav 
  • Die erste 0ist die Eingabedatei-ID
  • Der nächste 0ist der Stream-Bezeichner
  • Das 1ist die Kanal-ID

Dies kann also übersetzt werden als: erste Datei, erster Stream, zweiter Kanal (oder rechter Kanal).

Aus der -map_channelDokumentation :

Die Reihenfolge der -map_channelOption gibt die Reihenfolge der Kanäle im Ausgabestrom an. Das Ausgangskanal-Layout wird anhand der Anzahl der zugeordneten Kanäle ermittelt (Mono bei Eins -map_channel, Stereo bei Zwei usw.).

pan Audiofilter

Sie können auch den panAudiofilter verwenden:

ffmpeg -i stereo.wav -af pan=1:c0=c1 right_mono.wav 
  • 1 ist das Layout des Ausgangskanals oder die Anzahl der Kanäle
  • c0=c1 ist die "outdef" - oder Ausgangskanalspezifikation
  • c0 steht für die gewünschte Ausgangskanalnummer
  • c1 steht für den zu verwendenden Eingangskanal

Lesen Sie zuerst die panDokumentation .

Interessanterweise sagt "-map_channel" in FLAC / WAV-Dateien fast augenblicklich "Pure Channel-Mapping erkannt" aus. Louis vor 10 Jahren 0
@Louis Siehe [Beispiele für Remapping] (http://ffmpeg.org/ffmpeg-filters.html#Remapping-examples) für eine Erläuterung von "Pure Channel Mapping". LordNeckbeard vor 10 Jahren 1
Ah, nett, so pan scheint überlegen, dass es auch für verlustbehaftete Dateien ein reines Channel-Mapping ermöglicht. Louis vor 10 Jahren 0
@ Louis Ich denke, es sollte das Gleiche sein. Die Konsolenausgabe des Beispiels `-map_channel` zeigt, dass` -map_channel ähnlich zu -af pan = 0x4: c0 = c1` an lavfi weitergeleitet wird, und der [md5-Muxer] (http://superuser.com/a/532223) / 110524) zeigt, dass die Streams gleich sind. Ich verstehe '0x4' allerdings nicht ganz. LordNeckbeard vor 10 Jahren 0