以前にrtmpとopensslに対応するようにffmpegをhomebrewでインストールしました。
今回、Ogg Vorbisのことを調べていたら、ffmpegにlibvorbisを追加しないとマトモなVorbisファイルを作れないことを知りました。
atword.jp - このウェブサイトは販売用です! - レンタル テンプレート 無料ブログ ワードプレス サーバ リソースおよび情報
ということで、再度入れ直すことに。
インストール
まずアンインストール。
$ brew uninstall ffmpeg Uninstalling /usr/local/Cellar/ffmpeg/1.2.1...
そして適切なオプション(--with-openssl --with-rtmpdump --with-libvorbis)を付けてインストール。
$ brew install ffmpeg --with-openssl --with-rtmpdump --with-libvorbis ==> Installing ffmpeg dependency: xz ==> Downloading http://fossies.org/linux/misc/xz-5.0.5.tar.gz ######################################################################## 100.0% ==> ./configure --prefix=/usr/local/Cellar/xz/5.0.5 ==> make install 🍺 /usr/local/Cellar/xz/5.0.5: 58 files, 1.5M, built in 24 seconds ==> Installing ffmpeg dependency: libogg ==> Downloading http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz ######################################################################## 100.0% ==> ./configure --prefix=/usr/local/Cellar/libogg/1.3.0 ==> make ==> make install 🍺 /usr/local/Cellar/libogg/1.3.0: 85 files, 520K, built in 9 seconds ==> Installing ffmpeg dependency: libvorbis ==> Downloading http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.xz ######################################################################## 100.0% ==> ./configure --prefix=/usr/local/Cellar/libvorbis/1.3.3 ==> make install 🍺 /usr/local/Cellar/libvorbis/1.3.3: 162 files, 7.0M, built in 17 seconds ==> Installing ffmpeg ==> Downloading http://ffmpeg.org/releases/ffmpeg-1.2.1.tar.bz2 Already downloaded: /Library/Caches/Homebrew/ffmpeg-1.2.1.tar.bz2 ==> ./configure --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable ==> make install 🍺 /usr/local/Cellar/ffmpeg/1.2.1: 147 files, 26M, built in 2.3 minutes
なお、Mac mini(1世代前)だから2.3分で済んでますが、2代目MBA(しかもメモリスワップ中)だと
/usr/local/Cellar/ffmpeg/1.2.1: 147 files, 26M, built in 17.4 minutes
だったことを記録しておきます。
適切なオプションなど
ffmpegを使う場合の注意としては…エンコードする際には"-acodec libvorbis"を指定することが必要です。"-acodec vorbis"は使用しないことを強くお勧めします。
なお、特別な理由が無い限り"-ab"オプション(ビットレート指定)ではなく"-aq"オプション(クオリティ指定)を使用してください。libvorbisやaoTuVはQuality based VBRで最適化されています。CBR(固定ビットレート)やABR(平均ビットレート)でのエンコードは音質的にも、速度的にも十分に最適化されてはいません。
"-aq"の値は目安として0〜10の値が64〜500kbpsに対応します。
atword.jp - このウェブサイトは販売用です! - レンタル テンプレート 無料ブログ ワードプレス サーバ リソースおよび情報
とのことですが、これを知らずにエンコードした結果を示しておきます。
gogakuondemand.rbのffmpegのオプションを変更した結果です。
ダウンロードしたのは「英語で読む村上春樹」です。音声の時間は30分です。
なお、ストリーミングのオリジナルであるm4aフォーマットでのファイルサイズは10.8MB、mp3フォーマットでは14.4MBです。
Input #0, ogg, from '/Volumes/share/tmp/Ruby/radiru/gogaku/dev/yomu/英語で読む村上春樹_2013_08_04_.ogg': Duration: 00:30:00.87, start: 0.000000, bitrate: 441 kb/s Stream #0:0: Audio: flac, 24000 Hz, stereo, s32
- アウトプットオプション:-acodec libvorbis
- ファイルサイズ:11.0MB
Input #0, ogg, from '/Volumes/share/tmp/Ruby/radiru/gogaku/dev/yomu/英語で読む村上春樹_2013_08_04_enc.ogg': Duration: 00:30:00.87, start: 0.000000, bitrate: 48 kb/s Stream #0:0: Audio: vorbis, 24000 Hz, stereo, fltp, 66 kb/s
- アウトプットオプション:-ab 64k -acodec libvorbis
- ファイルサイズ:10.7MB
Input #0, ogg, from '/Volumes/share/tmp/Ruby/radiru/gogaku/dev/yomu/英語で読む村上春樹_2013_08_04.ogg': Duration: 00:30:00.87, start: 0.000000, bitrate: 47 kb/s Stream #0:0: Audio: vorbis, 24000 Hz, stereo, fltp, 64 kb/s
- アウトプットオプション:-aq 0 -acodec libvorbis
- ファイルサイズ:7.8MB!
Input #0, ogg, from '/Volumes/share/tmp/Ruby/radiru/gogaku/dev/yomu/英語で読む村上春樹_2013_08_04.ogg': Duration: 00:30:00.87, start: 0.000000, bitrate: 34 kb/s Stream #0:0: Audio: vorbis, 24000 Hz, stereo, fltp, 36 kb/s
ということで、オリジナルサイズよりも小さくなります。音質の差はほとんどありません。
具体的に言えば、m4aのほうが繊細、Ogg Vorbisのほうが押しが強い。聞きやすさは好みによるかと思います。
もしも適切な音質のままファイルサイズを小さくするのであれば、Ogg Vorbisも検討すべきだと感じました。
iOSにもandroidにも再生アプリはあります。
QuickTime / iTunesでOgg Vorbisを再生できるようにする
Macの場合(ただしSnowLeopardまでorz)
旧・Macの手書き説明書 - FC2 BLOG パスワード認証
http://downloads.xiph.org/releases/xiph-qt/xiph-qt-0.1.9.dmg ←直リンク
このイメージファイルを開いて「XiphQT.component」を
- /Library/QuickTime
または
- ~Library/QuickTime
Windowsの場合(Win7とか8とかで動作するのかしら??)
iTunesの限界突破!「Ogg Vorbis」を聴けるようにする裏技
http://downloads.xiph.org/releases/xiph-qt/xiph-qt-win32-0.1.5.exe ←直リンク
このexeファイルを開いて(解凍して)中にある「XiphQT.qtx」を
- C:\Program Files\QuickTime\QTComponents
へ移動させます。
*1:64bitで動作しているため、のようです。