目的
mp3垂れ流しで聴きたい
環境・使うアプリケーション
- Ubuntu Server 14.04
- Icecast 2.3.3(ストリーミングサーバー)
- IceS 0.4(Icecastに曲を送り続ける)
IceSの最新版は2.0.2だがライセンス上の問題でmp3を扱えないようなので旧バージョンを使う。
Icecastのインストール
sudo apt-get install icecast2
設定画面出てきてパスワード設定させられるはず(デフォルト:hackme)
あとから設定変更するには/etc/icecast2/icecast.xmlを弄ればよい
再起動
sudo service icecast2 restart
IceS
IceSはapt-getでインストール出来ないためコンパイルする。
依存ライブラリのインストール
sudo apt-get install make g++ libxslt-dev libvorbis-dev libshout3-dev libmp3lame-dev
ダウンロード&インストール
wget http://downloads.us.xiph.org/releases/ices/ices-0.4.tar.gz tar -xvzf ices-0.4.tar.gz cd ices-0.4/ ./configure --with-lame=/usr/local/lib make sudo make install
初期設定
再生したいmp3ファイルを一式配置し、そのディレクトリ上で以下実行
find -name "*.mp3" | sort >> /var/music/playlist.txt
適当にices.confでも作ってIceSの設定ファイルを作成
<?xml version="1.0"?> <ices:Configuration xmlns:ices="http://www.icecast.org/projects/ices"> <Playlist> <!-- This is the filename used as a playlist when using the builtin playlist handler. --> <File>/var/music/playlist.txt</File> <!-- Set this to 0 if you don't want to randomize your playlist, and to 1 if you do. --> <Randomize>1</Randomize> <!-- One of builtin, perl, or python. --> <Type>builtin</Type> If you use the builtin playlist handler then this is ignored --> <Module>ices</Module> <!-- Set this to the number of seconds to crossfade between tracks. Leave out or set to zero to disable crossfading (the default). <Crossfade>5</Crossfade> --> </Playlist> <Execution> <!-- Set this to 1 if you want ices to launch in the background as a daemon --> <Background>0</Background> <!-- Set this to 1 if you want to see more verbose output from ices --> <Verbose>0</Verbose> <!-- This directory specifies where ices should put the logfile, cue file on your server. --> <BaseDirectory>/tmp</BaseDirectory> </Execution> <Stream> <Server> <!-- Hostname or ip of the icecast server you want to connect to --> <Hostname>localhost</Hostname> <!-- Port of the same --> <Port>8000</Port> <!-- Encoder password on the icecast server --> <Password>hackme</Password> <!-- Header protocol to use when communicating with the server. Shoutcast servers need "icy", icecast 1.x needs "xaudiocast", and icecast 2.x needs "http". --> <Protocol>http</Protocol> </Server> <!-- The name of the mountpoint on the icecast server --> <Mountpoint>/ices</Mountpoint> <!-- The name of the dumpfile on the server for your stream. DO NOT set this unless you know what you're doing. <Dumpfile>ices.dump</Dumpfile> --> <!-- The name of you stream, not the name of the song! --> <Name>Default stream</Name> <!-- Genre of your stream, be it rock or pop or whatever --> <Genre>Default genre</Genre> <!-- Longer description of your stream --> <Description>Default description</Description> <!-- URL to a page describing your stream --> <URL>http://localhost/</URL> <!-- 0 if you don't want the icecast server to publish your stream on the yp server, 1 if you do --> <Public>0</Public> <!-- Stream bitrate, used to specify bitrate if reencoding, otherwise just used for display on YP and on the server. Try to keep it accurate --> <Bitrate>128</Bitrate> <!-- If this is set to 1, and ices is compiled with liblame support, ices will reencode the stream on the fly to the stream bitrate. --> <Reencode>0</Reencode> <!-- Number of channels to reencode to, 1 for mono or 2 for stereo --> <!-- Sampe rate to reencode to in Hz. Leave out for LAME's best choice <Samplerate>44100</Samplerate> --> <Channels>2</Channels> </Stream> </ices:Configuration>
実行
ices ices.conf