Streaming radiowy na FreeBSD 10 z IceCast i Ices

Poniższy samouczek wyjaśnia, jak skonfigurować serwer transmisji strumieniowej radia IceCast i odtwarzać pliki audio (muzykę lub podcasty) na platformie FreeBSD. W tym samouczku założono, że korzystasz z FreeBSD 10.0 lub nowszego i że jesteś zalogowany jako użytkownik root. Przyjęto również, że masz edytor tekstu do edycji plików konfiguracyjnych.

Zanim zaczniemy, ważne jest, aby zrozumieć trzy części serwera przesyłania strumieniowego audio. Po pierwsze, mamy oprogramowanie serwera, IceCast. IceCast działa jak centralny hub, w którym strumienie audio przychodzą i są wysyłane. Usługa IceCast pobiera strumienie audio od klientów źródłowych. Klienci źródłowi to programy, które odczytują pliki audio lub inne źródła dźwięku, takie jak mikrofony. W naszym przykładzie klientem źródłowym jest Ices, który dostarcza strumień audio do serwera IceCast. Trzeci element to klient nasłuchujący. Strumienie audio przesyłane są z serwera IceCast do słuchaczy, którzy następnie słyszą dźwięk. Zwykle klientem nasłuchującym jest aplikacja komputerowa, taka jak przeglądarka internetowa, odtwarzacz multimedialny VLC lub WinAMP. Wizualnie układ wygląda następująco:

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

Aby skonfigurować serwer przesyłania strumieniowego IceCast na FreeBSD, najpierw instalujemy oprogramowanie serwera. Można to zrobić, uruchamiając następujące polecenie.

 pkg install icecast2

Następnie otwieramy /etc/rc.confplik i włączamy usługę IceCast w tle. Odbywa się to poprzez dołączenie następującego tekstu na dole /etc/rc.confpliku.

 icecast_enable="YES"

Naszym następnym krokiem jest skonfigurowanie usługi IceCast. Pakiet IceCast jest dostarczany z przykładowym plikiem konfiguracyjnym, który możemy zmodyfikować. Ten przykładowy plik znajduje się w /usr/local/etckatalogu. Zrobimy kopię tego przykładowego pliku przed jego edycją.

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

Chcemy teraz edytować kilka kluczowych pól icecast.xmlpliku. Większość plików można pozostawić z ustawieniami domyślnymi, ale powinniśmy zmienić dane logowania. Możemy to zrobić, odwiedzając uwierzytelniania część (około 30 linii) i zmieniając źródłowego hasło i Relay-hasło do czegoś właściwe. Te hasła pozwolą nam przesyłać strumieniowo dane do serwera IceCast z klienta źródłowego. Powinniśmy również zmienić zmienne admin-user i admin-password na coś unikalnego dla naszego systemu. Te dwa poświadczenia chronią interfejs internetowy serwera IceCast. Następnie, poniżej linii 150, powinniśmy zmienić zmienne mount-name , nazwa użytkownika ihasło . Te trzy zmienne chronią punkt montowania serwera IceCast. Wreszcie u dołu icecast.xmlpliku powinna znajdować się sekcja dotycząca bezpieczeństwa , która została skomentowana. Powinniśmy usunąć symbole otwierające < i zamykające -> z całego akapitu bezpieczeństwa . Po icecast.xmlzmianie pliku zapisz plik.

Po edycji pliku konfiguracyjnego chcemy włączyć rejestrowanie. Aby to zrobić, uruchom następujące polecenia.

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

Wreszcie uruchamiamy serwer IceCast, co powoduje, że serwer nasłuchuje wejściowych i przychodzących połączeń klientów.

 service icecast2 start

Serwer IceCast jest gotowy do działania, więc teraz musimy zapewnić mu coś do grania. Naszym następnym krokiem jest instalacja klienta źródłowego Ices. FreeBSD obecnie nie oferuje pakietu binarnego dla Ices, więc musimy go zbudować z portów. Można to zrobić, uruchamiając następujące polecenia.

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

Klient źródłowy Ices będzie potrzebował konta użytkownika i logowania. Aby utworzyć użytkownika dla oprogramowania Ices i ustawić hasło do konta, uruchom te polecenia.

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

Po utworzeniu użytkownika możemy teraz włączyć rejestrowanie dla Ices.

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

Od tego, że nie powinien już dostęp do konta root potrzeba i może działać jako ICES użytkownika. Następnie musimy utworzyć dwa katalogi. Jeden katalog musicbędzie zawierał pliki audio, które będziemy przesyłać strumieniowo. Drugi katalog confbędzie zawierać nasze pliki konfiguracyjne.

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

Mamy teraz przykładowy plik konfiguracyjny. Czas edytować conf/configuration.xmlplik, aby pasował do naszego środowiska. Jedyne części pliku, które musimy zmienić, znajdują się poniżej linii 60. Tutaj musimy podać hasło i miejsce montażu, które ustaliliśmy w icecast.xmlpliku. Na przykład, jeśli ustawimy naszą zamontować nazwę w icecast.xmlpliku będzie /radio.ogg, to powinniśmy zmienić nasze configuration.xmlFile zamontować parametr być także /radio.ogg. Nasze pole hasłaconfiguration.xml powinno być zgodne z hasłem źródłowym, które utworzyliśmy w icecast.xmlpliku. Po configuration.xmledycji naszego pliku będziemy musieli zapisać nasze zmiany.

Po zainstalowaniu pliku konfiguracyjnego następnym krokiem powinno być skopiowanie plików audio, które chcemy przesyłać strumieniowo do musickatalogu. Pliki audio powinny mieć .oggformat, ponieważ IceCast nie będzie obsługiwał .mp3plików z ustawieniami domyślnymi. Gdy wszystkie pliki audio, które chcemy przesyłać strumieniowo, znajdą się w musickatalogu, musimy utworzyć listę odtwarzania. Lista odtwarzania to zwykły plik tekstowy z listą muzyki, którą chcemy przesyłać strumieniowo. Możemy łatwo stworzyć listę odtwarzania za pomocą następujących poleceń.

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

Pliki audio będą odtwarzane w kolejności, w jakiej występują w playlist.txtpliku. Plik można edytować w dowolnym edytorze tekstu, aby dostosować kolejność przesyłania strumieniowego audio.

Wszystko, co musimy zrobić, aby rozpocząć przesyłanie strumieniowe naszych plików audio, to uruchomienie tego polecenia.

 ices configuration.xml

Uwaga dodatkowa: Często możemy chcieć uruchomić klienta źródłowego Ices, a następnie wylogować się i zrobić coś innego. W takim przypadku lubię uruchamiać lody z sesji ekranowej . Oto przykład, jak uruchamiać lody z ekranem.

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

Następnie naciśnij Ctrl + A i naciśnij klawisz D. To odłączy sesję ekranową i pozwoli nam się wylogować, podczas gdy Ices odtwarza dźwięk w tle. Później możemy zatrzymać Lody, logując się i uruchamiając:

 screen -r
 killall ices
 exit

Możemy teraz połączyć się z naszym serwerem na porcie 8000 w przeglądarce internetowej, aby słuchać naszego strumienia audio. URL będzie wyglądał http://myservername:8000. Ten adres można udostępnić publicznie, jeśli chcesz, aby inni mogli słuchać strumienia.

Wcześniej wspomniałem, że IceCast odtwarza .oggpliki, a nie .mp3. Jest to dość łatwe do pokonania na FreeBSD. Jako użytkownik root możemy zainstalować narzędzie do konwersji o nazwie sox , które przekonwertuje nasze .mp3pliki na .oggpliki. Zakładając, że wszystkie nasze .mp3pliki znajdują się w /home/ices/musickatalogu, możemy zainstalować sox i przeprowadzić konwersję w następujący sposób:

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

Następnie możemy odświeżyć naszą listę odtwarzania, używając:

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

Należy pamiętać, że przesyłanie strumieniowe audio może wymagać dużej przepustowości. Jeden lub dwóch klientów słuchających naszej stacji radiowej nie będzie wymagało dużej przepustowości, ale 50 lub więcej klientów może przepchnąć serwer przez przydzieloną miesięczną przepustowość. Dobrym pomysłem jest włączenie ograniczenia przepustowości na serwerze przesyłania strumieniowego, aby uniknąć nieoczekiwanych kosztów finansowych.



Leave a Comment

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.