Izradite vlastiti poslužitelj za video streaming uživo s Linuxom

Većina alata i web-mjesta za prijenos uživo besplatni su za javnost, ali često zahtijevaju da stvorite račun, pružajući informacije koje možda ne želite da se pojavljuju na mreži. Mogu držati dio sadržaja iza reklama i uključiti zbunjujuće Uvjete pružanja usluge kojih se možda ni sami (Service)ne(can ) pridržavaju. 

Postoje oni koji uživaju u mogućnosti prijenosa uživo, ali nemaju potrebu da njihovi videozapisi budu dostupni masama. Umjesto toga, radije bi imali veću kontrolu nad svojim streamom i sadržajem koji proizvode. Softver otvorenog koda(Open-source) , poput Linuxa(Linux) , najbolji je odgovor na ovu prepreku.

Razmišljanje unaprijed(Thinking Ahead)

Prije nego počnete postavljati svoj osobni poslužitelj za streaming, trebali biste si postaviti nekoliko pitanja. Prvo(First) , kakvu kvalitetu streama tražite? Zatim(Next) , koliko gledatelja očekujete privući? Gdje ćete pohraniti sav svoj streamani sadržaj? Tko će imati pristup tom sadržaju?

Zahtjevi sustava također se mogu smatrati problemom. Međutim, ne postoje utvrđena pravila o tome što će vam točno trebati u tom pogledu, stoga učinite sebi uslugu i eksperimentirajte kako biste vidjeli što najbolje odgovara vašim ciljevima.

Morat ćete shvatiti koji će protokol upravljati audio i video dijelom strujanja. Protokol za razmjenu poruka(Messaging Protocol) u stvarnom vremenu ( RTMP ) izvrstan je izbor, ali postoje i drugi, kao što je WebRTC , koji bi mogli biti bolji u vašoj situaciji. RTMP ima široku podršku pa ćemo se u ovom članku usredotočiti na to.

Još jedna stvar o kojoj morate brinuti su vjerojatno kašnjenje u vašem "uživo" streamingu. Samo zato što idete uživo ne znači da će se sve savršeno uskladiti. Video streamovi moraju biti kodirani, prenijeti, spremljeni u međuspremnik i prikazani, stoga očekujte potrebu za malim podešavanjem atributa streama.

Postavljanje Linux poslužitelja(Linux Server Setup)

Ubuntu Linux je moj osobni favorit, tako da će to biti verzija izbora ovdje. Za one koji preferiraju GUI opciju, dostupan je Ubuntu Desktop

  • Pokrenite(Fire) instalacijski program Ubuntua(Ubuntu) i odaberite postavke koje najbolje odgovaraju vašim potrebama. Vjerojatno ćete htjeti postaviti neke statičke mrežne postavke jer će se ovo koristiti kao poslužitelj.
  • Ponovno pokrenite(Reboot) sustav nakon instalacije ako to ne učini automatski. Nakon što se Ubuntu sustav pokrene, instalirajte sva dostupna ažuriranja:
sudo apt update
sudo apt upgrade

Koristit ćemo Nginx web poslužitelj(Nginx web server) za ovaj streaming server. Instalirajte ga:

sudo apt install nginx

Nabavite RTMP modul kako bi Nginx mogao upravljati vašim medijskim streamom:

sudo add-apt-repository universe
sudo apt install libnginx-mod-rtmp

Prilagodite konfiguraciju Nginxa tako da može prihvatiti i isporučiti vaš medijski stream.

sudo nano /etc/nginx/nginx.conf

Dodajte sljedeći kod na dno konfiguracijske datoteke:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

                application live {
                        live on;
                        record off;
                }
        }
}

Spremite konfiguracijsku datoteku jer ćemo je kasnije koristiti za stvaranje radnog poslužitelja za streaming.

Ponovno pokrenite Nginx(Restart Nginx) s novom konfiguracijom:

sudo systemctl restart nginx

Postavljanje softvera za strujanje(Streaming Software Setup)

Poslužitelj je spreman, pa je sada vrijeme da postavite svoj softver za streaming. Upotrijebimo Open Broadcaster Software (OBS) u ovom provođenju. 

  • Idite na stranicu i odaberite build za Linux . Nakon što se softver pokrene, konfigurirajte OBS s postavkama koje najbolje odgovaraju vašem hardveru.
  • Dodajte izvor strujanja klikom na + neposredno ispod Izvor(Source) .

  • Radi testiranja odaberite Display Capture i unesite naziv izvora.
  • Kliknite gumb U redu(OK) i OBS će preslikati vašu radnu površinu.
  • Zatim kliknite karticu Datoteka(File) i odaberite Postavke(Settings)

U odjeljku Stream odaberite Set Stream Type na Custom...(set Stream Type to Custom…) i unesite sljedeći URL u polje Server :

rtmp://IPaddress/live 

Umjesto IP(IPaddress) adrese unesite IP adresu vašeg streaming servera.

Sada stvorite vlastiti ključ streama(Stream Key) i unesite ga u okvir za ključ streama(Stream) . Neka bude nešto što ćete pamtiti i zapišite. Za dodatnu sigurnost, označite okvir Koristi provjeru autentičnosti(Use authentication ) i dodajte željene vjerodajnice.

Završite s Apply nakon čega slijedi gumb OK .

Sada bi sve trebalo biti konfigurirano za streaming. Da biste započeli svoj prvi stream, pritisnite gumb Stream Now . Gumb će se promijeniti u Zaustavi strujanje(Stop Streaming) sve dok je sve učinjeno ispravno. Mjerni podaci o propusnosti vašeg streama pojavit će se na dnu OBS prozora.

Budite svoj prvi gledatelj(Be Your First Viewer)

Postoji mnogo open source media playera koji podržavaju RTMP , od kojih je najpoznatiji VLC media player . Instalirajte i pokrenite ovaj softver, kliknite karticu Mediji(Media) i s izbornika odaberite Open Network Stream

Imate(Got) li pri ruci svoj ključ streama ? (Stream Key)Upišite put do svog streama i uključite ključ streama(Stream Key) koji ste prethodno postavili na kraj. Trebao bi izgledati:

rtmp://IPaddress/live/SecretKey

Kliknite Reproduciraj(Play) i dobit ćete pogled uživo na svoj vlastiti stream.

Dodatne mjere(Additional Measures)

Sada kada su osnove postignute, ograničavanje pristupa vašem streaming poslužitelju i mogućnost snimanja i spremanja vaših videozapisa dva su druga čimbenika koja bi vas mogla zanimati.

Prema zadanim postavkama, svatko može vidjeti vaš stream. To bi moglo biti protiv svrhe stvaranja poslužitelja na prvom mjestu. Poželjet ćete postaviti ograničeni pristup pomoću Linux vatrozida, .htaccess datoteke(.htaccess file) ili ugrađenih kontrola pristupa u RTMP modulu(built-in access controls in the RTMP module) . Ovaj izbor je prepušten vama.

Ovdje navedena konfiguracija Nginxa(Nginx) omogućit će vam samo streamanje videozapisa, ali ne i njihovo spremanje. Da biste dodali opciju pohrane, u konfiguraciji Nginxa(Nginx) , odmah ispod RTMP odjeljka, možete postaviti opcije snimanja streama i navesti mjesto na koje želite da se vaš sadržaj sprema i pohranjuje. 

Postavite(Set) postojeći put kako biste omogućili Nginxu(Nginx) da na njega piše. Unesite sljedeće:

aplikacija uživo { (application live {)
             live on;
             zabilježiti sve; (             record all;)
             record_path /var/www/html/recordings;
             record_unique on;
}

To je sve što biste trebali trebati kada postavljate live streaming server koristeći Ubuntu Linux OS . Ako vas više zanima poslužitelj za streaming medija koji nije uživo, predlažem korištenje Plexa(Plex) umjesto OBS-a.



About the author

Ja sam konzultant za digitalne medije s više od 10 godina iskustva u radu s Appleovim i Microsoftovim proizvodima. Imam iskustvo u dizajniranju i razvoju web stranica, mobilnih aplikacija i drugog digitalnog sadržaja. Također sam dobro upoznat s operativnim sustavom Windows 7, jer sam radio na brojnim projektima u posljednjih nekoliko godina. Moje vještine kao konzultanta omogućuju mi ​​da svojim klijentima ponudim profesionalne savjete i pomognem im da iskoriste prednosti najnovijih tehnoloških alata za postizanje svojih poslovnih ciljeva.



Related posts