FFMPEGを使用して、GSM6.10で2つのオーディオチャネル(ステレオ)を1つ(モノ)にマージします


27

FFMPEGを使用して、GSM6.10オーディオファイルのステレオオーディオをモノラルにマージできるかどうかを知りたいです。そうである場合、これを実現するコマンドを提供してください。
そうでない場合、FFMPEGでGSM6.10をWAV PCMに変換できますか?その後、WAV PCMのチャネルをマージできました。

これを行うことができる別の無料ツールがあれば、私もそれを試すことができます。

回答:


42

ffmpegでサポートされているファイルでステレオからモノに「ミックスダウン」する方法は次のとおりです。

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

「-ac 1」ビットは、ffmpegに1つのオーディオチャネル、つまりモノラルのみを出力するように指示します。デフォルトでは、この操作はファイル形式を保持しますが、ビットレートをffmpegのデフォルトの64kbsに戻します。より高いビットレートが必要な場合は、次を実行できます。

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

... 192kを好みのビットレートに置き換えます。

これが適切に機能するためには、ffmpegのインストールが特定のGSMコーデックをサポートする必要があることに注意してください。libgsmを介してffmpegでGSMエンコードオーディオがサポートされていることは知っていますが、GSMファイルを自分で処理したことはありません。ただし、他の種類のファイル(MP3)を問題なくモノに変換できました。


3
これは本当にミキシングなのでしょうか、それとも単にチャンネルを落とすだけなのでしょうか?
ジョニー14

「パン」フィルターのドキュメントから:「ffmpegは、特別なニーズがない限り、優先されるデフォルトのダウンミックス(およびアップミックス)システムを統合します(「-ac」オプションを参照)。
停止ハーミングモニカ14

入力ファイルと出力ファイルの両方がオーディオファイルのみである必要があります。入力をビデオにすることはできません。
ケビン14

1
オーディオチャンネルの操作「単一のステレオストリームをモノストリームにミックスします。ステレオストリームの両方のチャンネルがストリームにダウンミックスされます。」ffmpeg -i stereo.flac -ac 1 mono.flac
ジョエルパー

@ケビン-入力はビデオファイルにすることができます、私はちょうど確認しました、(
ベリー・サカラ

7

上記の答えは、フォーマット間で変換したい場合に機能しますが、長いファイルには時間がかかります。または、品質を落とすためにもう一度変換したくないので、単にコピーをストリーミングしたいかもしれません。-codec:aと-ac 1を同時に使用しても機能しませんが、ffmpegパンフィルターのドキュメントによると、特定の条件が満たされている場合(チャンネルのレベルを調整していない、または2つのチャンネルを1つに混合していないなど) 、このケースを認識して「Pure channel mapping detected」とレポートし、ストリームコピーを実行します。

例:左チャンネルを使用してビデオストリームをコピーするだけでステレオファイルをモノラルにするには、次のようにします。

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

0

soxでそれが可能であることを知っています。過去に私にとってうまくいったことをお知らせください。


0

ビデオを保存するために、上記の2つの回答を組み合わせて使用​​しました。

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

それで十分な解決策が得られました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.