Verwenden Sie Nginx, um einen Streaming-Media-Server zu erstellen und die Live-Übertragungsfunktion zu realisieren

Verwenden Sie Nginx, um einen Streaming-Media-Server zu erstellen und die Live-Übertragungsfunktion zu realisieren

Vorne geschrieben

In den letzten Jahren ist die Live-Streaming-Branche sehr populär geworden. Ob Live-Streaming in traditionellen Branchen oder beim Einkaufen, Spielen und im Bildungsbereich, Live-Streaming ist immer dabei. Haben Sie als Freund, der viele Jahre in der Internetbranche gearbeitet hat, schon einmal darüber nachgedacht, wie man mit Nginx eine Live-Übertragungsumgebung erstellt? Keine Sorge, als Nächstes verwenden wir Nginx, um eine Live-Übertragungsumgebung zu erstellen.

Installieren Sie Nginx

Hinweis: Hier nehmen wir den CentOS 6.8-Server als Beispiel, um Nginx als Root-Benutzer zu installieren.

1. Abhängige Umgebung installieren

yum -y installiere wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* 
libpng* freier Typ* 
autoconf automake zlib* 
fiex* libxml* 
libmcrypt* 
libtool-ltdl-devel* 
libaio libaio-devel 
bzr-libtool

2. Installieren Sie openssl

wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
tar -zxvf openssl-1.0.2s.tar.gz
cd /usr/local/src/openssl-1.0.2s
./config --prefix=/usr/local/openssl-1.0.2s
machen
installieren

3. Installieren Sie PCRE

wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
tar -zxvf pcre-8.43.tar.gz
cd /usr/local/src/pcre-8.43
./configure --prefix=/usr/local/pcre-8.43
machen
installieren

4. Installieren Sie zlib

wget https://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd /usr/local/src/zlib-1.2.11
./configure --prefix=/usr/local/zlib-1.2.11
machen
machen

5. Laden Sie das nginx-rtmp-module herunter

Die offizielle GitHub-Adresse von nginx-rtmp-module: https://github.com/arut/nginx-rtmp-module

Verwenden Sie den Befehl:

Git-Klon https://github.com/arut/nginx-rtmp-module.git

6. Installieren Sie Nginx

wget http://nginx.org/download/nginx-1.19.1.tar.gz
tar -zxvf nginx-1.19.1.tar.gz
cd /usr/local/src/nginx-1.19.1
./Konfigurieren --prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2s --with-pcre=/usr/local/src/pcre-8.43 --with-zlib=/usr/local/src/zlib-1.2.11 --add-module=/usr/local/src/nginx-rtmp-module --with-http_ssl_module
machen
installieren

Hierbei ist zu beachten, dass bei der Installation von Nginx das Quellcode-Dekomprimierungsverzeichnis von OpenSSL, PCRE und Zlib angegeben wird. Nach Abschluss der Installation lautet der vollständige Pfad der Nginx-Konfigurationsdatei: /usr/local/nginx-1.19.1/conf/nginx.conf.

Konfigurieren Sie Nginx

Die Konfiguration von Nginx umfasst hauptsächlich die Konfiguration der Datei nginx.conf von Nginx. Wir können den folgenden Befehl in die Befehlszeile eingeben, um die Datei nginx.conf zu bearbeiten.

vim /usr/local/nginx-1.19.1/conf/nginx.conf

Fügen Sie der Datei den folgenden Inhalt hinzu.

rtmp {
 Server {
  hören 1935; #Abhörport Chunk_size 4096; 
  Anwendung hls { #rtmp Streaming-Anforderungspfad live auf; 
   hls an; 
   hls_Pfad /usr/share/nginx/html/hls; 
   hls_fragment 5s; 
  } 
 } 
}

Der hls_path erfordert Lese- und Schreibberechtigungen. Als nächstes erstellen wir das Verzeichnis /usr/share/nginx/html/hls.

mkdir -p /usr/share/nginx/html/hls
chmod -R 777 /usr/share/nginx/html/hls

Als nächstes ändern Sie das Servermodul in http:

Server { 
 hören 81; 
 Servername localhost; 
 
 #Zeichensatz koi8-r; 
 
 #access_log Protokolle/Host.access.log Haupt; 
 
 Standort / { 
  root /usr/share/nginx/html; 
  Index Index.html Index.htm; 
 } 
 
 #Fehlerseite 404 /404.html; 
 
 # Server-Fehlerseiten auf die statische Seite /50x.html umleiten 
 # 
 Fehlerseite 500 502 503 504 /50x.html; 
 Standort = /50x.html { 
  Stamm-HTML; 
 }
}

Starten Sie dann Nginx:

/usr/local/nginx-1.19.1/sbin/nginx -c /usr/local/nginx-1.19.1/conf/nginx.conf

Aktiviere OBS zum Streamen

OBS (Open Broadcaster Software) ist eine kostenlose Open-Source-Software zum Streamen von Live-Inhalten über das Internet. Sie müssen diese Software herunterladen und sie zum Pushen des Streams verwenden (anscheinend kann sie nicht auf Computern ohne Kameras installiert werden ...)

Der Download-Link von OBS lautet: https://obsproject.com/zh-cn/download.

Nach der Installation wird auf dem Desktop ein Diagramm wie das unten gezeigte angezeigt.

Nach dem Öffnen benötigen wir eine Szene. In dieser Szene muss sich eine Streamquelle befinden (das kann ein Fenster sein. Wenn das Video ausgewählt ist, wird die Kamera automatisch erkannt). Der nächste Schritt besteht darin, sie einzurichten.

Das Wichtigste, worauf bei der Konfiguration geachtet werden muss, ist die Stream-Konfiguration. Da es sich um einen selbstgebauten Streaming Media Server handelt, konfigurieren wir ihn wie unten gezeigt.

rtmp://Ihre Server-IP:Port(1935)/live #URL Geben Sie die Stream-Adresse ein 

Nachdem die Einstellungen abgeschlossen sind, können wir mit dem Streaming beginnen.

Pull-Flow-Testadresse

Hier ist eine empfohlene Streaming-Testadresse, mit der Streaming für verschiedene Protokolle getestet werden kann. Achten Sie auf einige Stellen im Bild. Da wir das RTMP-Protokoll verwenden, wählen wir diese Spalte aus, füllen die Streaming-Adresse und den Namen des Streams aus, der in den obigen OBS-Einstellungen konfiguriert wurde, starten und fertig! ! !

Dies ist das Ende dieses Artikels über die Verwendung von Nginx zum Erstellen eines Streaming-Media-Servers zur Realisierung der Live-Übertragungsfunktion. Weitere verwandte Artikel über Nginx zum Erstellen eines Streaming-Media-Servers zur Realisierung von Live-Übertragungsinhalten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Konfiguration des Nginx+RTMP+HLS+HTTPFLV-Servers in Ubuntu 18.04 zur Realisierung von On-Demand-/Live-Broadcast-/Aufnahmefunktionen
  • Tutorial zur Installation des Nginx-RTMP-Streaming-Servers unter Ubuntu 14
  • Nginx-rtmp realisiert den Echtzeit-Streaming-Effekt von Live-Medien
  • Nginx verwendet das Modul nginx-rtmp-module, um die Live-Broadcast-Raumfunktion zu realisieren
  • Detaillierte Schritte zum Erstellen eines Nginx+RTMP-Liveservers auf dem Mac
  • Detaillierte Erklärung des Prozesses zum Erstellen eines Image-Servers mit nginx (der Unterschied zwischen Root und Alias)
  • So richten Sie einen URL-Link im Nginx-Server ein
  • So verwenden Sie nginx, um auf lokale statische Ressourcen auf einem Linux-Server zuzugreifen
  • Nginx erstellt Implementierungscode für RTMP-Liveserver

<<:  Lösen Sie das Problem, dass Navicat beim Importieren der SQL-Datenbankdatenstruktur den Fehler datetime(0) meldet.

>>:  Vuex kombiniert Sitzungsspeicherdaten, um das Problem des Datenverlusts beim Aktualisieren der Seite zu lösen

Artikel empfehlen

Überwachen Sie die Größenänderung eines DOM-Elements über Iframe

Ein während des Entwicklungsprozesses häufig auft...

HTML-Elemente durch Anzeige oder Sichtbarkeit verbergen

Manchmal müssen wir steuern, ob HTML-Elemente auf ...

Detaillierte Erklärung der Funktion und Verwendung der DOCTYPE-Deklaration

1. Browser-Rendering-Modus und Doctype Einige Web...

Hauptfunktionen von MySQL Innodb: Einfügepuffer

Inhaltsverzeichnis Was ist ein Einfügepuffer? Was...

So erstellen Sie einen Redis-Cluster mit Docker

Inhaltsverzeichnis 1. Erstellen Sie ein Redis-Doc...

React useEffect verstehen und verwenden

Inhaltsverzeichnis Vermeiden Sie sich wiederholen...

HTML ungeordnete Liste Aufzählungspunkte mit Bildern CSS schreiben

Erstellen Sie eine HTML-Seite mit einer ungeordnet...

Mehrere Möglichkeiten, Axios in Vue zu kapseln

Inhaltsverzeichnis Basisversion Schritt 1: Axios ...

CSS-Rand halb oder teilweise sichtbarer Implementierungscode

1. Verwenden Sie Pseudoklassen, um die Hälfte des...

Einführung in HTML DOM_PowerNode Java Academy

Was ist DOM? Mit JavaScript können Sie das gesamt...

Detaillierte Installationshistorie von Ubuntu 20.04 LTS

In diesem Artikel wird die Erstellung einer USB-S...

Eine kurze Einführung in Linux-Umgebungsvariablendateien

Im Linux-System können Umgebungsvariablen entspre...

So erstellen Sie dynamische QML-Objekte in JavaScript

1. Objekte dynamisch erstellen Es gibt zwei Mögli...

5 einfache Möglichkeiten, Speicherplatz auf Ubuntu freizugeben

Vorwort Die meisten Benutzer führen diesen Vorgan...