192kbpsの品質の.oggファイル(音声を含む)を32kbpsに削減したい(スペース節約のため)
これどうやってするの?
これまでのところ私はこれを試しました:
ffmpeg -i filename.ogg -ab 32k -f ogg new-filename.ogg
しかし、私はこのエラーを受け取ります:
[libvorbis @ 0x56157365ab60] encoder setup failed
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
間違ったコマンドを使用していますか?スペースを節約するために利用できるより良いアプローチはありますか? 192kbpsファイルのみにアクセスできることに注意してください(オリジナルではありません)
助けてくれてありがとう!
ここには2つの優れた選択肢があります。
両方の詳細は以下のとおりです。
1。 FFmpegコマンドラインを調整します...
重要な問題は、FFmpegが選択したビットレートに適切に一致するようにオーディオサンプリングレートを自動的に変更しないことです。しかし、FFmpegは通常、多くの手を握っていません。
オーディオCDのサンプリングレートは通常44100 Hzですが、単純なテレフォニーのサンプリングレートは通常8000 Hzよりわずかに大きいことに注意してください。したがって、32k Ogg Vorbisオーディオに最適なサンプリングレートを選択することができます。以下はいくつかのガイドラインです。
これを念頭に置いて、私の独自のテストでは、22050 Hzのサンプリングレートを使用するのが最善であることを示唆しています。これは、スピーチには完全に適切であり、コマンドラインはになる:
ffmpeg -i filename.ogg -c:a libvorbis -ab 32k -ar 22050 new-filename.ogg
そして、これは私自身のセットアップでかなり合理的な結果を生み出しました...
2。 FFmpegを使用して、libopusを使用して小さなファイルを作成します...
Ogg Vorbisの使用をすべて設定していない場合は、Opusを使用することをお勧めします。私のテストでは、Ogg Vorbis 32kエンコードと比較して、各ファイルから適切な数のキロバイトを削減しました。スピーチファイル用に調整された次のようなものを試してください。
ffmpeg -i filename.ogg \
-c:a libopus -b:a 16k -ar 16000 -ac 1 -application voip \
new-filename.ogg
結果として得られる出力ファイルのサイズとオーディオ品質の両方にうれしく思います。 Opusのさらに優れたコマンドラインへのガイドとなるはずの「リファレンス」に、HydrogenAudioの優れたリソースへのリンクを含めました...
参考文献:
スピーチエンコーディング品質 :スピーチのOpus設定をガイドする決定的なHydrogenAudioページ。
15.8 libopus :libopusエンコーディングで使用するためのFFmpegオプション。 -application voip
上記で使用した設定で、(他の設定とは異なり)opusencと同等のものはありません。
この低ビットレートは、ファイルのデフォルトのサンプリングレートではサポートされていません。ビットレートを下げる前に、低いサンプリングレートを指定する必要があります。オプション-b:a 32kを受け入れるには、オプション-ar 8000を追加します。