【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にアクセスすると、なんか再生している感じ。

image

でもログファイルをみると次のようなエラーが出ている。

[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

成功すると下のように表示される。

image

icecast serverにアクセスすると次のような画面

image

ちゃんとストリーミング再生されている。

サーバーの状態をみてもほとんど負荷になってない感じ。ices2だと100%近かったので断然ices0の方が良い。

ices.confの設定は見ればなんとなく分かると思う。その辺はまた今度。