音声ファイルの形式にはたくさんの種類があります。
代表的なファイル形式にはAACがありますが、最近はオープンフォーマットでYoutubeやDiscordでも採用されている
opusが注目されています。
サーバ上でopus形式に変換する方法を紹介します。
opusとは?
opusはMP3やAACと同じく音声フォーマットの一つです。
最近はyoutubeなど様々なサービスで採用され注目されています。
opusの特徴とは?
- オープンでロイヤリティフリー
- 音声や音楽様々なジャンルに適用可
- 高~低ビットレートまで高い品質
- 超低遅延(デコード)リアルタイム通話などに向く
Opus-toolでwavをopusに変換
Ubuntuではaptからインストール可能です。opusencコマンドで.wavファイルを.opusファイルに変換可能です。
apt install opus-tools
opusenc test.wav test.opus
# defaultのビットレートはmono streamあたり64kbps, ペアで96Kbps, VBR
# option
# --comp (0-10, default 10) 10が最も高品質なエンコードを行うが遅い
# --downmix-mono モノラルにダウンミックスする
# --downmix-stereo ステレオにダウンミックス
ffmpegを使って変換
ffmpegは音声や動画ファイルのエンコード/デコードを行うアプリケーションです。
ffmpegのインストールはこちら
### 普通にエンコードする場合(wavから直接)
ffmpeg -i audio.m4a -f wav - | opusenc - audio.opus
### カレントディレクトリのm4aをopusに変換
ls -1|cut -d "." -f 1 | while read file ;do ffmpeg -i $file.m4a -f wav - |opusenc - $file.opus; done