So verwenden Sie Nginx, um einen RTMP-Liveserver auszuführen

So verwenden Sie Nginx, um einen RTMP-Liveserver auszuführen

Dieses Mal haben wir einen RTMP-Liveübertragungsserver für Computer oder Mobiltelefone eingerichtet, um Live-Streams an den Server zu übertragen, sodass andere Endgeräte wie Computer oder Mobiltelefone das Live-Video ansehen können. Hier verwenden wir eine Computer-Bildschirmaufzeichnungssoftware, um die in Echtzeit aufgezeichneten Computer-Bildschirmbilder an andere Personen zu übertragen. Insgesamt sind drei Teile erforderlich. Zunächst zeichnet die Bildschirmaufzeichnungssoftware den Computerbildschirm auf und überträgt den Bildstrom an den Server. Zweitens wird der Server RTMP eingerichtet und sollte in der Lage sein, die von der Bildschirmaufzeichnungssoftware hochgeladenen Bilder zu empfangen. Drittens kann der Videoplayer-Client eine Verbindung zum RTMP-Server herstellen und den vom RTMP-Server gesendeten Videostrom empfangen, sodass das Echtzeitbild der Bildschirmaufzeichnungssoftware im ersten Teil in Echtzeit angesehen werden kann. Der Kern ist hier der zweite Teil, der Aufbau eines RTMP-Servers.

1. Laden Sie nginx herunter

Nginx ist eine Serversoftware, ähnlich wie Tomcat, die zum Veröffentlichen von Serverprogrammen verwendet wird

(1) Download-Adresse: Führen Sie den Befehl wget http://nginx.org/download/nginx-1.15.3.tar.gz unter Linux aus, um das komprimierte Paket herunterzuladen.

(2) Dekomprimieren Sie die Datei mit dem tar-Befehl: tar xvf nginx-1.15.3.tar.gz

2. Laden Sie das Nginx RTMP-Modul herunter

​ wget https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1 Entpacken Sie das gleiche Tar xvf v1.2.1

3. Kompilieren Sie nginx

./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1

4. Ändern Sie die Conf-Datei im Nginx-RTMP-Modul

Öffnen Sie den Ordner mit cd nginx-rtmp-module-1.2.1, wechseln Sie zum Ordner cd test und ändern Sie den Inhalt der Datei nginx.conf wie folgt:

Arbeiterprozesse 1;
 
error_log Protokolle/error.log debuggen;
 
Ereignisse {
    Arbeiterverbindungen 1024;
}
 
rtmp {
    Server {
        hören Sie 1935;
 
        Anwendung meineApp {
            weiterleben;
 
            #Keyframes aufzeichnen;
            #Datensatzpfad /tmp;
            #maximale_Datensatzgröße 128K;
            #Aufzeichnungsintervall 30s;
            #Datensatzsuffix .das.ist.flv;
 
            #on_publish http://localhost:8080/veröffentlichen;
            #on_play http://localhost:8080/play;
            #bei_Datensatz_fertig http://localhost:8080/Datensatz_fertig;
        }
    }
}
 
http {
    Server {
        hören Sie 8080;
 
        Standort /stat {
            rtmp_stat alle;
            rtmp_stat_stylesheet stat.xsl;
        }
 
        Standort /stat.xsl {
            root /Pfad/zum/nginx-rtmp-module/;
        }
 
        Standort /Steuerung {
            rtmp_control alle;
        }
 
        #Standort /veröffentlichen {
        # Rückgabe 201;
        #}
 
        #Standort /spielen {
        # Rückgabe 202;
        #}
 
        #Standort /Aufzeichnung_erledigt {
        # Rückgabe 203;
        #}
 
        Standort /rtmp-publisher {
            root /Pfad/zu/nginx-rtmp-module/test;
        }
 
        Standort / {
            root /Pfad/zu/nginx-rtmp-module/test/www;
        }
    }
}

Die Streaming-Adresse lautet rtmp://IP:PORT/myapp/{abc}, wobei abc in {abc} optional ist und normalerweise ein Streaming-Passwort darstellt. Beim Senden oder Empfangen von Videostreams an den Server können Sie ein Passwort wie abc eingeben. Der Standardport des RTMP-Servers ist 1935. Wenn dieser Port belegt ist, können Sie den Prozess, der diesen Port belegt, mit dem folgenden Befehl beenden:

kill -9 pid (wobei pid die Prozess-ID ist).

Ersetzen Sie dann nginx.conf unter nginx-1.15.3/bin/conf durch diese conf,

Führen Sie den Befehl mv nginx.conf nginx.conf.bak aus, um die ursprüngliche nginx.conf umzubenennen, ohne die Originaldatei zu löschen.

5. Starten Sie nginx

cd nginx-1.15.3

Öffnen Sie den Nginx-Ordner

/root/nginx-1.15.3/bin/sbin/nginx

Starten Sie nginx

6. Überprüfen Sie, ob Nginx RTMP-Streaming-Medien erfolgreich bereitgestellt wurden

Greifen Sie nach dem Start über Ihren Browser auf 122.112.220.253:8080 zu.

Wenn es sich nicht öffnet,
1. Erstellen Sie Sicherheitsregeln auf dem Server, entwickeln Sie Zugangsregeln, öffnen Sie die Ports 1935 und 8080 und verwenden Sie TCP als Protokoll.
2. Ändern Sie in nginx.conf unter nginx-1.15.3/bin/conf den Benutzer oben: Benutzer root;

Zu diesem Zeitpunkt sieht der Inhalt von nginx.conf wie folgt aus:

Benutzer root;
Arbeiterprozesse 1;
 
error_log Protokolle/error.log debuggen;
 
Ereignisse {
    Arbeiterverbindungen 1024;
}
 
rtmp {
    Server {
        hören Sie 1935;
 
        Anwendung meineApp {
            weiterleben;
	    Fügt einen leeren Idle-Publisher hinzu, um ihn zu löschen.
        }
    }
}
 
http {
    Server {
        hören Sie 8082;
 
        Standort /stat {
            rtmp_stat alle;
            rtmp_stat_stylesheet stat.xsl;
        }
 
        Standort /stat.xsl {
            Wurzel /root/nginx-rtmp-module-1.2.1/;
        }
 
        Standort /Steuerung {
            rtmp_control alle;
        }
 
    
 
        Standort /rtmp-publisher {
            Wurzel /root/nginx-rtmp-module-1.2.1/test;
        }
 
        Standort / {
            root /root/nginx-rtmp-module-1.2.1/test/www;
        }
    }
}

3. Starten Sie nginx neu und greifen Sie erneut auf 122.112.220.253:8082 zu. Erfolg.

Beim nächsten Mal verwenden wir eine Bildschirmaufzeichnungssoftware zum Aufzeichnen des Computerbildschirms, verwenden das RTMP-Protokoll zum Übertragen des Computerbildschirmbilds auf den Server und verwenden einen Player zum Abspielen des RTMP-Livestreams auf dem Server.

Dies ist das Ende dieses Artikels über die Verwendung von Nginx zum Übertragen eines RTMP-Liveübertragungsservers. Weitere relevante Inhalte zum RTMP-Liveübertragungsserver finden Sie in den vorherigen Artikeln von 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:
  • Nginx erstellt Implementierungscode für RTMP-Liveserver
  • Detaillierte Erläuterung der Konfiguration des Nginx+RTMP+HLS+HTTPFLV-Servers in Ubuntu 18.04 zur Realisierung von On-Demand-/Live-Broadcast-/Aufnahmefunktionen
  • Detaillierte Schritte zum Erstellen eines Nginx+RTMP-Liveservers auf dem Mac

<<:  Einführung in die Verwendung des HTML-Elements Noscript

>>:  Warum ist der MySQL-Autoinkrement-Primärschlüssel nicht kontinuierlich?

Artikel empfehlen

Einige Punkte, auf die wir beim Entwurf einer Webseite achten sollten

Webdesign: Je nach persönlichen Vorlieben und Inha...

JavaScript zum Implementieren einer zufälligen Namensaufruf-Webseite

JavaScript schreibt eine zufällige Roll-Call-Webs...

Rendern im Vue-Scaffolding verstehen

Im Vue-Gerüst können wir sehen, dass im neuen Vue...

Eine detaillierte Einführung in die Linux-Verzeichnisstruktur

Wenn Sie mit dem Erlernen von Linux beginnen, müs...

Unterschied zwischen den Methoden querySelector und getElementById in JS

Inhaltsverzeichnis 1. Übersicht 1.1 Verwendung vo...

Best Practices für die Entwicklung von Amap-Anwendungen mit Vue

Inhaltsverzeichnis Vorwort Asynchrones Laden Pake...

Spezifische Verwendungsanweisungen für MySQL-Joins

Inhaltsverzeichnis Join-Syntax: 1. InnerJOIN: (In...

So implementieren Sie einen binären Suchbaum mit JavaScript

Eine der am häufigsten verwendeten und diskutiert...