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

Zwei praktische Möglichkeiten zum Aktivieren des Proxys in React

Zwei Möglichkeiten zum Aktivieren des Proxy React...

Einführung und Zusammenfassung der MySQL 8.0-Fensterfunktionen

Vorwort Vor MySQL 8.0 war es ziemlich mühsam, Dat...

MySQL 5.7-Bereitstellung und Remotezugriffskonfiguration unter Linux

Vorwort: Vor Kurzem werde ich mit meinen Partnern...

Zehn beliebte Regeln für das Interface-Design

<br />Dies ist ein Artikel, den ich vor lang...

Was ist JavaScript Anti-Shake und Throttling

Inhaltsverzeichnis 1. Funktion Entprellung 1. Was...

MySQL-Optimierung: Cache-Optimierung (Fortsetzung)

In MySQL gibt es überall Caches. Wenn ich den Que...

Mobile Frontend-Anpassungslösung (Zusammenfassung)

Ich habe online gesucht und festgestellt, dass in...

So beheben Sie das Timeout während des Pip-Vorgangs in Linux

So lösen Sie das Timeout-Problem, wenn Pip in Lin...

Zusammenfassung der Probleme bei der Speicherplatzfreigabe unter Linux

Die /Partitionsauslastung eines Servers im IDC is...

So passen Sie geplante AT- und Cron-Aufgaben in Linux an

Es gibt zwei Arten von geplanten Tasks im Linux-S...

So verwenden Sie die Zusatzfunktionen von Vuex

Inhaltsverzeichnis Kartenstaat Kartengetter Karte...