mp3のサーバをたてる
1.動機
研究用のコンピュータでは、やはりマシンパワーが欲しいので、
mp3を再生するコンピュータは別にしたい。
ということで、サーバをたてようと思った。
調べたところ何種類かサーバがあったが、
linuxで動くフリーのものがあったので、それを利用することにする。
ちなみにこのシステムの仕組みは、
server側でmp3をエンコードし、ネットワークにストリーミング情報として流す。
そして、その情報をクライアント側で拾って音に直す。
mp3を聞くときに、パワーを使うのはエンコードの部分なので、
その部分を他のマシンでこなすことができれば、
聞いているマシンではメモリを消費するわけでもなく、快適に過ごすことができる。
大嘘でした。パワー食いまくります。
ファイルを集約できる、くらいのメリットしかなさそうです。
というわけで、ストリーミング放送はやめました。でも、mp3ファイルは宝物。
2.ネットワーク状況
プライベートアドレスを持っている2つのコンピュータがある。
|
ipアドレス |
名前 |
サーバー |
192.168.56.20 |
sango |
クライアント |
192.168.56.22 |
galaxy |
これから述べるのは、サーバ側の設定の話。
クライアント側は、xmmsでもFreeAmpでもmpg123でも大丈夫。
3.ソフトウエア
icecast+shoutを利用する。
icecastはSRPMとして持ってこれる。
shoutはバージョンがまだ1になっていないためか、tarボールしかない。
icecastはsrpmを使ってインストールする。
設定ファイルはそれぞれ、
icecastは「/etc/icecast/」に、shoutは「/usr/local/icecast/etc」
になる。
設定でデフォルトから変えたのは次の通り。
/etc/icecast/icecast.conf
location Sendai Japan
rp_email kenstar@anet.ne.jp
max_clients 10
max_clients_per_source 10
encoder_password foobar
admin_password foobar
oper_password foobar
hostname 192.168.56.20
server_name 192.168.56.20
reverse_lookups 0
console_mode 3
#alias radiofri http://195.7.65.207:6903
/usr/local/icecast/etc/shout.conf
server_name 192.168.56.20
password foobar
name Sango Music Station
desc Thank you for your access!!
genre Misc
#url http://www.apan.com/
id3 yes
playlist playlist
shuffle yes
daemon yes
次に、プレイリストをつくる。findをつかうのが一番簡単。
find "/windata/mydoc/My Music/MP3/" -name "*mp3" >
/usr/local/icecast/etc/playlist
最後に起動する。
/usr/sbin/icecast
/usr/local/icecast/bin/shout
4.感想
ネットワークを利用しているせいか、安定して音楽を聞くことができなかった。
満足のレベルではない。もう少しとぎれたり、
とぎれてもすぐにリカバリーしてくれたりすると嬉しいのだが。
補足
shoutのビットレートを下げてみたら、
かなりいい感じで再生されている。
やはり、ネットワークの空き具合いによって変わってくるようだ。
具体的には、「bitrate」を128000から32000の4/1にした。