Dnešní nabídka internetových rádií je celkem široká, ale docela často se stává, že když už najdete některé, které vám vyhovuje a kde hrají přesně to co se vám líbí, tak za pár týdnů přestane adresa existovat a po nějakém odkazu o přesunu není ani náznak. Když si nahrajete svoji kompilaci do mobilu a posloucháte na cestách, tak se skladby brzo tak omrzí, že vybrané písně nemusíte zase nějaký ten čas slyšet.
Řešení je celkem nasnadě. Vytvořte si vlastní internetové rádio a svou domácí sbírku hudby (moje třeba má pár set GB) streamujte přímo do vašeho mobilu. Pořadí skladeb si snadno můžete určit a nebo nechat rozlosovat, když chcete některou konkrétní, tak není problém ji posunout výš a při dnešních cenách za mobilní internet je to i poměrně levné řešení.
Co tedy budeme potřebovat? Určitě server schopný streamovat obsah pomocí některého z protokolů. Pro naše potřeby jsem zvolil Icecast, který je součástí projektu běžícího již od roku 1998 a u nás ho využívá i například Evropa 2. V Ubuntu repositářích je připraven balíček, takže stačí napsat pouze
$ sudo apt-get install icecast2
Po jeho instalaci následuje jeho nastavení. Nebojte se, že by mohlo již nyní dojít k nějakému zatížení vaší sítě, protože teprve po dokončení konfigurace musíte nastavit daemon ke spuštění.
Konfigurační soubor je uložen v /etc/icecast2/icecast.xml
. V něm lze nastavit množství nastavení jako počet současných posluchačů, velikost fronty a podobně. Osobně mi vyhovuje nastavení, které je vybráno jako výchozí a měním pouze položku port (listen-socket – port), která je aktuálně nastavena na 8000, což je port tak široce využívaný, že volím raději nějaký méně vytěžovaný. Dále si pak nastavte heslo pro komunikaci (source-password). Tím jsme nastavili server pro vysílání na námi vybraném portu.
Nyní potřebujeme aplikaci, která bude pro server připravovat playlisty, pozastavovat a pouštět stream a vůbec obsluhovat vaše internetové rádio. Pro naše potřeby jsem zvolil Music Player Daemon (MPD), který je dostatečně flexibilní pro obsluhu všech výše zmíněných potřeb. Možná jej někdo z vás využívá i jako přehrávač pro desktop.
Tento nástroj má mnoho možností. Opět je zde po Ubuntu připravený balíček a je připraven i konzolový klient mpc, takže nyní nainstalujeme oba zároveň.
$ sudo apt-get install mpd mpc
Přistoupíme ke konfiguraci MPD pro naše potřeby. Lze si buď umístit konfigurační soubor .mpdconf
do vašeho domovského adresáře a nebo editovat přímo výchozí konfigurační soubor /etc/mpd.conf
. Protože nevyužívám MPD jako klasický přehrávač na desktopu, tak využiji druhou možnost.
Musíme nejprve nastavit cestu k adresáři, kde máme uloženu hudbu ( music_directory
) a cestu ke složce, kde chceme archivovat playlisty ( playlist_directory
). Výchozí nastavení portu je 6600 a protože i MPC funguje pak s tímto portem (jestliže mu to nepřenastavíte), tak jej necháme. Stejně budeme přehrávač hudby směřovat na port, který jsme si nastavili na Icecastu. Klasický výstup je aktuálně nastaven na alsa. Ten si dejte do komentáře a vrhneme se do nastavení našeho rádia.
#audio_output { # type "alsa" # name "My ALSA Device" # device "hw:0,0" # optional # format "44100:16:2" # optional # mixer_device "default" # optional # mixer_control "PCM" # optional # mixer_index "0" # optional #} audio_output { type "shout" encoding "lame" # původně ogg změňte na lame name "Moje radio" # zde si zvolte název vašeho rádia host "localhost “ port "1111" # zde zadejte port, který jste si nastavili v Icecast mount "/radio" # volací znak vašeho rádia password "heslompd" # heslo, které jste si v Icecast nastavili bitrate "128" # bitrate, který je pro vás vhodný format "44100:16:1" protocol "icecast2" # optional user "source" # optional }
Tímto jsme nastavili většinu nejnutněji potřebných parametrů pro spuštění našeho streamu. V tomto nastavení bude obsahovat i odesílání názvu přehrávané skladby v ID3 tagu. Je proto dobré mít ve skladbách pořádek, protože pak vidíte informace na displeji vašeho telefonu.
Poslední krok, který musíme v konfiguraci nastavit, se nalézá v souboru /etc/default/icecast2
, kde je nutné na konci souboru nastavit hodnotu ENABLED na true.
Nyní tedy můžeme přistoupit ke spuštění serveru icecast2 příkazem
$ sudo service icecast2 start
Pak spustíme MPD příkazem
$ sudo /etc/init.d/mpd start-create-db
Nyní máme funkční všechny služby, ale bohužel nemáme co vysílat. K tomu využijeme klienta MPC, kterého jsme si již nainstalovali. Příkazem mpc update
se načtou všechny podporované hudební soubory do databáze.
Pak již stačí jen přidat zvolené soubory do aktuálního playlistu parametrem add
a spustit parametrem play
.
Zde je seznam dalších parametrů, které můžete při práci s MPC využít:
mpc - zobrazí aktuální status mpc add <jméno souboru> - přidá píseň do aktuálního playlistu mpc del <playlist #> - odebere aktuální píseň z playlistu mpc play <číslo> - začne přehrávat (od čísla stopy, výchozí je 1) mpc next – přeskočí na další píseň v seznamu mpc prev – přeskočí na předchozí píseň v seznamu mpc pause – pozastaví aktuálně přehrávanou píseň mpc stop – zastaví aktuálně přehrávaný playlist mpc seek <0-100> - posune se na místo v aktuální skladbě (vyjádřeno v %) mpc clear - vymaže aktuální playlist mpc shuffle – zamíchá pořadím skladeb mpc move <A> <B> - přesune skladbu z místa A na místo B mpc playlist – vypíše aktuální playlist mpc listall - vypíše všechny dostupné skladby v DB mpc ls [<adresář>] - vypíše skladby v adresáři mpc lsplaylists – vypíše seznam všech uložených playlistů mpc load <soubor> - nahraje připravený playlist mpc save <soubor> - uloží aktuální playlist mpc rm <soubor> - vymaže uložený playlist mpc voluem [+-]<číslo> - nastaví hlasitost v % (nebo +- zvýší/sníží o číslo) mpc repeat <on|off> - přepínač opakování mpc random <on|off> - přepínač náhodného přehrávání mpc crossfade [vteřiny] – nastaví překryv skladeb ve vteřinách mpc update – prohledá adresář na nové soubory a uloží je do databáze mpc version – zobrazí verzi MPD
Tyto příkazy lze používat i pomocí ssh a lze si tak například měnit playlisty na dálku podle vaší aktuální nálady.
Jestliže jste vše udělali podle návodu, lze si nyní vyzkoušet poslech rádia například příkazem
$ mplayer http://localhost:1111/radio
Na svém mobilu pak do přehrávače zadáte adresu
http://[IP vašeho serveru]:[Port zvolený v Icecast2]/[mount zvolený v MPD] např. http://192.168.1.1:1111/radio
Nezapomeňte si na svém firewalu otevřít port, který jste si pro rádio zvolili, a jestliže máte domácí router, tak také přesměrovat venkovní volání na váš počítač. Osobně jsem zjistil, že při nastavení bitrate na 64 lze přijímat hudbu v mobilu i při jízdě na dálnici bez jakýchkoliv přerušení. Celkově počítejte, že čím vyšší bitrate, tím vyšší přenos dat a jestliže máte na svém mobilu nějaký limit FUP, tak tím rychleji bude vyčerpán. Přeji příjemný poslech.