2010. október 1., péntek

IceCast2 server beállítása

 

  IceCast Streaming Média Szerver

Az IceCast egy streaming szerver program, ami internetes rádió és tv adások sugárzására használható.

 

A leírás szükségesnek érzem a következő leírás bevezetése ként, ami egy komplett internet rádió készítését és kivitelezését mutatja be blackPanther OS rendszeren. 

 

1.Letöltés és telepítés

 

Aktuális verzió: icecast-2.3.2-2bP.i586.rpm

 

 2. Beállítás

 

# mcedit /etc/icecast.xml


<source-password>jelszó</source-password>
<admin-password>jelszó</admin-password>
<hostname>a szerver IPcíme</hostname>
<port>a szerver portja</port>
Ha eddig Shoutcast szerverre adtál de továbbra is ugyanazzal akarsz akkor ezt is állítsd be:
<listen-socket>-en belül a <port> alá: <shoutcast-mount>/live.mp3</shoutcast-mount>

Icecast2 webfelülete: http://ip:port/status.xsl
Icecast2 rövid infó: http://ip:port/status2.xsl
Icecast2 infó 1 csatoláspontra: http://ip:port/status.xsl?mount=/live.mp3
Icecast2 rövid infó 1 csatoláspontra: http://ip:port/status2.xsl?mount=/live.mp3




Az icecast.xml részletes beállításai:


<limits>
        <clients>1000</clients>
        <sources>5</sources>
        <queue-size>102400</queue-size>
        <client-timeout>30</client-timeout>
        <header-timeout>5</header-timeout>
        <source-timeout>3</source-timeout>
        <burst-on-connect>1</burst-on-connect>
        <burst-size>196608</burst-size>
</limits>


clients: max csatlakozás a szerverre (beleértve a webfelületet is)
sources: max forrás (ennyien csatlakozhatnak adásra)
client-timeout: ennyi idő múlva dobja ki a hallgatót ha nem megy felé az adás (pl. netről való szakadás)
header-timeout: ennyit vár a csatlakozáskor (ha nem sikerül ennyi idő alatt a csatlakozás akkor disconnect)
source-timeout: ennyi idő múlva dobja ki az adásolót ha nem jön adás tőle


<authentication>
 <source-password>jelszo</source-password>
 <relay-password>jelszo</relay-password>
 <admin-user>admin</admin-user>
 <admin-password>jelszo</admin-password>
</authentication>

source-password: adás-felcsatlakozáshoz használt jelszó
relay-password: adás átjátszásához szükséges jelszó
admin-user: admin felhasználónév (webadmin)
admin-password: webadmin felülethez tartozó jelszó



<directory>
 <yp-url-timeout>60</yp-url-timeout>
 <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>

directory: Itt lehet beállítani, hogy milyen stat oldalra csatlakozzon a szerver.
yp-url-timeout: csatlakozás időtúllépés
yp-url: csatlakozás címe



<listen-socket>
 <hostname>94.199.176.243</hostname>
 <port>8000<port>
 <shoutcast-mount>/live.mp3</shoutcast-mount>
<listen-socket>

hostname: hostnév vagy IP cím ahol a szerver üzemel
port: a szerver portja
shoutcast-mount: Shoutcast DSP csatlakozás esetén ez a csatoláspont jön létre (pl. /live.mp3)

Megjegyzés: Több <listen-socket> is lehet ha több porton üzemel a szerver.



<relay>
 <server>87.229.7.245</server>
 <port>8000</port>
 <mount>/live.mp3</mount>
 <local-mount>/relay.mp3</local-mount>
 <username>admin</username>
 <password>jelszo</password>
 <on-demand>0</on-demand>
</relay>

relay: adás átvétele másik szerverről
server: ide csatlakozik ez a server
port: a szerver portja ahova csatlakozik
mount: a forrás szerver csatoláspontja pl. (/live.mp3); Shoutcast szerver esetén a csatoláspont "/"!
local-mount: ez a csatoláspont jön létre amikor az átjátszás történik (pl. /relay.mp3)
username: csatlakozáshoz szükséges felhasználónév (nem kötelező)
password: csatlakozáshoz szükséges jelszó (nem kötelező)
on-demand: csak akkor csatlakozik a szerverre ha erre csatlakoznak (0/1)



<mount>
 <mount-name>/live.mp3</mount-name>
 <username>adas</username>
 <password>jelszo</password>
 <max-listeners>950</max-listeners>
 <max-listener-duration>3600</max-listener-duration>
 <dump-file>/tmp/live.mp3</dump-file>
 <intro>intro.mp3</intro>
 <fallback-mount>/backup.mp3</fallback-mount>
 <fallback-override>1</fallback-override>
 <fallback-when-full>0</fallback-when-full>
 <charset>ISO8859-1</charset>
 <public>1</public>
 <stream-name>Teszt</stream-name>
 <stream-description>Teszt musor (MP3, 192kbit/s)</stream-description>
 <stream-url>http://valami.hu/</stream-url>
 <genre>dance</genre>
 <bitrate>192</bitrate>
 <type>audio/mpeg</type>
 <hidden>0</hidden>
 <burst-size>196608</burst-size>
 <authentication type="htpasswd">
  <option name="filename" value="myauth"/>
  <option name="allow_duplicate_users" value="0"/>
 </authentication>
 <on-connect>/home/icecast/bin/source-start</on-connect>
 <on-disconnect>/home/icecast/bin/source-stop)</on-disconnect>
</mount>

mount: Nem kötelező megadni, néhány beállítással felül lehet bírálni a valós érték kijelzését.
mount-name: csatoláspont neve (pl. /live.mp3)
username*: az adás csatlakozáshoz szükséges felhasználónév (nem kötelező megadni)
password*: az adás csatlakozáshoz szükséges jelszó (nem kötelező megadni)
* Ha itt nincs megadva felhasználónév és jelszó akkor az <authentication>-ban lévő beállítás érvényes.
max-listeners: max hallgató / néző
max-listener-duration: max hallgatási/nézési idő (másodperc)
dump-file: Ide menti le az adást (pl. /tmp/live.mp3).
intro: A csatlakozás elején ezt játsza be (pl. szignál)(pl. intro.mp3).
fallback-mount: Erre teszi át a hallgatót ha ezen a csatolásponton nincs adás (pl. /backup.mp3).
fallback-override: Visszateszi a hallgatót erre, ha az adás visszajön (0/1).
fallback-when-full: A fent megadott csatoláspontra csatlakozik a hallgató ha ez megtelt (0/1).
charset: karaktertábla
public: publikus (0/1)
stream-name: Rádió/TV neve
stream-description: Rádió/TV részletes leírás
stream-url: Rádió/TV webcíme (http:// kell elé!)
genre: műfaj
bitrate: bitráta
type: formátum
hidden: rejtett (0/1)
on-connect*: Adás becsatlakozáskor ez a program hajtódik végre (pl. /home/icecast/bin/source-start).
on-disconnect*: Adás szétkapcsoláskor ez a program hajtódik végre (pl. /home/icecast/bin/source-stop).
* Win32 alatt ezek nem működnek!


<paths>
 <basedir>.</basedir>
 <logdir>.</logdir>
 <pidfile>.</pidfile>
 <webroot>./web</webroot>
 <adminroot>./admin</adminroot>
 <allow-ip>/path/to/ip_allowlist</allow-ip>
 <deny-ip>/path_to_ip_denylist</deny-ip>
</paths>

paths: elérési utak
basedir: (Win32 alatt nem használható)
logdir: log könyvtár
pidfile: pid file
webroot: webfelület elérési útja
adminroot: adminfelület elérési útja
deny-ip: tiltott IP-k listafile-ja


<logging>
 <accesslog>access.log</accesslog>
 <errorlog>error.log</errorlog>
 <playlistlog>playlist.log</playlistlog>
 <loglevel>1</loglevel>
</logging>

logging: loggolás
accesslog: csatlakozási logok helye
errorlog: hibalogok helye
loglevel: log részletessége (1-4)




Trükkök:

Shoutcast kompatibilis csatlakozás a szerverre (hallgatás)

0. Ebben a példabeállításban az adás csatoláspontja /live.mp3

1. A <paths> részbe írd be ezt: <alias source="/" dest="/live.mp3"/>

2. Csinálj egy listen.pls fileot ami a következőt tartalmazza:
   [playlist]
   File1=http://szerverIP:port/
   Title1=Rádió neve
   NumberOfEntries=1
   Version=2

3. Csinálj egy listen.m3u fileot is ami a következőt tartalmazza:
   #EXTM3U
   #EXTINF:0,Rádió neve
   http://szerverIP:port/

4. Ezt a 2 fileot másold be az Icecast2 web könyvtárába.

Hatása: Az összes eredetileg Shoutcast szerverre mutató hivatkozás működni fog.



Szakadás elleni védelem:

0. Ebben a példabeállításban az adás csatoláspontja /live.mp3

1. Csinálj egy 2-3 perces csendet, de olyan formátumban és bitrátában amilyenben az adás megy.

2. Ezt másold be az Icecast2 web könyvtárába tmp.mp3 néven

3. A <mount> részben állítsd be a következőket:
  <mount>
        <mount-name>/live.mp3</mount-name>
        <fallback-mount>/tmp.mp3</fallback-mount>
        <fallback-override>1</fallback-override>
  </mount>

Hatása: ha megszakad az élő adás akkor a hallgatók átkerülnek a /tmp.mp3 -ba,
        amint visszajön, visszakerülnek a hallgatók.
Hasznos: Több helyről üzemelő netes rádiónál műsorvezetőváltás esetén is folyamatos
         lesz az adás. Ez a trükk a -kh verziójú Icecast2-nél hibásan működik!



Fix adatok beállítása, ha a műsorvezető hülyeséget írna be:

0. Ebben a példabeállításban az adás csatoláspontja /live.mp3

1. A <mount> részben állítsd be a következőket:
  <mount>
        <mount-name>/live.mp3</mount-name>
 <stream-name>Rádió neve</stream-name>
 <stream-description>Részletes leírás</stream-description>
 <type>audio/mpeg</type>
 <bitrate>192</bitrate>
 <genre>műfaj</genre>
 <stream-url>http://www.radioneve.hu/</stream-url>
  </mount>

Hatása: Akármit ír be a műsorvezető a DSPjébe a szerver azt a kiírást felül fogja bírálni.




0 megjegyzés: