Transmisia radio pe FreeBSD 10 cu IceCast și Ices

Următorul tutorial explică modul de configurare a unui server de streaming radio IceCast și de a reda fișiere audio (muzică sau podcast-uri) pe platforma FreeBSD. Acest tutorial presupune că rulați FreeBSD 10.0 sau o versiune superioară și că sunteți autentificat ca utilizator root. De asemenea, a presupus că aveți un editor de text pentru a edita fișierele de configurare.

Înainte de a începe, este important să înțelegem cele trei părți ale unui server de streaming audio. În primul rând, avem software-ul serverului în sine, IceCast. IceCast acționează ca un hub central unde fluxurile audio intră și sunt trimise. Serviciul IceCast preia fluxuri audio de la clienții sursă. Clienții sursă sunt programe care citesc fișiere audio sau alte surse de audio, cum ar fi microfoane. În exemplul nostru, clientul sursă este Ices și furnizează un flux audio serverului IceCast. A treia componentă este un client ascultător. Fluxurile audio călătoresc de pe serverul IceCast către ascultătorii care aud apoi audio. De obicei, un client ascultător este o aplicație desktop, cum ar fi un browser web, playerul multimedia VLC sau WinAMP. Din punct de vedere vizual, aranjamentul arată astfel:

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

Pentru a configura un server de streaming IceCast pe FreeBSD, mai întâi instalăm software-ul serverului. Acest lucru se poate realiza rulând următoarea comandă.

 pkg install icecast2

Deschidem apoi /etc/rc.conffișierul și activăm serviciul de fundal IceCast. Acest lucru se face prin adăugarea următorului text la partea de jos a /etc/rc.conffișierului.

 icecast_enable="YES"

Următorul nostru pas este să configurați serviciul IceCast. Pachetul IceCast se livrează cu un fișier de configurare de exemplu pe care îl putem modifica. Acest fișier de exemplu este localizat în /usr/local/etcdirector. Vom face o copie a acestui fișier de probă înainte de a-l edita.

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

Vrem acum să edităm câteva câmpuri cheie ale icecast.xmlfișierului. Cea mai mare parte a fișierului poate fi lăsată cu setările implicite, dar ar trebui să schimbăm informațiile de autentificare. Putem face acest lucru prin vizitarea autentificare secțiunea (la linia de aproximativ 30) și schimbarea sursei de parolă și releu de parolă la ceva adecvat. Aceste parole ne vor permite să transmitem date către serverul IceCast de la un client sursă. Ar trebui să schimbăm, de asemenea, variabilele admin-user și admin-password în ceva unic sistemului nostru. Aceste două credențiale protejează interfața bazată pe serverul IceCast. Apoi, în jurul liniei 150, ar trebui să schimbăm variabilele mount-name , username șiparola . Aceste trei variabile protejează punctul de montaj al serverului IceCast. În cele din urmă, în partea de jos a icecast.xmlfișierului ar trebui să vedem o secțiune de securitate care a fost comentată. Ar trebui să eliminăm simbolurile de deschidere <- și închidere -> din jurul alineatului de securitate . După ce icecast.xmlfișierul a fost schimbat, salvați fișierul.

Odată editat fișierul de configurare, dorim să activăm înregistrarea. Pentru a face acest lucru, executați următoarele comenzi.

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

În cele din urmă, pornim serverul IceCast, ceea ce face ca serverul să asculte conexiunile de intrare și de intrare a clientului.

 service icecast2 start

Serverul IceCast este în funcțiune, așa că acum trebuie să îi oferim ceva de redat. Următorul nostru pas este instalarea clientului sursă Ices. În prezent, FreeBSD nu oferă un pachet binar pentru Ices, de aceea trebuie să-l construim din porturi. Acest lucru se poate realiza rulând următoarele comenzi.

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

Clientul sursă Ices va avea nevoie de un cont de utilizator și de logare. Pentru a crea un utilizator pentru software-ul Ices și a seta o parolă în cont, executați aceste comenzi.

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

Cu utilizatorul creat, acum putem activa logarea pentru Ices.

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

De aici încolo, nu mai trebuie să avem nevoie de acces utilizator root și să putem funcționa ca utilizator de ghici . În continuare, trebuie să creăm două directoare. Un director musicva conține fișierele audio pe care le vom transmite. Al doilea director, confva conține fișierele noastre de configurare.

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

Avem acum un fișier de configurare pentru mostre. Este timpul să editați conf/configuration.xmlfișierul pentru a se potrivi mediului nostru. Singurele părți ale fișierului pe care trebuie să le schimbăm sunt în jurul liniei 60. Aici trebuie să furnizăm parola și locația de montaj setată în icecast.xmlfișier. De exemplu, dacă setăm ca numele nostru de montare în icecast.xmlfișier să fie /radio.ogg, atunci ar trebui să schimbăm parametrul de montareconfiguration.xml al fișierului nostru să fie și el . Câmpul nostru de parolă în ar trebui să se potrivească cu parola sursă pe care am creat-o în fișier. După ce fișierul nostru a fost editat, va trebui să ne salvăm modificările./radio.oggconfiguration.xmlicecast.xmlconfiguration.xml

Cu fișierul de configurare în loc, următorul pas ar trebui să fie copierea fișierelor audio pe care dorim să le transmitem în musicdirector. Fișierele audio ar trebui să fie în .oggformat, deoarece IceCast nu va trata .mp3fișierele cu setările sale implicite. După ce toate fișierele audio pe care dorim să le transmitem sunt incluse în musicdirector, trebuie să creăm o listă de redare. O listă de redare este un fișier text simplu, cu o listă cu muzica pe care dorim să o transmitem. Putem crea cu ușurință o listă de redare cu următoarele comenzi.

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

Fișierele audio vor fi redate în ordinea în care apar în playlist.txtfișier. Fișierul poate fi editat în orice editor de text pentru a ajusta ordinea audio în streaming.

Tot ce trebuie să facem pentru a începe să transmitem fișierele noastre audio este să rulăm această comandă.

 ices configuration.xml

Notă laterală: De multe ori este posibil să dorim să rulăm clientul sursă Ices și apoi să vă deconectăm și să mergem să facem altceva. În acest caz, îmi place să rulez Ices dintr-o sesiune de ecran . Iată un exemplu despre cum să executați icre cu ecran.

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

Apoi apăsați Ctrl + A și atingeți tasta D. Aceasta va detașa sesiunea de ecran și ne va permite să deconectăm în timp ce Ices redă audio în fundal. Mai târziu, putem opri Ices conectându-vă și rulând:

 screen -r
 killall ices
 exit

Acum ne putem conecta la serverul nostru de pe portul 8000 într-un browser web pentru a ne asculta fluxul audio. Adresa URL va arăta http://myservername:8000. Această adresă poate fi pusă la dispoziția publicului dacă doriți să îi lăsați pe ceilalți să asculte fluxul.

Mai devreme, am menționat că IceCast joacă .oggfișiere și nu .mp3. Acest lucru este destul de ușor de depășit pe FreeBSD. Ca utilizator rădăcină, putem instala un instrument de conversie, numit sox , care ne va converti .mp3fișierele în .oggfișiere. Presupunând că toate .mp3fișierele noastre sunt în /home/ices/musicdirector, putem instala sox și efectua o conversie după cum urmează:

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

Ne putem reîmprospăta lista de redare folosind:

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

Vă rugăm să rețineți că streamingul audio poate avea o lățime de bandă intensivă. Unul sau doi clienți care ascultă postul nostru de radio nu va necesita multă lățime de bandă, dar 50 sau mai mulți clienți ar putea împinge un server peste lățimea de bandă lunară alocată. Este o idee bună să activați limitarea lățimii de bandă pe serverul de streaming pentru a evita costurile financiare neașteptate.



Leave a Comment

Cum se instalează forumul NodeBB pe FreeBSD 12

Cum se instalează forumul NodeBB pe FreeBSD 12

Folosind un sistem diferit? NodeBB este un software de forum bazat pe Node.js. Utilizează prize web pentru interacțiuni instantanee și notificări în timp real. Nodul B

Protejați rezolv.conf de la DHCP pe FreeBSD 10

Protejați rezolv.conf de la DHCP pe FreeBSD 10

Dacă executați propriul dvs. rezolvator sau doriți să utilizați unul de la un furnizor terț, puteți constata că fișierul dvs. /etc/resolv.conf este suprascris de DHCP

Cum se instalează Automad CMS pe FreeBSD 12

Cum se instalează Automad CMS pe FreeBSD 12

Folosind un sistem diferit? Automad este un sistem open source de conținut bazat pe fișiere (CMS) și motor de șabloane, scris în PHP. Codul sursă Automad i

Cum se instalează X-Cart 5 pe FreeBSD 12

Cum se instalează X-Cart 5 pe FreeBSD 12

Folosind un sistem diferit? X-Cart este o platformă eCommerce open-source extrem de flexibilă, cu tone de funcții și integrări. Codul sursă X-Cart este gazdă

Instalați WordPress pe OpenBSD 6.2

Instalați WordPress pe OpenBSD 6.2

Introducere WordPress este sistemul dominant de gestionare a conținutului pe internet. Acesta alimentează totul, de la bloguri la site-uri web complexe, cu conținut dinamic

Cum se instalează Anchor CMS pe un VPS FreeBSD 11 FAMP

Cum se instalează Anchor CMS pe un VPS FreeBSD 11 FAMP

Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis

Configurare și configurare Murmur (Mumble Server) pe FreeBSD 11

Configurare și configurare Murmur (Mumble Server) pe FreeBSD 11

Murmur este software-ul de server oficial pentru protocolul de comunicare vocală Mumble. Această implementare oficială este stabilă și eficientă. Acest ghid va fi

Cum se instalează WonderCMS pe FreeBSD 12

Cum se instalează WonderCMS pe FreeBSD 12

Folosind un sistem diferit? WonderCMS este un CMS cu fișier plat, de tip open source, rapid și mic, scris în PHP. Codul sursă WonderCMS este găzduit pe Github. Acest ghid va fi

Cum se instalează Pagekit 1.0 CMS pe un VPS FreeBSD 11 FAMP

Cum se instalează Pagekit 1.0 CMS pe un VPS FreeBSD 11 FAMP

Folosind un sistem diferit? Pagekit 1.0 CMS este un sistem frumos de gestionare a conținutului (CMS), modular, extensibil și ușor, gratuit și deschis, cu

Cum se activează TLS 1.3 în Apache pe FreeBSD 12

Cum se activează TLS 1.3 în Apache pe FreeBSD 12

Folosind un sistem diferit? TLS 1.3 este o versiune a protocolului Transport Layer Security (TLS) care a fost publicat în 2018 ca standard propus în RFC 8446

Instalarea iRedMail pe FreeBSD 10

Instalarea iRedMail pe FreeBSD 10

Acest tutorial vă va arăta cum să instalați iRedMail de grup în o nouă instalare a FreeBSD 10. Ar trebui să folosiți un server cu cel puțin o gigabyte o

Cum se instalează Dolibarr pe FreeBSD 12

Cum se instalează Dolibarr pe FreeBSD 12

Folosind un sistem diferit? Dolibarr este un plan de resurse pentru întreprinderi open source (ERP) și managementul relațiilor cu clienții (CRM) pentru companii. Dolibarr

Instalați TaskServer (taskd) pe FreeBSD 11

Instalați TaskServer (taskd) pe FreeBSD 11

Folosind un sistem diferit? TaskWarrior este un instrument de gestionare a timpului open source care este o îmbunătățire a aplicației Todo.txt și a clonelor sale. Datorită th

Cum se instalează DokuWiki pe FreeBSD 12

Cum se instalează DokuWiki pe FreeBSD 12

Folosind un sistem diferit? DokuWiki este un program wiki open source scris în PHP care nu necesită o bază de date. Stochează date în fișiere text. DokuWik

Configurarea platformei Ghost Professional Publishing pe OpenBSD 6

Configurarea platformei Ghost Professional Publishing pe OpenBSD 6

Ghost este cel mai recent și cel mai mare upstart pentru a rivaliza cu WordPress. Dezvoltarea tematică este rapidă și ușor de învățat, deoarece dezvoltatorii Ghost au decis să utilizeze ambele aplicații

Rularea WordPress pe OpenBSD 6.5 cu OpenBSDs HTTPD

Rularea WordPress pe OpenBSD 6.5 cu OpenBSDs HTTPD

Introducere Cu cât vă mențineți mai aproape instalarea OpenBSD la valoarea implicită și fără tot atâtea pachete adăugate, cu atât va fi mai sigur. În timp ce mai comun

Redimensionați ZFS Storage Pool pe FreeBSD / TrueOS

Redimensionați ZFS Storage Pool pe FreeBSD / TrueOS

La actualizarea unei instanțe VPS pe Vultr, un sistem de fișiere Linux este redimensionat automat. Când executați FreeBSD cu sistemul avansat de fișiere ZFS, unele manuale sunt uzate

Simple Mailserver cu Postfix, Dovecot și Sieve pe FreeBSD 10

Simple Mailserver cu Postfix, Dovecot și Sieve pe FreeBSD 10

Acest tutorial vă va arăta cum să obțineți un server de mail simplu pe FreeBSD 10, cu Postfix ca MTA, Dovecot ca MDA și Sieve pentru sortarea poștelor - peste un

Instalați eSpeak pe FreeBSD 12

Instalați eSpeak pe FreeBSD 12

Folosind un sistem diferit? ESpeak poate genera fișiere audio text-to-speech (TTS). Acestea pot fi utile din mai multe motive, cum ar fi crearea propriului dvs. Torino

Cum se instalează MODX Revolution pe un FreeBSD 11 FAMP VPS

Cum se instalează MODX Revolution pe un FreeBSD 11 FAMP VPS

Folosind un sistem diferit? MODX Revolution este un sistem de administrare a conținutului (CMS) rapid, flexibil, scalabil, open source, de calitate a întreprinderii, scris în PHP. Este

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe