2013/09/24(火)FreeBSD - ices0 が配布パッケージから除外(icegenerator の導入)

2017/10/12 5:37 サーバ運営・管理
ices0 というのは、インターネットラジオ放送において、エンドレスで繰り返し音楽などを流すためには欠かせないソフトウェアのひとつです。
これを「ストリーミング」などと言います。

有線放送におけるBGMを流すために不可欠なものと思って結構です。
今般、2ヶ月ぶりにサーバの各種モジュールをアップデートしようとしたら、FreeBSD の配布モジュール Ports において、24000余りのモジュールが更新・削除などされている模様。。orz

その過程で、提起の ices0 の提供が無くなってしまい、MP3 形式で保存してある数多くの音楽をストリーミング出来なくなりました。
ices0 の代わりになるものを探さなければならない。
ちょっと調べると icegenerator を代わりに使えということらしい。仕方が無いので、これを導入すること にしました。

しかし、いざ導入となるとあまり情報がありません。しかも結構古く、更新が2006年あたりで止まっている。。。大丈夫かいな? と心配でしたが、案の定少し嵌りました。。
以下、自分メモ。

MP3 形式のストリーミングには、この icegenerator のほかに
・icecast2 (現バージョン 2.3.3、libshout,lame など別途必要)
・id3lib (現バージョン 3.8.3、曲目メタ情報の処理に必須)

を予めインストールする必要があります。
上記をインストールした環境で icegenerator をインストールしないと面倒です。
icegenerator は、FreeBSD の場合は Ports からインストールが無難。
先ず、
# cd /usr/ports/audio/icegenerator
として、該当モジュールのディレクトリへ移動。
ここで、Makefile を以下の赤文字部分追加:
CONFIGURE_ARGS=   --exec-prefix=$PREFIX --with-shout=/usr/local --with-id3=/usr/local

ここで、
# make install
とすると、自動的にインストール作業が始まりますが、コンパイルエラーが2箇所出て途中で止まってしまうので、コンパイルエラーで指摘された部分をエラーメッセージを参考に手動修正しなければなりませんでした。

コンパイルが通って、インストールが終われば今度は設定ファイルの作成。
icecast2 の設定は、基本的に以前の設定を変える必要無し。
icecast2 の設定は、ここ を参考に。

問題は、icegenerator の設定。一応 ここ にわかりやすくまとめられてはいるが、鵜呑みにできま せん。
自らの環境に合わせて変えるのは言うまでもないですが、
SOURCE=source
は、このままでOK.ですが、
BITRATE=48000
は、WinAMP では上手く再生できるものの、当方には これ↓ (BB-shout) があり、
webradio01.jpg
接続してみると、どういうわけかエラーになります。
1時間ほど試行錯誤繰り返してみると、どうもここは、
BITRATE=48
のように 1kbps 単位で指定しないと駄目っぽい。BB-shout のバグなのか、icegenerator のバグか判りませんが、ともかくこの指定で動作するようになりました。