SHOUTcastサーバ + ices0.4。

設定でちょっとハマったので、メモメモ。

家庭内LANでブロードキャストしてみたのです。サーバのOSはMac OS X。
Macへのインストール方法などはコチラコチラ

SHOUTcastサーバの設定ファイル(sc_serv.conf)と、icesの設定ファイル(ices.conf)、初期状態では以下のような設定になっています。

[ sc_serv.conf ]

<前略>
SrcIP=ANY
DestIP=ANY
<後略>

[ ices.conf ]

<前略>
<hostname>localhost</hostname>
<後略>

これで特に問題なく動きます。
ルータからSHOUTcastサーバであるPCに割り当てられているIPアドレスが192.168.10.10だとしたら、サーバを動かしているPC本人からは、ブラウザで
  http://localhost:8000
  http://127.0.0.1:8000
  http://192.168.10.10:8000
のいずれかにアクセスすればストリーミングを聴くことが出来ます。

同じLAN内の他のPCからは
  http://192.168.10.10:8000
に接続すればオッケー。

ここで、
★localhost(127.0.0.1)にブロードキャストする必要はほとんどない。
★今のところ、放送のソースはlocalhost(127.0.0.1)から受け取るに決まっている
ので、設定を以下のように変えてみた。

[ sc_serv.conf ]

SrcIP=127.0.0.1
DestIP=192.168.10.10

[ ices.conf ]

<hostname>localhost</hostname>

...こうすると、曲のメタデータがサーバに送られなくなる

icesを-vオプション付きで起動して挙動を見てみると、以下のようなログが。

DEBUG: Delaying metadata update...

メタデータ(ID3タグに埋め込んだ曲名とアーティスト名のデータ)が上手くサーバに渡らないようだ。正常にデータを渡せる時には、上のメッセージに続いて、以下のように出力される。

DEBUG: Updated metadata on /ices to: (アーティスト名) - (曲名)

この点以外は、キチンと動作するのだがなぁ。う〜ん...。

以下も上手くいかないパターン。
[ sc_serv.conf ]

SrcIP=ANY
DestIP=192.168.10.10

[ ices.conf ]

<hostname>localhost</hostname>

そして以下が、ちゃんと動作するパターン。いろいろやってみた結果です。
[ sc_serv.conf ]

SrcIP=192.168.10.10
DestIP=192.168.10.10

[ ices.conf ]

<hostname>192.168.10.10</hostname>


サーバと放送ソースが同一のIPの元にあるシステムだったら、この設定で大丈夫。マルチIPのサーバを運用している時に、どれかひとつのIPからだけ送信したい時、このやり方でいけるはず。
サーバとは別のPCからソースを送る場合の設定は、知りません(笑


カテゴリ: