web-dev-qa-db-ja.com

oggファイルの品質を変更(低下)しますか?

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
sunyata

ここには2つの優れた選択肢があります。

  1. FFmpegコマンドラインを調整して、より小さいOgg Vorbisファイルを作成します。
  2. FFmpegを使用してlibopusで小さなファイルを作成する

両方の詳細は以下のとおりです。

1。 FFmpegコマンドラインを調整します...

重要な問題は、FFmpegが選択したビットレートに適切に一致するようにオーディオサンプリングレートを自動的に変更しないことです。しかし、FFmpegは通常、多くの手を握っていません。

オーディオCDのサンプリングレートは通常44100 Hzですが、単純なテレフォニーのサンプリングレートは通常8000 Hzよりわずかに大きいことに注意してください。したがって、32k Ogg Vorbisオーディオに最適なサンプリングレートを選択することができます。以下はいくつかのガイドラインです。

  • 44100 Hz:一般的なオーディオCDのサンプルレート。 32kファイルのFFmpegによって拒否されました。
  • 32000 Hz:スピーチに適していますが、ファイルサイズを小さくして品質の低下が予想される他のオーディオファイルにも適しています。 32kファイルのFFmpegによって拒否されました。
  • 22050 Hz:音声に適し、他のオーディオにも使用できますが、オーディオ品質の低下が予想されます。 32kファイルのFFmpegで受け入れられました。
  • 11025 Hz:音質が非常に悪い。 32kファイルのFFmpegで受け入れられました。
  • 8000 Hz:最新のテレフォニーシステムよりもわずかに低いサンプリングレートで、ほとんどの録音タスクには推奨されません。 32kファイルのFFmpegで受け入れられました。

これを念頭に置いて、私の独自のテストでは、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の優れたリソースへのリンクを含めました...

参考文献:

  • サンプルレート :オーディオのサンプルレートの最適な設定を示すAudacity開発者からの素敵なページ。
  • スピーチエンコーディング品質 :スピーチのOpus設定をガイドする決定的なHydrogenAudioページ。

  • 15.8 libopus :libopusエンコーディングで使用するためのFFmpegオプション。 -application voip上記で使用した設定で、(他の設定とは異なり)opusencと同等のものはありません。

4
andrew.46

この低ビットレートは、ファイルのデフォルトのサンプリングレートではサポートされていません。ビットレートを下げる前に、低いサンプリングレートを指定する必要があります。オプション-b:a 32kを受け入れるには、オプション-ar 8000を追加します。

1
vanadium