Rádiové streamování na FreeBSD 10 s IceCast a Ices

Rádiové streamování na FreeBSD 10 s IceCast a Ices

Následující výukový program vysvětluje, jak nastavit server pro streamování rádia IceCast a přehrávat zvukové soubory (hudbu nebo podcasty) na platformě FreeBSD. Tento tutoriál předpokládá, že používáte FreeBSD 10.0 nebo vyšší a že jste přihlášeni jako uživatel root. Předpokládalo se také, že máte textový editor pro úpravu konfiguračních souborů.

Než začneme, je důležité porozumět třem částem serveru pro streamování zvuku. Za prvé, máme samotný serverový software, IceCast. IceCast funguje jako centrální centrum, kam přicházejí a odesílají audio streamy. Služba IceCast přijímá audio streamy ze zdrojových klientů. Zdrojoví klienti jsou programy, které čtou zvukové soubory nebo jiné zdroje zvuku, jako jsou mikrofony. V našem příkladu je zdrojovým klientem Ices a dodává audio stream na IceCast server. Třetí komponentou je naslouchající klient. Zvukové toky putují ze serveru IceCast k posluchačům, kteří pak zvuk slyší. Naslouchajícím klientem je obvykle desktopová aplikace, jako je webový prohlížeč, multimediální přehrávač VLC nebo WinAMP. Vizuálně uspořádání vypadá takto:

 Source client (Ices) --> IceCast server --> Listening client (browser)

Chcete-li nastavit streamovací server IceCast na FreeBSD, nejprve nainstalujeme samotný serverový software. To lze provést spuštěním následujícího příkazu.

 pkg install icecast2

Poté /etc/rc.confsoubor otevřeme a povolíme službu IceCast na pozadí. To se provádí připojením následujícího textu na konec /etc/rc.confsouboru.

 icecast_enable="YES"

Naším dalším krokem je konfigurace služby IceCast. Balíček IceCast se dodává s ukázkovým konfiguračním souborem, který můžeme upravit. Tento ukázkový soubor je umístěn v /usr/local/etcadresáři. Před úpravou tohoto ukázkového souboru vytvoříme kopii.

 cd /usr/local/etc
 cp icecast.xml.sample icecast.xml

Nyní chceme upravit několik klíčových polí v icecast.xmlsouboru. Většinu souboru lze ponechat s výchozím nastavením, ale měli bychom změnit přihlašovací údaje. Můžeme to udělat tak, že navštívíme autentizační sekci (asi na řádku 30) a změníme zdrojové heslo a reléové heslo na něco vhodného. Tato hesla nám umožní streamovat data na server IceCast ze zdrojového klienta. Měli bychom také změnit proměnné admin-user a admin-password na něco jedinečného pro náš systém. Tyto dvě přihlašovací údaje chrání webové rozhraní serveru IceCast. Poté kolem řádku 150 bychom měli změnit proměnné mount-name , username aheslo . Tyto tři proměnné chrání bod připojení serveru IceCast. Nakonec v dolní části icecast.xmlsouboru bychom měli vidět bezpečnostní sekci, která byla zakomentována. Měli bychom odstranit otevírací <-- a uzavírací --> symboly kolem bezpečnostního odstavce. Jakmile byl icecast.xmlsoubor změněn, uložte soubor.

Jakmile bude konfigurační soubor upraven, chceme povolit protokolování. Chcete-li to provést, spusťte následující příkazy.

 mkdir /var/log/icecast
 chown nobody:nogroup /var/log/icecast

Nakonec spustíme server IceCast, což způsobí, že server bude naslouchat vstupním a příchozím klientským připojením.

 service icecast2 start

Server IceCast je v provozu, takže mu nyní musíme poskytnout něco na hraní. Naším dalším krokem je instalace zdrojového klienta Ices. FreeBSD v současné době nenabízí binární balíček pro Ices, takže jej musíme sestavit z portů. To lze provést spuštěním následujících příkazů.

 portsnap fetch
 portsnap extract
 cd /usr/ports/audio/ices
 make install
 make clean

Zdrojový klient Ices bude potřebovat uživatelský účet a protokolování. Chcete-li vytvořit uživatele pro software Ices a nastavit heslo k účtu, spusťte tyto příkazy.

 pw groupadd ice
 pw useradd ices -g ice -m
 passwd ices

S vytvořeným uživatelem nyní můžeme povolit protokolování pro Ices.

 mkdir /var/log/ices
 chown ices:ice /var/log/ices

Od této chvíle bychom již neměli potřebovat přístup uživatele root a můžeme pracovat jako uživatel ices . Dále musíme vytvořit dva adresáře. Jeden adresář, music, bude obsahovat audio soubory, které budeme streamovat. Druhý adresář, conf, bude obsahovat naše konfigurační soubory.

 su ices
 cd /home/ices
 mkdir music conf
 cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml

Nyní máme na místě vzorový konfigurační soubor. Je čas upravit conf/configuration.xmlsoubor tak, aby vyhovoval našemu prostředí. Jediné části souboru, které musíme změnit, jsou kolem řádku 60. Zde musíme zadat heslo a umístění připojení, které jsme v icecast.xmlsouboru nastavili . Pokud například nastavíme naše jméno připojení v icecast.xmlsouboru na hodnotu /radio.ogg, pak bychom měli změnit parametr připojení našeho configuration.xmlsouboru na hodnotu také na hodnotu . Naše pole hesla v by se mělo shodovat se zdrojovým heslem, které jsme vytvořili v souboru. Jakmile bude náš soubor upraven, budeme muset změny uložit./radio.oggconfiguration.xmlicecast.xmlconfiguration.xml

S konfiguračním souborem na místě by dalším krokem mělo být zkopírování zvukových souborů, které chceme streamovat do musicadresáře. Všechny zvukové soubory by měly být ve .oggformátu, protože IceCast nebude pracovat se .mp3soubory se svými výchozími nastaveními. Jakmile jsou všechny zvukové soubory, které chceme streamovat, v musicadresáři, musíme vytvořit seznam skladeb. Playlist je prostý textový soubor se seznamem hudby, kterou chceme streamovat. Pomocí následujících příkazů snadno vytvoříme playlist.

 cd /home/ices/conf
 ls -d ../music/*.ogg > playlist.txt

Zvukové soubory budou přehrány v pořadí, v jakém jsou v playlist.txtsouboru uvedeny. Soubor lze upravit v libovolném textovém editoru a upravit tak pořadí streamovaného zvuku.

Vše, co musíme udělat, abychom mohli začít streamovat naše zvukové soubory, je spustit tento příkaz.

 ices configuration.xml

Poznámka: Často můžeme chtít spustit zdrojového klienta Ices a pak se odhlásit a jít dělat něco jiného. V takovém případě rád spouštím Ices z obrazovky . Zde je příklad, jak spustit ices s obrazovkou.

 screen
 cd /home/ices/conf
 ices configuration.xml

Poté stiskněte Ctrl + A a klepněte na klávesu D. To odpojí relaci obrazovky a umožní nám odhlásit se, zatímco Ices přehrává zvuk na pozadí. Později můžeme Ices zastavit přihlášením a spuštěním:

 screen -r
 killall ices
 exit

Nyní se můžeme připojit k našemu serveru na portu 8000 ve webovém prohlížeči a poslouchat náš audio stream. Adresa URL bude vypadat jako http://myservername:8000. Tuto adresu lze zpřístupnit veřejnosti, pokud chcete ostatním umožnit poslech streamu.

Již dříve jsem zmínil, že IceCast přehrává .oggsoubory a ne soubory .mp3. To je na FreeBSD poměrně snadné překonat. Jako uživatel root můžeme nainstalovat konverzní nástroj s názvem sox , který převede naše .mp3soubory na .oggsoubory. Za předpokladu, že všechny naše .mp3soubory jsou v /home/ices/musicadresáři, můžeme nainstalovat sox a provést konverzi následovně:

 pkg install sox
 cd /home/ices/music
 for i in *.mp3; do sox ./"$i" ./"$i".ogg; done

Poté můžeme obnovit náš seznam skladeb pomocí:

 cd ../conf
 ls -d ../music/*.ogg > playlist.txt

Mějte prosím na paměti, že streamování zvuku může být náročné na šířku pásma. Jeden nebo dva klienti, kteří poslouchají naši rozhlasovou stanici, nebudou vyžadovat velkou šířku pásma, ale 50 nebo více klientů by mohlo přenést server přes jeho přidělenou měsíční šířku pásma. Je dobré povolit omezení šířky pásma na streamovacím serveru, abyste se vyhnuli neočekávaným finančním nákladům.


Jak nainstalovat Tiny Tiny RSS Reader na FreeBSD 11 FAMP VPS

Jak nainstalovat Tiny Tiny RSS Reader na FreeBSD 11 FAMP VPS

Používáte jiný systém? Tiny Tiny RSS Reader je bezplatný a otevřený zdroj s vlastním hostitelem webového zdroje zpráv (RSS/Atom) a agregátorem určeným pro

Jak nainstalovat Wiki.js na FreeBSD 11

Jak nainstalovat Wiki.js na FreeBSD 11

Používáte jiný systém? Wiki.js je bezplatná a open source, moderní wiki aplikace postavená na Node.js, MongoDB, Git a Markdown. Zdrojový kód Wiki.js je veřejný

Jak nainstalovat Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Jak nainstalovat Pagekit 1.0 CMS na FreeBSD 11 FAMP VPS

Používáte jiný systém? Pagekit 1.0 CMS je krásný, modulární, rozšiřitelný a lehký, bezplatný a open source systém správy obsahu (CMS) s

Jak nainstalovat MODX Revolution na FreeBSD 11 FAMP VPS

Jak nainstalovat MODX Revolution na FreeBSD 11 FAMP VPS

Používáte jiný systém? MODX Revolution je rychlý, flexibilní, škálovatelný, open source podnikový systém správy obsahu (CMS) napsaný v PHP. To i

Nastavení OpenBSD 5.5 64-bit

Nastavení OpenBSD 5.5 64-bit

Tento článek vás provede nastavením OpenBSD 5.5 (64-bit) na KVM pomocí Vultr VPS. Krok 1. Přihlaste se do ovládacího panelu Vultr. Krok 2. Klikněte na DEPLOY

Jak nainstalovat osTicket na FreeBSD 12

Jak nainstalovat osTicket na FreeBSD 12

Používáte jiný systém? osTicket je open-source systém pro podporu zákazníků. Zdrojový kód osTicket je veřejně hostován na Github. V tomto tutoriálu

Jak nainstalovat Flarum Forum na FreeBSD 12

Jak nainstalovat Flarum Forum na FreeBSD 12

Používáte jiný systém? Flarum je bezplatný a open source software fóra nové generace, díky kterému je online diskuze zábavná. Zdrojový kód Flarum je hostován o

Jak povolit TLS 1.3 v Nginx na FreeBSD 12

Jak povolit TLS 1.3 v Nginx na FreeBSD 12

Používáte jiný systém? TLS 1.3 je verze protokolu Transport Layer Security (TLS), který byl publikován v roce 2018 jako navrhovaný standard v RFC 8446.

Nainstalujte WordPress na OpenBSD 6.2

Nainstalujte WordPress na OpenBSD 6.2

Úvod WordPress je dominantním redakčním systémem na internetu. Pohání vše od blogů po složité webové stránky s dynamickým obsahem

Jak nainstalovat Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Jak nainstalovat Subrion 4.1 CMS na FreeBSD 11 FAMP VPS

Používáte jiný systém? Subrion 4.1 CMS je výkonný a flexibilní open source systém správy obsahu (CMS), který přináší intuitivní a jasný obsah

Jak nakonfigurovat DJBDNS na FreeBSD

Jak nakonfigurovat DJBDNS na FreeBSD

Tento tutoriál vám ukáže, jak nakonfigurovat službu DNS, která se snadno udržuje, snadno konfiguruje a je obecně bezpečnější než klasický BIN.

Jak nainstalovat zásobník Nginx, MySQL a PHP (FEMP) na FreeBSD 12.0

Jak nainstalovat zásobník Nginx, MySQL a PHP (FEMP) na FreeBSD 12.0

Zásobník FEMP, který je srovnatelný se zásobníkem LEMP na Linuxu, je kolekce softwaru s otevřeným zdrojovým kódem, který se obvykle instaluje společně, aby umožnil FreeBS.

Instalace MongoDB na FreeBSD 10

Instalace MongoDB na FreeBSD 10

MongoDB je prvotřídní NoSQL databáze, která se často používá v novějších webových aplikacích. Poskytuje vysoce výkonné dotazy, sdílení a replikaci

Jak nainstalovat Monicu na FreeBSD 12

Jak nainstalovat Monicu na FreeBSD 12

Používáte jiný systém? Monica je open source systém pro řízení osobních vztahů. Představte si to jako CRM (oblíbený nástroj používaný prodejními týmy v tis

OpenBSD jako řešení elektronického obchodu s PrestaShop a Apache

OpenBSD jako řešení elektronického obchodu s PrestaShop a Apache

Úvod Tento tutoriál ukazuje OpenBSD jako řešení pro e-commerce využívající PrestaShop a Apache. Apache je vyžadován, protože PrestaShop má složité UR

Instalace Fork CMS na FreeBSD 12

Instalace Fork CMS na FreeBSD 12

Používáte jiný systém? Fork je open source CMS napsaný v PHP. Zdrojový kód Forks je hostován na GitHubu. Tato příručka vám ukáže, jak nainstalovat Fork CM

Jak nainstalovat Directus 6.4 CMS na FreeBSD 11 FAMP VPS

Jak nainstalovat Directus 6.4 CMS na FreeBSD 11 FAMP VPS

Používáte jiný systém? Directus 6.4 CMS je výkonný a flexibilní, bezplatný a open source systém pro správu obsahu bez hlavy (CMS), který poskytuje vývojářům

Vylepšení zabezpečení pro FreeBSD pomocí IPFW a SSHGuard

Vylepšení zabezpečení pro FreeBSD pomocí IPFW a SSHGuard

VPS servery jsou často cílem útočníků. Běžný typ útoku se objevuje v systémových protokolech jako stovky neoprávněných pokusů o přihlášení přes ssh. Nastavení

Nastavení httpd v OpenBSD

Nastavení httpd v OpenBSD

Úvod OpenBSD 5.6 představilo nového démona s názvem httpd, který podporuje CGI (přes FastCGI) a TLS. K instalaci nového http není potřeba žádná další práce

Nastavte iRedMail na FreeBSD 10

Nastavte iRedMail na FreeBSD 10

Tento tutoriál vám ukáže, jak nainstalovat groupwarový iRedMail na čerstvou instalaci FreeBSD 10. Měli byste použít server s alespoň jedním gigabajtem o

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více