Ripování hudby z internetových rádií

29. 2. 2012
Doba čtení: 5 minut

Sdílet

Nahrajte si hudbu z internetových rádií do MP3 a poslouchejte ji kdekoli. Je to legální a snadný způsob, jak si pořídit žánrově zaměřený hudební archiv pro svůj přehrávač. Pomocí Streamripperu toho jednoduše dosáhnete na Linuxu i Windows. Nastavte si automatické ripování ve stanovený čas z různých stanic.

Poslední dobou jsem si oblíbil poslouchání muziky z internetových rádií běžících na technologii SHOUTcast či Icecast. Jednak si mohu vybrat žánr (mám rád oldies rádia) a hlavně se do mých zvukovodů dostává výborná mixovaná muzika bez toho, abych měl vlastní pracně nashromážděnou sbírku ripovaných CD.

Žánrově zaměřených rádií je na webu celá řada od muziky k tanci až po „těžkej kalibr“ – vybere si opravdu každý. Prostě jsem tomu přišel na chuť a pokud je po ruce připojení k webu z počítače, tabletu nebo telefonu, můžu poslouchat. Taky ovšem spoustu času trávím v autě bez připojení, a to mě inspirovalo nahrát si mixované pásmo z rádia na flash disk.

První pokusy

Začal jsem se poohlížet po nějakém software, který umí stream ukládat do vhodného audiokodeku jako je klasické MP3 nebo FLAC, OGG, WAV či AC3. Kvalita je rozumná, vybíráte-li rádia s bitrate 128 kbit/s a ve stereu. Jako první jsem vyzkoušel VLC media player a nevedl si vůbec špatně. Poměrně jednoduše lze otevřít síťový proud a zvolit možnost konvertovat, jak vidíte na obrázku.

V kyberprostoru internetu jsem našel sofistikovanější nástroje pro tento účel. Je jich spousta, včetně legendárního Winampu s příslušným pluginem, ale svou funkčností mě asi nejvíc zaujaly následující:

Stručně shrnu klíčové vlastnosti výše uvedených produktů podle důležitosti:

  • Ripovat vysílání internetových rádií (i TV) do samostatných souborů. Tohle je důležitá vlastnost, pokud nahráváte MP3, ukládají se vám do souboru tagy s názvem interpreta a skladby, samozřejmě jsou tyto informace i v názvu souboru! Přesně tohle jsem potřeboval.
  • Paralelní ripování z více zdrojů (pro chamtivce).
  • Plánování ripování dle času (od do) nebo ukončení po nahrání určitého objemu ripovaných dat.
  • Evidence http adresy rádií. Winamp se dokonce chvástá, že má přes 30 tisíc SHOUTcast stanic.

Ani jeden jsem nakonec nepoužil. Proč? Hlavní důvod byl ten, že to je pouze pro operační systémy z fabriky z Redmondu a já mám domácí mediaserver pod Linuxem (CentOS). Navíc uvedené produkty mají tolik možností a voleb, že to je až kontraproduktivní a rychle se v nich utopíte, pokud jste BFU, tím dřív. Potřebuji jednoduchou funkcionalitu. Další malý důvod je, že na výše uvedených odkazech najdete hned na první stránce volbu v menu Buy či Purchase.

Streamripper – to je ono!

Našel jsem jednoduchý, srozumitelný, multiplatformní (a není v Javě !), open-source (GPL) software jménem Streamripper. Můžete si ho stáhnout ze SourceForge.

Instalace

Instalace na Windows je jasná – spustíte instalační program. U Linuxu jsem si Strearipper přeložil (viz další text). Jen upozorním, že na svém CentOS v 5.7. jsem sáhl po starší verzi Streamripperu (konkrétně 1.63.5), a to proto, že jsem zde neměl k dispozici požadovanou knihovnu glib2.16. Verze Streamripperu 1.63.5 používá glib2.8. a ta již byla na CentOS 5.7. k dispozici.

$ wget "http://downloads.sourceforge.net/project/streamripper/streamripper%20%28current%29/1.64.6/streamripper-1.64.6.tar.gz"
$ tar zxf streamripper-1.64.6.tar.gz
$ cd  streamripper-1.64.6.tar.gz
$ ./configure
$ make
(popřípadě make check)
$ make install

Základní parametry

Pro základní spuštění je dobré si nejdříve vytvořit výstupní adresář pro zachytávání kodekových souborů. Spuštění provedeme z terminálového okna:

$ streamripper URL
např. streamripper   http://eu2.servemp3.com/

V tomto případě začne Streamripper ripovat do aktuálního adresáře. Dále uvádím základní parametry, všechny jsou dostupné přes Streamripper -h.

-d výstupní adresář

-l počet sekund spuštění – ukončení činnosti po uplynutí zadaného času

-M megabyty – ukončení činnosti po načtení příslušného počtu megabytů

-r <port> vytvoří relay server, číslo portu je nepovinné. Při ripování můžete rádio zároveň poslouchat. Předdefinovaný port je 8000. Ve svém oblíbeném mediaplayeru si můžete pouštět právě ripovaný pořad uvedením adresy http://localhos­t:8000. V případě spuštění na jiném stroji jeho adresu. Např. na svůj server zadávám http://grizzly:8000.

Výstupní adresář obsahuje podadresář incomplete, do kterého se ripují skladby a po dokončení se přesunou do přednastaveného adresáře:

Na Windows je dobré si udělat link na streamripper s příslušnými parametry a pojmenovat ho např. podle rádia. Pro Linux uvedu v následujícím odstavci jednoduchý skript.

Skript

Pro přednastavení základních parametrů doporučuji na Linuxu vytvořit jednoduchý skript a adresu rádia budete zadávat parametricky:

ripradio.sh:

#!/bin/sh
vystup=/home/petr/radio/                       #Výstupní adresář
hodin=3                                        #Pouštím na 3 hodiny
sekundy=$(($hodin*3600))                       #Přepočet na sekundy

if [ ! -d $vystup ]; then                      #Kontrola existence a případné vytvoření výstupního adresáře
 mkdir $vystup
fi

streamripper $1 --with-id3v1  -l $sekundy  -r --quiet -d $vystup

# Čištění výstupního adresáře, mazání duplicitních souborů a reklamních spotů - jména souborů nutno vysledovat u příslušných rádií ....
find  $vystup -name "*\([1-9]\).mp3" -exec rm {} \;
find  $vystup -name "\ \-*.mp3" -exec rm {} \;
find  $vystup -name "AMTAG*.mp3" -exec rm {} \;

Skript nahrajte do /usr/local/sbin (popř. /usr/local/bin/  – zkontrolujte si jak a kam máte nastavenou proměnnou $PATH) a nastavte mu práva na 755:

$ cp ripradio.sh  /usr/local/sbin/
$ chmod 755 /usr/local/sbin/ripradio.sh

Pro spuštění určitého rádia zavoláme:

$ ripradio.sh http://eu2.servemp3.com/

Pro pravidelné spouštění použijme CRON. Například nastartujeme ripování každou neděli ve tři hodiny ráno. Ve skriptu máme nastaven parametr, že ripování skončí po třech hodinách, popř. můžeme použít parametr –M pro nastavení velikosti načtených dat.

Spusťte příkaz :

$ crontab -e

Vložte řádek a uložte (editujete pomocí editoru vi):

* 3 * * 0 ripradio.sh "http://eu2.servemp3.com/" # Rádio 80s Planet.com

Ověření zápisu provedete příkazem:

$ crontab –l

Ještě dodatek k programu hudebních rádií. Zjistil jsem, že mají nastavené smyčky, nebo spíše sady skladeb, které náhodně opakují. Změna sady pak záleží na režii rádia. Ve skriptu duplicitní položky odmazávám, a proto nemá smysl nahrávat příliš často, např. každou noc. Ale opravdu to záleží na konkrétním rádiu.

GUI nadstavby

Osobně dávám přednost jednoduchým „řádkovým udělátkům“. Pokud se vám ale líbí ovládat ripper přes GUI, existuje několik frontendů. Jednak můžete na Windows použít plug-in pro Winamp, nebo použít samostatné GUI. Seznam všech dostupných je na stránkách Streamripperu. Nejvíce mě zaujal:

ict ve školství 24

StreamRipStar - Má seznam rádií rozdělených dle žánrů a dokáže např.filtrovat dle bitrate a typu kodeku. Velkou část parametrů si nastavíte pomocí GUI prvků.

Seznam rádií

Naleznete je v podstatě ve všech přehrávačích. Zajímavé je také navštívit www.play.cz, kde máte branžový výběr rozdělený na česká a světová rádia. Přeji úspěšné rippování a hezký zážitek z poslechu.

Autor článku