web-dev-qa-db-ja.com

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

FFMPEGを使用してGSM6.10オーディオファイルでステレオオーディオをモノラルにマージできるかどうか知りたいのですが。もしそうなら、これを達成するためのコマンドを提供してください。
それ以外の場合、FFMPEGを使用してGSM6.10をWAV PCMに変換することは可能ですか?次に、WAV PCMのチャネルをマージします。

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

32
Ron Harlev

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コーデックをサポートする必要があることに注意してください。一部のGSMエンコードされたオーディオがlibgsmを介してffmpegでサポートされていることは知っていますが、自分でGSMファイルを扱ったことはありません。しかし、他の種類のファイル(MP3)を問題なくモノに変換できました。

50
Ryan Tate

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

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

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

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

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

それは私にとって十分な解決策を生み出しました。

1
Eagle

Soxでそれが可能であることはわかっています...チャネルの操作にはsoxを使用し、穏やかな編集にはkdenliveとaudacityを使用し、再多重化にはffmpegを使用します。過去にうまくいったことをあなたに知らせてください。

0
RobotHumans