FreeBSD7.1RにIces0をインストール

ices2 ( version 2.0 ) is source client for broadcasting in Ogg Vorbis format to an icecast2 server.

ices0 ( version 0.4 ) is source client for broadcasting in MP3 format to an icecast2 server.

ということで、Ices0 ( 現時点でのバージョンは ices 0.4_7 ) をインストールする。

インストール

%su
Password:
# cd /usr/ports/audio/ices0
# make install clean
# rehash
  • rehash は単なる癖。

/etc/rc.conf の末尾にでも下記を追加。

ices0_enable="YES"

設定

まず、ログファイルを保管するディレクトリを作成し、サンプル設定ファイルをコピーする。

# mkdir /var/log/ices0
# chmod 777 /var/log/ices0
# cd /usr/local/etc
# cp ices.conf.dist ices.conf
# chmod 666 ices.conf

下記のようにicecast.xml を書き換える。

<?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>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>
    <!-- Module name to pass to the playlist handler if using  perl or python.
	 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
	 and pid file (if daemonizing). Don't use /tmp if you have l33t h4x0rz
         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>letmein</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>

  • 変更①:プレイリストを保管するファイルパス。/usr/local/etc/ices0_playlist.txt 等。
  • 変更②:ログ、キュー、プロセスID などを保管するパス。/var/log/ices0 等。
  • 変更③:ホスト名。icecast2 に合わせる。例えば、www.vdobv.com
  • 変更④:ポート番号。icecast2 に合わせる。

http://www.vdobv.com/freebsd7.1r/icecast2#misc_server_settings

  • 変更⑤:icecast に与えるパスワード。

プレイリスト作成

次のように MP3 ファイルをだらだら並べて保管しておく。

例でのファイル名は、/usr/local/etc/ices0_playlist.txt

/home/abc.mp3
/home/xyz.mp3

起動シェルを変更する

インストール時に作られる起動シェルでは、ices0がバックグランドで起動しないので、適時修正しておく。

# cd /usr/local/etc/rc.d/
# chmod 755 ices0
# vi ices0

変更点は次のような感じ。

command_args="1>/dev/null 2>&1"

↓

command_args="-B 1>/dev/null 2>&1"

起動テスト

# /usr/local/etc/rc.d/ices0 start

起動しているか確認してみる。

# ps aux | grep ice

動いているならリブートしても起動するか確認。

# reboot
# ps aux | grep ice

ついでにログファイルを見てみますか。

# tail -F /var/log/ices0/ices.log

なんとなく Playing してそうです。

Windowsなどクライアント側プレイヤーで聞いてみる

設定したポート番号にもよるが、ここでの例として、hostname が www.vdobv.com、ポート番号が 8000 と仮定した場合、次のようにブラウザのアドレス欄に入力。

http://www.vdobv.com:8000/ices

Windows では、MediaPlayer などが起動して、音が聞こえればOK。

freebsd7.1r/ices0.txt · 最終更新: 2008/12/18 19:11 by vdobv
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0