Les éléments de base...
Vous pouvez vous reporter avec bonheur sur les docs d'Icecast et mes articles précédents. Les fichiers de confs sont ecrit pour 3 streams en .ogg sur les ports 8000, 8001 et 8002. (mais pas dans l'ordre )
hostname : perceval.almoha.net @IP : 192.168.10.12 SN : 255.255.255.0 GW : 192.168.10.10
La machine est declarée dans mon DNS et est résolue
Le compte qui fera fonctionner la Mediabox :
User : radio pwd : pwdradio
La BdD (sur la même machine)
BdD : mediaboxbdd user : dbaradio pwd : pwddba
Le compte d'admin icecast
User : adminradio pwd : pwd-adminradio
Le pwd des sources icecast : pwd-src-radio (le compte par defaut est : source)
Les arguments en gras doivent etre changés. Le reste peut etre collé tel quel.
Le fichier de conf icecast :
<icecast>
<limits>
<clients>500</clients>
<sources>4</sources>
<threadpool>5</threadpool>
<queue-size>102400</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
</limits>
<authentication>
<source-password>pwd-src-radio</source-password>
</authentication>
<hostname>perceval</hostname>
<listen-socket>
<port>8000</port>
</listen-socket>
<listen-socket>
<port>8001</port>
</listen-socket>
<listen-socket>
<port>8002</port>
</listen-socket>
<authentication>
<admin-user>adminradio</admin-user>
<admin-password>pwd-adminradio</admin-password>
</authentication>
<fileserve>0</fileserve>
<paths>
<basedir>/usr/share/icecast</basedir>
<logdir>/var/log/icecast2</logdir>
<webroot>/etc/icecast2/web</webroot>
<adminroot>/etc/icecast2/admin</adminroot>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>1</loglevel>
</logging>
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
<security>
<chroot>0</chroot>
<changeowner>
<user>icecast2</user>
<group>icecast</group>
</changeowner>
</security>
<icecast>
Bon, y'a rien de sorcier jusque la. Y'a juste le hostname qui change et les ports qui ont été rajoutés.
On passe au fichier mediaprog_prg.xml
<?xml version="1.0"?> <mediabox404_audio_prg:Configuration xmlns:mediabox404_audio_prg="http://www.radio404.org"> <Log> <Verbose>1</Verbose> <LogFile>0</LogFile> <BaseDirectory>/var/log/</BaseDirectory> </Log> <Timing> <program>15</program> <jingle>30</jingle> <promo>120</promo> <period_control>0</period_control> <max_control>0</max_control> </Timing> <Sql> <Hostname>localhost</Hostname> <Port>3306</Port> <User>dbaradio</User> <Password>pwddba</Password> <Database>mediaboxbdd</Database> <Mysql_options>Mediabox404_audio_prg</Mysql_options> <Data>t_data</Data> <Datapath>t_datapath</Datapath> <Playlist>t_playlist</Playlist> <Playlistdata>t_playlistdata</Playlistdata> <Live>t_live</Live> <Programme>t_programme</Programme> <Streamstack>t_streamstack</Streamstack> <Progstack>t_progstack</Progstack> <Pilotstack>t_pilotstack</Pilotstack> <Streamlog>t_streamlog</Streamlog> <Log>t_log</Log> <Tempstack>t_tempstack</Tempstack> <Lastmainplaylist>t_lastmainplaylist</Lastmainplaylist> <Lastplaylist>t_lastplaylist</Lastplaylist> <Lastpromo>t_lastpromo</Lastpromo> <Lastjingle>t_lastjingle</Lastjingle> <Currentplaylisttype>t_currentplaylisttype</Currentplaylisttype> <Metadata>t_metadata</Metadata> </Sql> </mediabox404_audio_prg:Configuration>
Et pour finir le fichier stream.xml
<?xml version="1.0"?> <stream404:Configuration xmlns:stream404="http://www.icecast.org/projects/ices"> <Playlist> <File>/etc/playlist.txt</File> <Randomize>1</Randomize> <Type>sql</Type> <Module>stream404</Module> <Crossfade>5</Crossfade> </Playlist> <BackupPlaylist> <File>/etc/playlist.txt</File> <Randomize>1</Randomize> <Type>builtin</Type> <Module>stream404</Module> </BackupPlaylist> <Execution> <Background>0</Background> <Verbose>1</Verbose> <BaseDirectory>/tmp</BaseDirectory> </Execution> <Sql> <Hostname>localhost</Hostname> <Port>3306</Port> <Sqltype>MYSQL</Sqltype> <User>dbaradio</User> <Password>pwddba</Password> <Database>mediaboxbdd</Database>
t_streamstack
<UrgTable>t_pilotstack</UrgTable>
<CurrentStreamTable>t_currentstream</CurrentStreamTable>
<StreamLogTable>t_streamlog</StreamLogTable>
<MetadataTable>t_metadata</MetadataTable>
</Sql>
<Stream>
<Server>
<Hostname>perceval</Hostname>
<Port>8000</Port>
<Password>pwd-src-radio</Password>
<Protocol>http</Protocol>
<Format>ogg</Format>
</Server>
<Mountpoint>/rocktroll64.ogg</Mountpoint>
<Name>Rockandtroll</Name>
<Genre>Hard Rock</Genre>
<URL>http://perceval/</URL>
<Public>0</Public>
<Quality>4</Quality>
<Bitrate>128</Bitrate>
<Reencode>1</Reencode>
<Samplerate>44100</Samplerate>
<Channels>2</Channels>
</Stream>
<Stream>
<Server>
<Hostname>perceval</Hostname>
<Port>8001</Port>
<Password>pwd-src-radio</Password>
<Protocol>http</Protocol>
<Format>ogg</Format>
</Server>
<Mountpoint>/rocktroll32.ogg</Mountpoint>
<Name>Rockandtroll</Name>
<Genre>Hard Rock</Genre>
<URL>http://perceval/</URL>
<Public>0</Public>
<Quality>1</Quality>
<Bitrate>32</Bitrate>
<Reencode>1</Reencode>
<Samplerate>11025</Samplerate>
<Channels>2</Channels>
</Stream>
<Stream>
<Server>
<Hostname>perceval</Hostname>
<Port>8002</Port>
<Password>pwd-src-radio</Password>
<Protocol>http</Protocol>
<Format>ogg</Format>
</Server>
<Mountpoint>/rocktroll128.ogg</Mountpoint>
<Name>Rockandtroll</Name>
<Genre>Hard Rock</Genre>
<URL>http://perceval/</URL>
<Public>0</Public>
<Quality>4</Quality>
<Bitrate>128</Bitrate>
<Reencode>1</Reencode>
<Samplerate>44100</Samplerate>
<Channels>2</Channels>
</Stream>
</stream404:Configuration>
Les Commentaires