Führen Sie zwei Audiokanäle (Stereo) mit FFMPEG zu einem (Mono) auf GSM6.10 zusammen

27

Ich möchte wissen, ob es möglich ist, Stereo-Audio in einer GSM6.10-Audiodatei mit FFMPEG in Mono zusammenzuführen. Wenn dies der Fall ist, geben Sie bitte den entsprechenden Befehl ein.
Ist es ansonsten möglich, GSM6.10 mit FFMPEG in WAV PCM umzuwandeln? Ich könnte dann die Kanäle auf dem WAV PCM zusammenführen.

Wenn es ein anderes kostenloses Tool gibt, das das kann, kann ich das auch versuchen.

Ron Harlev
quelle

Antworten:

42

Der Weg zum "Abmischen" von Stereo auf Mono in jeder unterstützten Datei in ffmpeg ist wie folgt:

ffmpeg -i file.ext -ac 1 file_mono.ext

Das "-ac 1" -Bit weist ffmpeg an, nur 1 Audiokanal auszugeben, dh Mono. Standardmäßig behält dieser Vorgang Ihr Dateiformat bei, setzt jedoch Ihre Bitrate auf den ffmpeg-Standard von 64 KBit / s zurück. Wenn Sie eine höhere Bitrate wünschen, können Sie Folgendes tun:

ffmpeg -i file.ext -ac 1 -ab 192k file_mono.ext

... 192k durch Ihre bevorzugte Bitrate ersetzen.

Beachten Sie, dass Ihre Installation von ffmpeg Ihren speziellen GSM-Codec unterstützen muss, damit dies ordnungsgemäß funktioniert. Ich weiß, dass einige GSM-codierte Audiodateien in ffmpeg durch libgsm unterstützt werden, habe mich aber nie selbst mit GSM-Dateien befasst. Ich habe jedoch erfolgreich andere Dateitypen (MP3) problemlos in Mono konvertiert.

Ryan Tate
quelle
3
Vermischt sich das wirklich oder werden nur Kanäle gelöscht?
Jonny
In der Dokumentation zum Filter 'pan' heißt es: "Beachten Sie, dass ffmpeg ein standardmäßiges Down-Mix- (und Up-Mix-) System integriert, das bevorzugt werden sollte (siehe Option" -ac "), sofern Sie keine besonderen Anforderungen haben."
Hör auf, Monica
Sowohl Eingabe- als auch Ausgabedateien dürfen nur Audiodateien sein. Der Eingang kann kein Video sein.
Kevin
1
Manipulation von Audiokanälen "Mischen Sie einen einzelnen Stereostream zu einem Monostream. Beide Kanäle des Stereostreams werden in den Stream ffmpeg -i stereo.flac -ac 1 mono.flac
heruntergemischt
@ Kevin - Eingang kann eine Videodatei sein, ich habe gerade überprüft, (mit oder ohne -vn)
Berry Tsakala
7

Die obige Antwort funktioniert für den Fall, dass Sie immer noch zwischen Formaten konvertieren möchten, aber für lange Dateien, die lange dauern können. Oder vielleicht möchten Sie nicht noch einmal konvertieren, was die Qualität beeinträchtigt, und Sie möchten möglicherweise nur Kopien streamen. Die gleichzeitige Verwendung von -codec: a und -ac 1 funktioniert nicht, aber gemäß der ffmpeg-Pan-Filterdokumentation, wenn bestimmte Bedingungen erfüllt sind (z. B. wenn Sie die Pegel von Kanälen nicht anpassen oder zwei Kanäle zu einem mischen). , erkennt es diesen Fall und meldet: "Pure channel mapping detected" und erstellt eine Stream-Kopie, die viel schneller ist.

Zum Beispiel: Um eine Stereodatei in Mono zu machen, indem Sie nur den linken Kanal verwenden und den Videostream kopieren, gehen Sie wie folgt vor:

ffmpeg -i infile.ext -codec:v copy -af pan="mono: c0=FL" outfile.ext
mondaugen
quelle
0

Ich weiß, dass es mit sox möglich ist ... ich verwende sox für die Kanalmanipulation, kdenlive und audacity für die milde Bearbeitung und ffmpeg für das Remuxen. Ich möchte Sie nur wissen lassen, was in der Vergangenheit für mich gut funktioniert hat.

RobotHumans
quelle
0

Um das Video zu erhalten, habe ich oben eine Kombination aus zwei Antworten verwendet:

ffmpeg -i infile -codec:v copy -ac 1 -ab 192k outfile

Das ergab für mich eine ausreichende Lösung.

Adler
quelle