Maak je eigen live videostreamingserver met Linux

De meeste tools en sites voor livestreaming zijn gratis voor het publiek, maar ze vereisen vaak dat u een account aanmaakt, met informatie die u misschien niet online wilt laten verschijnen. Ze kunnen(can ) wat inhoud achter advertenties houden en verwarrende Servicevoorwaarden bevatten die(Service) ze misschien niet eens aan zichzelf houden. 

Er zijn mensen die genieten van de mogelijkheid om live te streamen, maar het niet nodig hebben dat hun video's beschikbaar zijn voor de massa. In plaats daarvan hebben ze liever meer controle over hun stream en de inhoud die ze produceren. Open-(Open-source) sourcesoftware, zoals Linux , is het beste antwoord op dit obstakel.

Vooruit denken(Thinking Ahead)

Voordat u begint met het opzetten van uw eigen persoonlijke streamingserver, moet u uzelf een paar vragen stellen. Ten eerste(First) , naar welke streamkwaliteit ben je op zoek? Vervolgens(Next) , hoeveel kijkers verwacht u te trekken? Waar ga je al je gestreamde inhoud opslaan? Wie heeft toegang tot die inhoud?

Systeemvereisten kunnen ook als een punt van zorg worden gezien. Er zijn echter geen vaste regels over wat u in dit opzicht precies nodig heeft, dus doe uzelf een plezier en experimenteer om te zien wat het beste werkt voor uw doelen.

U moet uitzoeken welk protocol het audio- en videogedeelte van de streaming afhandelt. Real-Time Messaging Protocol ( RTMP ) is een goede keuze, maar er zijn andere, zoals WebRTC , die het in jouw situatie misschien beter doen. RTMP heeft brede ondersteuning, dus daar zullen we ons in dit artikel op concentreren.

Een ander ding om je zorgen over te maken, zijn waarschijnlijk vertragingen in je "live" streaming. Alleen omdat je live gaat, wil nog niet zeggen dat alles perfect op één lijn ligt. Videostreams(Video) moeten worden gecodeerd, overgedragen, gebufferd en weergegeven, dus verwacht wat aanpassingen aan de kenmerken van de stream.

Linux-server instellen(Linux Server Setup)

Ubuntu Linux is mijn persoonlijke favoriet, dus dat zal hier de versie bij uitstek zijn. Voor degenen die de voorkeur geven aan een GUI- optie, is Ubuntu Desktop beschikbaar. 

  • Start(Fire) het Ubuntu- installatieprogramma en kies de instellingen die het beste bij uw behoeften passen. U zult waarschijnlijk een aantal statische netwerkinstellingen willen instellen, aangezien dit als een server gaat worden gebruikt.
  • Start(Reboot) het systeem na de installatie opnieuw op als dit niet automatisch gebeurt. Zodra het Ubuntu -systeem opstart, installeert u alle beschikbare updates:
sudo apt update
sudo apt upgrade

We gebruiken de Nginx-webserver voor deze streamingserver. Installeer het:

sudo apt install nginx

Schaf de RTMP -module aan zodat Nginx uw mediastream aankan:

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

Pas de configuratie van Nginx aan zodat deze uw mediastream kan accepteren en leveren.

sudo nano /etc/nginx/nginx.conf

Voeg de volgende code toe aan de onderkant van het configuratiebestand:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

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

Sla het configuratiebestand op, want we zullen het later gebruiken om een ​​werkende streamingserver te maken.

Start Nginx opnieuw(Restart Nginx) met de nieuwe configuratie:

sudo systemctl restart nginx

Streamingsoftware instellen(Streaming Software Setup)

De server is klaar, dus nu is het tijd om je streamingsoftware in te stellen. Laten we in deze doorloop eens  gebruik maken van Open Broadcaster Software (OBS).(Open Broadcaster Software)

  • Ga naar de site en selecteer de build voor Linux . Nadat de software is gestart, configureert u OBS met de instellingen die het beste bij uw hardware passen.
  • Voeg een streamingbron toe door op de + net onder Bron(Source) te klikken .

  • Kies voor het testen Display Capture en voer een naam in voor de bron.
  • Klik op de knop OK en OBS zal uw bureaublad spiegelen.
  • Klik vervolgens op het tabblad Bestand(File) en kies Instellingen(Settings)

Selecteer in het gedeelte Stream de optie Stream Type instellen op Aangepast...(set Stream Type to Custom…) en voer de volgende URL in het veld Server in:

rtmp://IPaddress/live 

Voer in plaats van IP(IPaddress) -adres het IP-adres van uw streamingserver in.

Maak nu uw eigen Stream Key en voer deze in het vak Stream key in. Maak er iets van dat je je herinnert en schrijf het op. Vink voor extra beveiliging het vakje Verificatie gebruiken(Use authentication ) aan en voeg uw voorkeursgegevens toe.

Sluit af met Toepassen(Apply) gevolgd door de OK- knop.

Alles zou nu moeten worden geconfigureerd voor streaming. Om uw eerste stream te starten, drukt u op de knop Nu(Stream Now) streamen. De knop verandert in Stop met streamen(Stop Streaming) zolang alles correct is gedaan. De bandbreedtestatistieken van uw stream verschijnen onder aan het OBS - venster.

Wees je eerste kijker(Be Your First Viewer)

Er zijn tal van open source mediaspelers die RTMP ondersteunen , waarvan de meest bekende de VLC-mediaspeler is(VLC media player) . Installeer en start deze software, klik op het tabblad Media en selecteer Netwerkstream openen(Open Network Stream) in het menu. 

Heb(Got) je je Stream Key bij de hand? Typ het pad naar je stream en voeg de streamsleutel(Stream Key) toe die je eerder hebt ingesteld aan het einde ervan. Zou er als volgt uit moeten zien:

rtmp://IPaddress/live/SecretKey

Klik op Afspelen(Play) en je krijgt een liveweergave van je eigen stream.

Aanvullende maatregelen(Additional Measures)

Nu de basis is bereikt, zijn het beperken van de toegang tot uw streamingserver en het kunnen opnemen en opslaan van uw video's twee andere factoren waarin u mogelijk geïnteresseerd bent.

Standaard kan iedereen je stream bekijken. Dit kan in strijd zijn met het doel van het maken van de server. U wilt beperkte toegang instellen met behulp van een Linux - firewall, .htaccess-bestand(.htaccess file) of de ingebouwde toegangscontrole in de RTMP-module(built-in access controls in the RTMP module) . Deze keuze wordt aan u overgelaten.

Met de hier geboden Nginx -configuratie kun je alleen video's streamen, maar niet opslaan. Om een ​​opslagoptie toe te voegen, kunt u in de Nginx- configuratie, net onder het RTMP -gedeelte, de stream-opname-opties instellen en een locatie opgeven waar u uw inhoud wilt opslaan en opslaan. 

Stel(Set) een bestaand pad in zodat Nginx ernaar kan schrijven. Vul het volgende in:

applicatie live { (application live {)
             live op; (             live on;)
             alles opnemen; (             record all;)
             record_path /var/www/html/recordings;
             record_uniek op; (             record_unique on;)
}

Dat is alles wat u nodig heeft bij het opzetten van een live streaming-server met behulp van het Ubuntu Linux-besturingssysteem(Ubuntu Linux OS) . Als je meer geïnteresseerd bent in een niet-live mediastreamingserver, raad ik het gebruik van Plex aan in plaats van OBS.



About the author

Ik ben software engineer en heb ervaring met zowel Microsoft Office als de Chrome browser. Ik heb kennis van vele aspecten van webontwikkeling, inclusief maar niet beperkt tot: HTML, CSS, JavaScript, jQuery en React. Door mijn interesse in het werken met technologie ben ik ook bekend met verschillende platformen (Windows, Mac, iOS) en begrijp ik hoe ze werken.



Related posts