Size: 13589
Comment:
|
← Revision 18 as of 2011-09-20 05:27:56 ⇥
Size: 15964
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
||<tablebgcolor="#dcc585" tablewidth="40%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em; border: solid 1px black;">'''Sisällysluettelo'''<<BR>><<TableOfContents(3)>> || |
|
Line 3: | Line 5: |
http://www.arkki.info/howto/Icecast2/Icecast2_06.png | {{http://www.arkki.info/howto/Icecast2/Icecast2_06.png}} |
Line 11: | Line 13: |
Nettiradio ei vaadi fyysistä äänikorttia, siksi se voidaan rakentaa virtuaalipalvelimeen. | Nettiradio ei vaadi fyysistä äänikorttia, siksi se voidaan rakentaa virtuaalipalvelimeen. Tässä ohjeessa on käytetty root-tunnusta, mutta sudo käy yhtä hyvin. |
Line 15: | Line 17: |
http://www.arkki.info/howto/Icecast2/Icecast2_01.png | {{http://www.arkki.info/howto/Icecast2/Icecast2_01.png}} |
Line 19: | Line 21: |
Virtuaalipalvelin on hankittu ulkomaisesta palvelusta (http://www.slicehost.com/). Koska uusin Icecast2 2.3.2 ei sisälly Ubuntu 8.04:ään, niin palvelun listalta valittu Linux eli Ubuntu 8.04 on päivitetty seuraavaan. Tämä ohje on siis toteutettu virtuaalipalvelimessa, jossa on Ubuntu 8.10. {{{root@asmok:/etc/icecast2# uname -a |
Virtuaalipalvelin on hankittu ulkomaisesta palvelusta (http://www.slicehost.com/). Tämä ohje on siis toteutettu virtuaalipalvelimessa, jossa on Ubuntu 8.10. {{{uname -a |
Line 23: | Line 25: |
root@asmok:/etc/icecast2#}}} | }}} |
Line 33: | Line 35: |
{{{root@asmok:/etc/icecast2# ls -al | {{{/etc/icecast2# ls -al |
Line 43: | Line 45: |
root@asmok:/etc/icecast2#}}} | }}} |
Line 52: | Line 54: |
{{{root@asmok:/var/log/icecast2# ls -al | {{{/var/log/icecast2# ls -al |
Line 59: | Line 61: |
root@asmok:/var/log/icecast2#}}} | }}} |
Line 65: | Line 67: |
Icecast2-tiedostossa on tärkeää on vaihtaa salasana admin-käyttäjälle selain-liittymässä, samoin palvelimen ip-numero. Tässä ohjeessa /etc/icecast2-hakemiston tiedostojen omistajaksi on asetettu '''icesta2:icecast'''. Icecast2-ohjelma aetaan tällä tunnuksella; chroot-ympäristöä ei ole määrätty. | Icecast2-tiedostossa on tärkeää on vaihtaa salasana admin-käyttäjälle selain-liittymässä, samoin palvelimen ip-numero. Tässä ohjeessa /etc/icecast2-hakemiston tiedostojen omistajaksi on asetettu '''icecast2:icecast'''. Icecast2-ohjelma ajetaan tällä tunnuksella; chroot-ympäristöä ei ole määrätty. |
Line 297: | Line 299: |
Icecast2 osaa ottaa vastaan myös live-ääntä esimerkiksi Flumotion-palvelimelta, mutta tässä ohjeessa luodaan soittolista podcast-käyttöä varten. | Icecast2 osaa ottaa vastaan myös live-ääntä esimerkiksi [[Flumotion]]-palvelimelta, mutta tässä ohjeessa luodaan soittolista podcast-käyttöä varten. |
Line 301: | Line 303: |
{{{root@asmok:/etc/icecast2/audio# ls -al | {{{/etc/icecast2/audio# ls -al |
Line 308: | Line 310: |
root@asmok:/etc/icecast2/audio#}}} | /etc/icecast2/audio#}}} |
Line 314: | Line 316: |
{{{root@asmok:/etc/icecast2# cat playlist.txt | {{{/etc/icecast2# cat playlist.txt |
Line 318: | Line 320: |
root@asmok:/etc/icecast2#}}} | /etc/icecast2#}}} |
Line 322: | Line 324: |
Kun kaikki tarvittavat tiedostot ovat paikoillaan ja palvelimen asetukset ohjelmat voidaan käynnistää hyvin suoraviivaisesti. {{{ root@asmok:/etc/icecast2# icecast2 -b -c /etc/icecast2/icecast.xml }}} {{{ root@asmok:/etc/icecast2# ices2 ices-playlist.xml & |
Kun kaikki tarvittavat tiedostot ja setukset ovat paikoillaan, niin ohjelmat voidaan käynnistää hyvin suoraviivaisesti. {{{ icecast2 -b -c /etc/icecast2/icecast.xml }}} {{{ ices2 ices-playlist.xml & |
Line 334: | Line 336: |
[http://www.arkki.info/howto/Icecast2/Icecast2_02.png Icecast2_02.png] [http://www.arkki.info/howto/Icecast2/Icecast2_03.png Icecast2_03.png] [http://www.arkki.info/howto/Icecast2/Icecast2_04.png Icecast2_04.png] [http://www.arkki.info/howto/Icecast2/Icecast2_05.png Icecast2_05.png] ---- |
[[http://www.arkki.info/howto/Icecast2/Icecast2_02.png|Icecast2_02.png]] [[http://www.arkki.info/howto/Icecast2/Icecast2_03.png|Icecast2_03.png]] [[http://www.arkki.info/howto/Icecast2/Icecast2_04.png|Icecast2_04.png]] [[http://www.arkki.info/howto/Icecast2/Icecast2_05.png|Icecast2_05.png]] == Soittolistojen lisääminen == Kun halutaan lisää soittolistoja, niin ne voidaan lisätä seuraavalla tavalla. Kopiodaan alkuperäinen soittolista ja muut vastaavat tiedostot uusilla nimillä. Tässä esimerkissä on lisätty musikaali. {{{ ices-playlist-musical.xml }}} {{{ playlist-musical.txt }}} {{{ cat ices-playlist-musical.xml <?xml version="1.0"?> <ices> <background>0</background> <logpath>/var/log/icecast2/</logpath> <logfile>ices.log</logfile> <loglevel>4</loglevel> <consolelog>0</consolelog> <pidfile>/usr/share/icecast2/ices.pid</pidfile> <stream> <metadata> <name>4A - Veli-Matti Erkkilä</name> <genre>musical</genre> <description>Operaatio Koiralle Koti</description> <url>http://173.45.225.152</url> </metadata> <input> <module>playlist</module> <param name="type">basic</param> <param name="file">playlist-musical.txt</param> <param name="random">0</param> <param name="restart-after-reread">1</param> <param name="once">0</param> </input> <instance> <hostname>173.45.225.152</hostname> <port>8000</port> <password>xxxxxx</password> <mount>/OKK2008</mount> <reconnectdelay>2</reconnectdelay> <reconnectattempts>5</reconnectattempts> <maxqueuelength>80</maxqueuelength> <encode> <nominal-bitrate>64000</nominal-bitrate> <samplerate>44100</samplerate> <channels>2</channels> <quality>1</quality> </encode> </instance> </stream> </ices> }}} Kun tiedostot ovat kunnossa ja viittaukset ogg-äänitiedostoihin kunnossa, niin tämä soittolista käynnistetään. {{{ ices2 ices-playlist-musical.xml & }}} Ogg-tiedostojen meta-tietoja voidaan muokata vorbiscomment-työkalulla. {{{ vorbiscomment -wR Auran_musikaali_osa_3.ogg -t GENRE=Musical -t TRACKNUMBER=3 -t ALBUM="Operaatio Koiralle Koti" -t YEAR=2008 -t TITLE="Osa 3" -t ARTIST="4A - Veli-Matti Erkkilä" }}} {{{ /etc/icecast2/audio# vorbiscomment -l Auran_musikaali_osa_3.ogg GENRE=Musical TRACKNUMBER=3 ALBUM=Operaatio Koiralle Koti YEAR=2008 TITLE=Osa 3 ARTIST=4A - Veli-Matti Erkkilä }}} |
Sisällysluettelo Contents
|
Nettiradio - Icecast2
Nettiradio: http://173.45.225.152:8000/
Oman nettiradion voi rakentaa Icecast2-palvelinohjelmiston avulla. Tärkeimmät ohjeet, joita on käytetty, ovat nämä:
http://www.icecast.org/docs/icecast-2.3.2/ | http://www.gnuware.com/icecast/
Nettiradio ei vaadi fyysistä äänikorttia, siksi se voidaan rakentaa virtuaalipalvelimeen. Tässä ohjeessa on käytetty root-tunnusta, mutta sudo käy yhtä hyvin.
Tämä ohje on tarkoitettu kokeneille käyttäjille, joten aivan jokaista asiaa ei ole selitetty - vain ne on yritetty muistaa, jotka on huomattu asennusta tehtäessä ongelmallisiksi.
Nettiradio virtuaalipalvelimeen
Virtuaalipalvelin on hankittu ulkomaisesta palvelusta (http://www.slicehost.com/). Tämä ohje on siis toteutettu virtuaalipalvelimessa, jossa on Ubuntu 8.10.
{{{uname -a Linux asmok 2.6.24-19-xen #1 SMP Sat Jul 12 00:15:59 UTC 2008 x86_64 GNU/Linux }}}
Asennus on suoraviivainen.
apt-get install icecast2 ices2
Asetustiedostot ovat /etc/icecast2-hakemistossa. Muita hakemistoja ovat /usr/share/icecast2 ja /var/log/icecast2.
{{{/etc/icecast2# ls -al yhteensä 36 drwxrwx--- 5 icecast2 icecast 4096 2008-11-18 14:20 . drwxr-xr-x 69 root root 4096 2008-11-18 12:37 .. drwxrwx--- 2 icecast2 icecast 4096 2008-11-18 10:49 admin drwxr-xr-x 2 icecast2 icecast 4096 2008-11-18 11:36 audio -rw-rw
1 icecast2 icecast 6567 2008-11-18 12:40 icecast.xml -rw-r--r-- 1 icecast2 icecast 1360 2008-11-18 14:16 ices-playlist.xml -rw-r--r-- 1 icecast2 icecast 58 2008-11-18 14:20 playlist.txt drwxrwx--- 2 icecast2 icecast 4096 2008-11-18 10:49 web }}}
{{{drwxr-xr-x 4 root root 4096 2008-11-18 14:18 . drwxr-xr-x 80 root root 4096 2008-11-18 10:48 .. drwxr-xr-x 2 root root 4096 2008-11-18 10:48 admin -rw-r--r-- 1 root root 4 2008-11-18 14:18 ices.pid drwxr-xr-x 2 root root 4096 2008-11-18 10:48 web root@asmok:/usr/share/icecast2#}}}
{{{/var/log/icecast2# ls -al yhteensä 312 drwxr-xr-x 2 icecast2 icecast 4096 2008-11-18 11:23 . drwxr-xr-x 9 root root 4096 2008-11-18 12:28 .. -rw-r--r-- 1 icecast2 icecast 133606 2008-11-18 16:05 access.log -rw-r--r-- 1 icecast2 icecast 94651 2008-11-18 16:06 error.log -rw-r--r-- 1 root root 61738 2008-11-18 16:06 ices.log }}}
Kaksi asetustiedostoa - icecast.xml ja ices-playlist.xml
Icecast2-ohjelmaan liittyvä asetustiedosto asennetaan asennuksen yhteydessä, mutta Ices2:n asetustiedosto pitää luoda itse.
Icecast2-tiedostossa on tärkeää on vaihtaa salasana admin-käyttäjälle selain-liittymässä, samoin palvelimen ip-numero. Tässä ohjeessa /etc/icecast2-hakemiston tiedostojen omistajaksi on asetettu icecast2:icecast. Icecast2-ohjelma ajetaan tällä tunnuksella; chroot-ympäristöä ei ole määrätty.
Ices2-tiedostossa pitää antaa sama salasana, mikä on määritelty Icecast2-tiedostossa, samoin luonnollisesti palvelimen ip-numero. Ices2:n tiedostossa on paljon kohtia (meta-tietoja), jotka voi vapaasti määritellä. Tärkeää on määritellä playlist.txt-tiedoston sijainti.
<icecast> <limits> <clients>100</clients> <sources>5</sources> <threadpool>5</threadpool> <queue-size>524288</queue-size> <client-timeout>30</client-timeout> <header-timeout>15</header-timeout> <source-timeout>10</source-timeout> <!-- If enabled, this will provide a burst of data when a client first connects, thereby significantly reducing the startup time for listeners that do substantial buffering. However, it also significantly increases latency between the source client and listening client. For low-latency setups, you might want to disable this. --> <burst-on-connect>1</burst-on-connect> <!-- same as burst-on-connect, but this allows for being more specific on how much to burst. Most people won't need to change from the default 64k. Applies to all mountpoints --> <burst-size>65535</burst-size> </limits> <authentication> <!-- Sources log in with username 'source' --> <source-password>XXXXXX</source-password> <!-- Relays log in username 'relay' --> <relay-password>XXXXXX</relay-password> <!-- Admin logs in with the username given below --> <admin-user>admin</admin-user> <admin-password>XXXXXX</admin-password> </authentication> <!-- set the mountpoint for a shoutcast source to use, the default if not specified is /stream but you can change it here if an alternative is wanted or an extension is required <shoutcast-mount>/live.nsv</shoutcast-mount> --> <!-- Uncomment this if you want directory listings --> <!-- <directory> <yp-url-timeout>15</yp-url-timeout> <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url> </directory> --> <!-- This is the hostname other people will use to connect to your server. It affects mainly the urls generated by Icecast for playlists and yp listings. --> <hostname>173.45.225.152</hostname> <!-- You may have multiple <listener> elements --> <listen-socket> <port>8000</port> <!-- <bind-address>127.0.0.1</bind-address> --> <!-- <shoutcast-mount>/stream</shoutcast-mount> --> </listen-socket> <!-- <listen-socket> <port>8001</port> </listen-socket> --> <!--<master-server>127.0.0.1</master-server>--> <!--<master-server-port>8001</master-server-port>--> <!--<master-update-interval>120</master-update-interval>--> <!--<master-password>hackme</master-password>--> <!-- setting this makes all relays on-demand unless overridden, this is useful for master relays which do not have <relay> definitions here. The default is 0 --> <!--<relays-on-demand>1</relays-on-demand>--> <!-- <relay> <server>127.0.0.1</server> <port>8001</port> <mount>/example.ogg</mount> <local-mount>/different.ogg</local-mount> <on-demand>0</on-demand> <relay-shoutcast-metadata>0</relay-shoutcast-metadata> </relay> --> <!-- Only define a <mount> section if you want to use advanced options, like alternative usernames or passwords <mount> <mount-name>/example-complex.ogg</mount-name> <username>othersource</username> <password>hackmemore</password> <max-listeners>1</max-listeners> <dump-file>/tmp/dump-example1.ogg</dump-file> <burst-size>65536</burst-size> <fallback-mount>/example2.ogg</fallback-mount> <fallback-override>1</fallback-override> <fallback-when-full>1</fallback-when-full> <intro>/example_intro.ogg</intro> <hidden>1</hidden> <no-yp>1</no-yp> <authentication type="htpasswd"> <option name="filename" value="myauth"/> <option name="allow_duplicate_users" value="0"/> </authentication> <on-connect>/home/icecast/bin/stream-start</on-connect> <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect> </mount> <mount> <mount-name>/auth_example.ogg</mount-name> <authentication type="url"> <option name="mount_add" value="http://myauthserver.net/notify_mount.php"/> <option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/> <option name="listener_add" value="http://myauthserver.net/notify_listener.php"/> <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/> </authentication> </mount> --> <fileserve>1</fileserve> <paths> <!-- basedir is only used if chroot is enabled --> <basedir>/usr/share/icecast2</basedir> <!-- Note that if <chroot> is turned on below, these paths must both be relative to the new root, not the original root --> <logdir>/var/log/icecast2</logdir> <webroot>/usr/share/icecast2/web</webroot> <adminroot>/usr/share/icecast2/admin</adminroot> <!-- <pidfile>/usr/share/icecast2/icecast.pid</pidfile> --> <!-- Aliases: treat requests for 'source' path as being for 'dest' path May be made specific to a port or bound address using the "port" and "bind-address" attributes. --> <!-- <alias source="/foo" dest="/bar"/> --> <!-- Aliases: can also be used for simple redirections as well, this example will redirect all requests for http://server:port/ to the status page --> <alias source="/" dest="/status.xsl"/> </paths> <logging> <accesslog>access.log</accesslog> <errorlog>error.log</errorlog> <!-- <playlistlog>playlist.log</playlistlog> --> <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error --> <logsize>10000</logsize> <!-- Max size of a logfile --> <!-- If logarchive is enabled (1), then when logsize is reached the logfile will be moved to [error|access|playlist].log.DATESTAMP, otherwise it will be moved to [error|access|playlist].log.old. Default is non-archive mode (i.e. overwrite) --> <!-- <logarchive>1</logarchive> --> </logging> <security> <chroot>0</chroot> <changeowner> <user>icecast2</user> <group>icecast</group> </changeowner> </security> </icecast>
<?xml version="1.0"?> <ices> <background>0</background> <logpath>/var/log/icecast2/</logpath> <logfile>ices.log</logfile> <loglevel>4</loglevel> <consolelog>0</consolelog> <pidfile>/usr/share/icecast2/ices.pid</pidfile> <stream> <metadata> <name>Asmo Koskinen</name> <genre>speech</genre> <description>LTSP5 TP2009</description> <url>http://173.45.225.152</url> </metadata> <input> <module>playlist</module> <param name="type">basic</param> <param name="file">playlist.txt</param> <param name="random">0</param> <param name="restart-after-reread">0</param> <param name="once">0</param> </input> <instance> <hostname>173.45.225.152</hostname> <port>8000</port> <password>XXXXXX</password> <mount>/TP2009</mount> <reconnectdelay>2</reconnectdelay> <reconnectattempts>5</reconnectattempts> <maxqueuelength>80</maxqueuelength> <encode> <nominal-bitrate>64000</nominal-bitrate> <samplerate>44100</samplerate> <channels>2</channels> <quality>1</quality> </encode> </instance> </stream> </ices>
Soittolistan luominen
Icecast2 osaa ottaa vastaan myös live-ääntä esimerkiksi Flumotion-palvelimelta, mutta tässä ohjeessa luodaan soittolista podcast-käyttöä varten.
Ogg-tiedostoja varten luodaan audio-hakemisto /etc/icecast2-hakemiston juureen. Tähä hakemistoon tuodaan ogg-tiedostot.
{{{/etc/icecast2/audio# ls -al yhteensä 5728 drwxr-xr-x 2 icecast2 icecast 4096 2008-11-18 11:36 . drwxrwx--- 5 icecast2 icecast 4096 2008-11-18 14:20 .. -rwxr-xr-x 1 asmok asmok 788408 2008-05-03 09:15 Studio_04.ogg -rwxr-xr-x 1 asmok asmok 844738 2008-05-09 05:52 Studio_06.ogg -rwxr-xr-x 1 icecast2 icecast 4203731 2008-11-17 17:39 TP2009.ogg /etc/icecast2/audio#}}}
Ices2-ohjelmaa varten luodaan playlist.txt-tiedosto, jossa vain luetellaan soitettavat ogg-tiedostot. Sen sijainti on määritelty ices-playlist.xml-tiedostossa. Soittolistasta voidaan kommentoida pois tiedostoja #-merkinnällä.
Soittolistassa pitää olla ainakin kaksi ogg-tiedostoa! Jos ogg-tiedostoja on vain yksi, niin Ices2 kuolee soitettuaan tämän yhden tiedoston!
{{{/etc/icecast2# cat playlist.txt audio/TP2009.ogg audio/Studio_04.ogg #audio/Studio_06.ogg /etc/icecast2#}}}
Icecast2 ja Ices2 -ohjelmien käynnistäminen
Kun kaikki tarvittavat tiedostot ja setukset ovat paikoillaan, niin ohjelmat voidaan käynnistää hyvin suoraviivaisesti.
icecast2 -b -c /etc/icecast2/icecast.xml
ices2 ices-playlist.xml &
Icecast2-ohjelman Admin-liittymä näyttää tältä, neljä ruutukaappausta.
Soittolistojen lisääminen
Kun halutaan lisää soittolistoja, niin ne voidaan lisätä seuraavalla tavalla.
Kopiodaan alkuperäinen soittolista ja muut vastaavat tiedostot uusilla nimillä. Tässä esimerkissä on lisätty musikaali.
ices-playlist-musical.xml
playlist-musical.txt
cat ices-playlist-musical.xml <?xml version="1.0"?> <ices> <background>0</background> <logpath>/var/log/icecast2/</logpath> <logfile>ices.log</logfile> <loglevel>4</loglevel> <consolelog>0</consolelog> <pidfile>/usr/share/icecast2/ices.pid</pidfile> <stream> <metadata> <name>4A - Veli-Matti Erkkilä</name> <genre>musical</genre> <description>Operaatio Koiralle Koti</description> <url>http://173.45.225.152</url> </metadata> <input> <module>playlist</module> <param name="type">basic</param> <param name="file">playlist-musical.txt</param> <param name="random">0</param> <param name="restart-after-reread">1</param> <param name="once">0</param> </input> <instance> <hostname>173.45.225.152</hostname> <port>8000</port> <password>xxxxxx</password> <mount>/OKK2008</mount> <reconnectdelay>2</reconnectdelay> <reconnectattempts>5</reconnectattempts> <maxqueuelength>80</maxqueuelength> <encode> <nominal-bitrate>64000</nominal-bitrate> <samplerate>44100</samplerate> <channels>2</channels> <quality>1</quality> </encode> </instance> </stream> </ices>
Kun tiedostot ovat kunnossa ja viittaukset ogg-äänitiedostoihin kunnossa, niin tämä soittolista käynnistetään.
ices2 ices-playlist-musical.xml &
Ogg-tiedostojen meta-tietoja voidaan muokata vorbiscomment-työkalulla.
vorbiscomment -wR Auran_musikaali_osa_3.ogg -t GENRE=Musical -t TRACKNUMBER=3 -t ALBUM="Operaatio Koiralle Koti" -t YEAR=2008 -t TITLE="Osa 3" -t ARTIST="4A - Veli-Matti Erkkilä"
/etc/icecast2/audio# vorbiscomment -l Auran_musikaali_osa_3.ogg GENRE=Musical TRACKNUMBER=3 ALBUM=Operaatio Koiralle Koti YEAR=2008 TITLE=Osa 3 ARTIST=4A - Veli-Matti Erkkilä