読者です 読者をやめる 読者になる 読者になる

MP3をOgg Vorbisに変換する

Ogg

HTML5 Audioで使うために、MP3をOgg Vorbisに変換したい。

最初、

$ ffmpeg -i audio.mp3 -y audio.ogg

のようにffmpegを使って変換を行っていたが、やたらファイルサイズが大きくなるし、Chromeでは再生できても、Firefoxで再生できない。もしかしたらffmpegのコマンドオプションやコーデックの問題なのかもしれないけど・・・(当方の環境はDebian wheezyのaptで入れたffmpeg)

ググった結果、MP3からOgg Vorbisの変換にはmpg321とoggencを使うのが良いらしいと分かった。

$ sudo apt-get install mpg321 vorbis-tools

でmpg321とoggenc(vorbis-tools)をインストールして、

$ mpg321 audio.mp3 -w - | oggenc -o audio.ogg -

のように変換する。

<!DOCTYPE html>
<html>
<body>
<audio controls>
  <source src="audio.ogg" type="audio/ogg" />
  <source src="audio.mp3" type="audio/mpeg" />
</audio>
</body>
</html>

のようなHTMLでFirefoxでもChromeでもSafariでも音声が再生されることを確認してめでたしめでたし。IE9?, Opera?, なにそれ?

mpg321とoggenc以外にも、dir2oggというツールも見つけた。内部的にはmpg321/mpg123でデコードして、oggencでエンコードするという同じことをやっているのだろうが、こちらも便利。

$ dir2ogg --mp3-decoder=mpg321 audio.mp3