【Linux】Icecast serverのクライアントIceSをコンパイル、インストール
前の記事で音楽(mp3など)ファイルをストリーミング配信(インターネットラジオ)するIcecastのコンパイルとインストールを書いたけど、そのIcecast Serverに接続してストリーミング配信の設定するクライアントユーティリティIceSをコンパイル、インストールしてみた。
環境はCentOS 5.3
ちなみにWindows環境でwinampからIcecast Serverに接続する方法はこちらの記事を参考に。
ソースをここからダウンロード→解凍→コンパイル→インストール。コンパイルに必要なソフトはicecast serverをインストールした記事を参考に。
# tar xzvf ices-2.0.1.tar.gz
# cd ices-2.0.1
# ./configure
# make
# make install
/usr/local/bin/icesと/usr/local/share/iceができる。
/usr/local/share/iceに簡単なマニュアルと設定サンプルXMLが配置される。
例えば/opt/musicディレクトリに配信したい音楽ファイルを置いてストリーミング配信したい場合は次のような感じ。
プレイリストを作成
# find /opt/music/ -iname "*.mp3" > /opt/music/playlist.txt
/usr/local/share/ices/ices-playlist.xmlを編集
# vi /usr/local/share/ices/ices-playlist.xml
<input>
<param name="file">/opt/music/playlist.txt</param>
</input><instance>
<password>password</password>
</instance>
パスワードはicecast.xmlのsource-passwordタグで設定した値を記述。
ログファイル置き場を作ってなかったら作成
# mkdir /var/log/ices
これでストリーミング開始
# ices /usr/local/share/ices/ices-playlist.xml
icecast serverにアクセスすると、なんか再生している感じ。
でもログファイルをみると次のようなエラーが出ている。
[2009-09-14 18:16:51] INFO playlist-builtin/playlist_read Currently playing "/opt/music/sample2.mp3"
[2009-09-14 18:16:51] WARN playlist-builtin/playlist_read Corrupt or missing data in file (/opt/music/sample2.mp3)
調べてみると、ices2はmp3に対応してないらしい。ogg形式のみ。思いっきりダウンロードサイトに書いてあった。
icesを止めるときは
# killall ices
しょうがないのでices0をダウンロード→インストール。
# tar xzvf ices-0.4.tar.gz
# cd ices-0.4
# ./configure
# make
# make install
/usr/local/bin/icesとマニュアルが/usr/local/doc/ices/にできる。
設定ファイルは/usr/local/etc/ices.conf.distをコピーして作成。
# cp /usr/local/etc/ices.conf.dist /usr/local/etc/ices.conf
# vi /usr/local/etc/ices.conf
<Playlist>
<File>/opt/music/playlist.txt</File>
</Playlist><Server>
<Password>password</Password>
</Server>
作っておいたプレイリストを指定してices実行
# ices
成功すると下のように表示される。
icecast serverにアクセスすると次のような画面
ちゃんとストリーミング再生されている。
サーバーの状態をみてもほとんど負荷になってない感じ。ices2だと100%近かったので断然ices0の方が良い。
ices.confの設定は見ればなんとなく分かると思う。その辺はまた今度。