icecast2を使ったストリーミング鯖の建て方
今回はいつもよりちょっと長いです。
- icecast2のインストール
$ sudo apt-get install icecast2
- icecast2の設定
$ sudo cp /etc/default/icecast2 /etc/default/icecast2.default
$ sudo emacs /etc/default/icecast2編集する箇所
ENABLE=true
- icecast.xmlの設定
$ sudo cp /etc/icecast2/icecast.xml /etc/icecast2/icecast.xml.org
$ sudo emacs /etc/icecast2/icecast.xml
パスワード"hackme"の変更は自由です。
私は家だけなのでデフォルトのままにしました。
hackme
hackme
〜
hackme
〜
localhost
〜
〜
8000
〜
〜
nobody
nogroup
- icecast起動(今回は必須です)
$ sudo /etc/init.d/icecast2 start
ブラウザで
http://localhost:8000または
http://192.168.#.###:8000
[192.168.#.###]は PC の IPアドレス
で確認してみる。
あがらない場合は、icecast.xmlのhostnameあたりや/etc/hostsの確認。
icecast.xmlの設定を初めからやり直し。icecast.xml.orgを戻すのが簡単。
- icecastの停止
# sudo /etc/init.d/icecast2 stop
icecast.xmlファイルを変更するときは「停止」が必要です。
- icesのインストール
$ sudo aptitude install libc6 libc6-dev
$ sudo aptitude install gpp
$ sudo aptitude install g++
$ sudo aptitude install file
$ sudo aptitude install libshout3 libshout3-dev
$ sudo aptitude install libxml2 libxml2-dbg libxml2-dev libxml2-utils
$ sudo aptitude install libxml1 python-libxml2
$ sudo aptitude install make
- icesのソース取得&コンパイル
$ sudo mkdir src
$ cd src
$ sudo wget http://downloads.xiph.org/releases/ices/ices-0.4.tar.gz
$ sudo tar xzvf ices-0.4.tar.gz
$ cd ices-0.4
$ sudo ./configureとすると
XML : yes ← noだと以後のmake install で作られた実行ファイルが機能しない。
Python : no
Perl : no
LAME : no
Vorbis : no
MP4 : no
FLAC : no
となり、とりあえず順調。
もし
XML :no
ならばlibxml1、 libxml2系のライブラリが不足してると思われる。探して入れる。
ちなみに僕は、etcやhomeなどがあるディレクトリ階層と同じ階層にsrcというディレクトリを作ってそこにぶちこみました。
$ sudo vi /etc/apt/sources.list
deb http://debian-multimedia.org/ lenny main
deb-src http://debian-multimedia.org lenny main$ sudo wget http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb ←この時は最新版がこれだった気がします
$ sudo dpkg -i debian-multimedia-keyring_2008.10.16_all.deb
なんかしらんが念のため最新版にするためにアップデート
$ sudo aptitude update
$ sudo aptitude upgradeそうするとlameのパッケージが発見できたのでインストする
$ sudo apt-get install lame liblame-dev
$ sudo ./configure --with-lame
とすると
XML : yes
Python : no
Perl : no
LAME : yes
Vorbis : yes
MP4 : no
FLAC : no
となり、準備完了
- icesのインストール
$ make
たくさんのメッセージが表示されます(驚かないように)。# make install
それなりのメッセージが表示されます。
そして、特に問題もなく終わりました。
- 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
* 編集または設定をした箇所(デフォルトのままの箇所もあり)
/home/music/playlist.txt
1
1
icecast側で設定したパスワード
/ices
My Icecast Server
192
1
- ices起動前の準備
icesの起動の前にプレイリストを作成しておきます。
便利なコマンドでプレイリストが作れるので紹介っと
まずテキストファイルを作る。
$ sudo emacs /home/music/playlist.txt
例えば /home/music 配下にアーティスト名のディレクトリがたくさんある場合
$ sudo find /home/music/ -name *.mp3 | sort >> playlist.txt
とか
$ sudo find ./ -name *.mp3 -print | sort >> playlist.txt
でテキストファイルに絶対パスの書かれたプレイリストができるので、
- icesの起動
# ices -F /home/music/playlist.m3u -c /usr/local/etc/ices.conf
とか
# ices -F /home/music/playlist.txt -c /usr/local/etc/ices.conf
とすると
winampとかで
で開くと聞けました。
参考サイト
http://dourakunohibi.cocolog-nifty.com/blog/2009/05/debian50icecast.html
http://d.hatena.ne.jp/n9d/20080110/1199972191