Icecast - internetové rádio snadno a rychle

Icecast je daemon, který lze použít pro streamování zvuku (a dokonce i videa) po internetu. Lze pomocí něj vytvářet internetová rádia, která asi většina z nás velice ráda poslouchá. Koho by také bavilo si pořád přihazovat písničky do svého už stokrát přehraného playlistu.

V tomto článku si ukážeme jedno z nejjednoduších použití Icecastu spolu s daemonem mpd, který už možná mnozí z vás použivají pro přehrávání hudby přímo ve vašem počítači. Samotný MPD daemon lze používat jak k přehrávání hudby lokálně přes rozhraní ALSA, tak ke stremování přímo do Icecastu.

Předpokládám, že balíčky potřebné pro zprovoznění jsou už dávno v repozitářích vaší oblíbené distribuce. V Debianu jsou to například balíčky icecast2 a mpd. Po úspěšné instalaci balíků se už můžeme pustit rovnou do konfigurace zmíněných služeb.

Konfigurační soubor Icecastu se nachází v /etc/icecast2/icecast.xml a je v něm třeba nastavit následující hodnoty.

    <authentication>
        <source-password>mojeheslo</source-password> 

              # heslo používané k připojení streamu, právě toto heslo je potřeba posléze z apsat do konfiguračního souboru mpd
        <relay-password>mojeheslo</relay-password>
                  # nepoužívaná volba, není nutno nijak zvlášť nastavovat

        <admin-user>admin</admin-user>                  
        <admin-password>mojehesloadmina</admin-password>
                  # Toto jméno a heslo slouží pro přístup k administračnímu rozhraní Icecastu přes webové rozhraní
    </authentication>

    <listen-socket>
        <port>8080</port>
        # port, na kterém bude standardne Icecast naslouchat příchozím spojením a zároveň na něm bude dostupné webové rozhraní
        <bind-address>127.0.0.1</bind-address>
                  # Pokud máte v počítači více siťových karet, lze zde nastavit IP adresu, na které bude Icecast poslouchat, při ponechání zakomentované volby poslouchá na všech rozhraních

    </listen-socket>

To je k nastavené Icecastu vše, defaultní nastavené ostatních voleb je vyhovující našemu účelu a pro je již zde nebudu dále rozebírat. Pokud toužíte po hlubším studování konfiguračního souboru, odkážu vás na výbornou dokumentaci, kde se dozvíte vše potřebné. Po dokončení konfigurace můžeme Icecast rovnou spustit, zase zde uvevdu příklad pro Debian, kde lze kýženého výsledku dosáhnout přes standardní initskript, který zavolámé použitím /etc/init.d/icecast start
Pokud vše proběhlo v pořádku, mělo by to vypadat přesně takhle. Pokud jste postupovali přesně podle návodu, Icecast bude poslouchat na http://vase_ip:8080/


  Teď můžeme přisoupit ke konfiguraci MPD. Jeho konfigurační soubor se nacházi v /etc/mpd.conf

music_directory         "/mnt/storage/music"  # zde nastavte adresář, v kterém se nachází hudba
playlist_directory      "/var/lib/mpd/playlists"
db_file                 "/var/lib/mpd/tag_cache"
log_file                "/var/log/mpd/mpd.log"
error_file              "/var/log/mpd/errors.log"
pid_file                "/var/run/mpd/pid"

#bind_to_address        "localhost" #adresa, na které bude mpd poslouchat
#port                   "6600"      #port

password                "mojeheslok@read,add,control,admin" #heslo, které se nám umožní připojení a kontrolu mpd daemona

Konfigurace pro Icecast by v mpd.conf měla vypadat následovně

audio_output {
        type                    "shout" # typ výstupu - shoutcast streaming
        name                    "Moje radio" # název rádia
        host                    "127.0.0.1" # ip, na které běží Icecast
        port                    "8080"     # port, na kterém beží Icecast
        mount                   "/moje-radio.ogg" #název streamu (prozatím nelze zvolit jako výstup mp3, ale jen ogg, snad to autoři mpd v příštích verzích napraví)
        password                "mojeheslo"
#heslo, které jste zvolili v konfiguraci Icecastu v direktivě <source-password>
        quality                 "4.0" #kvalita výsledného streamu (4.0 připadá na variabilní bitrate pohybující se mezi 128 kbps)
#       bitrate                 "128" #je také možno zvolit statický bitrate, v tom případe musí být zakomentována volba quality
        format                  "44100:16:2" #formát výsledného streamu
        user                    "source" #uživatelské jméno, kterým se mpd k icecastu přihlašuje (nedoporučuje se měnit)
}

Vzhledem k tomu, že v několika posledních verzích mpd (vyskytuje se někde kolem verze 0.13.x) se objevila chyba spočívající v nemožnosti spustit přehrávání pokud je v konfiguračním souboru nastaven jen stream, musíme proto použít malý workaround

}
audio_output {
    type "alsa"
    name "fake out"
    driver "null"
}

Pokud jsme všechno nastavili správně, můžeme se připojit k mpd s jakýmkoliv klientem podle Vašeho uvážení a začít vesele vyhrávat an celé kolo. Vyběr klienta nechám pouze na vašem vkusu, jejich seznam je k dispozici zde. Pokud chcete umožnit svým posluchačům výběr právě té jejich oblíbené hudby, lze nasadit samozřejmě i webového klienta, jako ukázku doporučuji phpMp2, z kterého vám přináším i další screenshot.

Pokud se vám vše podařilo, tak už stačí jen svým známým a kamarádům odeslat odkazvy ve formátu http://vase_ip:8080/mojeradio.ogg a užívat si jejich údivu a uznání.
 

 

0
Vaše hodnocení: Žádné