Skapa din egen Live Video Streaming Server med Linux

De flesta livestreamingverktyg och sajter är gratis för allmänheten men de tenderar ofta att kräva att du skapar ett konto, vilket ger information som du kanske inte vill ska visas online. De kan(can ) ha visst innehåll bakom annonser och införliva förvirrande användarvillkor som(Service) de kanske inte ens håller sig till själva. 

Det finns de som tycker om möjligheten att streama live, men som inte har ett behov av att ha sina videor tillgängliga för massorna. Istället föredrar de att ha mer kontroll över sin ström och innehållet de producerar. Programvara med öppen källkod(Open-source) , som Linux , är det bästa svaret på detta hinder.

Framåttänkande(Thinking Ahead)

Innan du börjar ställa in din egen personliga streamingserver bör du ställa dig själv några frågor. För det första(First) , vilken kvalitet på stream letar du efter? Nästa(Next) , hur många tittare förväntar du dig att dra in? Var kommer du att lagra allt ditt streamade innehåll? Vem kommer att ha tillgång till det innehållet?

Systemkrav kan också ses som ett problem. Det finns dock inga fasta regler för exakt vad du behöver i detta avseende, så gör dig själv en tjänst och experimentera för att se vad som fungerar bäst för dina mål.

Du måste ta reda på vilket protokoll som hanterar ljud- och videodelen av streamingen. Real-Time Messaging Protocol ( RTMP ) är ett utmärkt val men det finns andra, som WebRTC , som kan klara sig bättre i din situation. RTMP har brett stöd så vi fokuserar på det i den här artikeln.

En annan sak att oroa sig för är troliga förseningar i din "live" streaming. Bara för att du går live betyder det inte att allt kommer att passa perfekt. Videoströmmar(Video) måste kodas, överföras, buffras och visas, så förvänta dig behovet av lite justeringar i strömmens attribut.

Linux-serverinstallation(Linux Server Setup)

Ubuntu Linux är min personliga favorit, så det kommer att vara den valda versionen här. För dem som föredrar ett GUI- alternativ är Ubuntu Desktop tillgängligt. 

  • Starta(Fire) Ubuntu -(Ubuntu) installationsprogrammet och välj de inställningar som bäst passar dina behov. Du kommer förmodligen att vilja ställa in några statiska nätverksinställningar eftersom detta kommer att användas som en server.
  • Starta(Reboot) om systemet efter installationen om det inte gör det automatiskt. När Ubuntu- systemet startar upp installerar du alla tillgängliga uppdateringar:
sudo apt update
sudo apt upgrade

Vi kommer att använda Nginx webbserver(Nginx web server) för denna strömningsserver. Installera det:

sudo apt install nginx

Skaffa RTMP- modulen så att Nginx kan hantera din mediaström:

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

Justera Nginx konfiguration så att den kan acceptera och leverera din mediaström.

sudo nano /etc/nginx/nginx.conf

Lägg till följande kod längst ner i konfigurationsfilen:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

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

Spara konfigurationsfilen eftersom vi kommer att använda den senare för att skapa en fungerande streamingserver.

Starta om Nginx(Restart Nginx) med dess nya konfiguration:

sudo systemctl restart nginx

Installation av streamingprogramvara(Streaming Software Setup)

Servern är klar, så nu är det dags att konfigurera din streamingmjukvara. Låt oss använda Open Broadcaster Software (OBS) i denna genomgång. 

  • Gå till webbplatsen och välj build för Linux . Efter att programvaran har startats, konfigurera OBS med de inställningar som bäst matchar din hårdvara.
  • Lägg till en streamingkälla genom att klicka på + precis under Källa(Source) .

  • För testets skull, välj Display Capture och ange ett namn för källan.
  • Klicka på OK -knappen så speglar OBS ditt skrivbord.
  • Klicka sedan på fliken Arkiv(File) och välj Inställningar(Settings)

I avsnittet Stream väljer du ställ in Stream Type to Custom...(set Stream Type to Custom…) och anger följande URL i fältet Server :

rtmp://IPaddress/live 

I stället för IP(IPaddress) -adress anger du IP-adressen för din streamingserver.

Skapa nu din egen Stream-nyckel(Stream Key) och skriv in den i Stream -nyckelrutan. Gör det till något du kommer ihåg och skriv ner det. För ökad säkerhet, markera rutan Använd autentisering(Use authentication ) och lägg till dina föredragna referenser.

Avsluta med Apply följt av OK -knappen.

Allt ska nu vara konfigurerat för streaming. För att börja din första stream, tryck på knappen Streama nu(Stream Now) . Knappen ändras till Stoppa streaming(Stop Streaming) så länge allt gjordes korrekt. Din streams bandbreddsstatistik visas längst ned i OBS- fönstret.

Bli din första tittare(Be Your First Viewer)

Det finns gott om mediaspelare med öppen källkod som stöder RTMP , den mest kända av dem är VLC mediaspelare(VLC media player) . Installera och starta den här programvaran, klicka på fliken Media och välj Öppna nätverksström(Open Network Stream) på menyn. 

Har(Got) du din Stream Key till hands? Skriv sökvägen till ditt flöde och inkludera strömningsnyckeln du(Stream Key) konfigurerade tidigare, till slutet av den. Borde se ut så här:

rtmp://IPaddress/live/SecretKey

Klicka på Spela(Play) så får du en livevisning av din alldeles egna stream.

Ytterligare åtgärder(Additional Measures)

Nu när grunderna har uppnåtts, begränsa åtkomsten till din streamingserver och att kunna spela in och spara dina videor är två andra faktorer som du kan vara intresserad av.

Som standard kan vem som helst se din stream. Detta kan gå emot syftet med att skapa servern i första hand. Du vill ställa in begränsad åtkomst med en Linux- brandvägg, .htaccess-fil(.htaccess file) eller de inbyggda åtkomstkontrollerna i RTMP-modulen(built-in access controls in the RTMP module) . Detta val lämnas upp till dig.

Nginx -(Nginx) konfigurationen som tillhandahålls här gör det bara möjligt för dig att strömma videor, men inte spara dem. För att lägga till ett lagringsalternativ, i Nginx -konfigurationen, precis under RTMP- sektionen, kan du ställa in ströminspelningsalternativen och ange en plats där du vill att ditt innehåll ska sparas och lagras. 

Ställ(Set) in en befintlig sökväg för att tillåta Nginx att skriva till den. Skriv följande:

application live {
             live on;
             spela in alla; (             record all;)
             record_path /var/www/html/recordings;
             record_unique på; (             record_unique on;)
}

Det är allt du behöver när du ställer in en livestreamingserver med Ubuntu Linux OS . Om du är mer intresserad av en icke-live media streaming server, skulle jag föreslå att du använder Plex istället för OBS.



About the author

Jag är en datavetare med över 10 års erfarenhet av mjukvaruutveckling och säkerhet. Jag har ett starkt intresse för Firefox, Chrome och Xbox-spel. Jag är särskilt intresserad av hur jag ser till att min kod är säker och effektiv.



Related posts