Heim >Backend-Entwicklung >PHP-Tutorial >NGINX konfiguriert den RTMP-Server für die Implementierung von RTMP- und HLS-Liveübertragungen
Einführung in meine Verwendung von NGINX
Erstes, Konfiguration:
<code><span>work_processes</span><span>4</span>; events{ <span>work_connections</span><span>1024</span>; } http{ <span>include</span> mime.types; <span>default_type</span> application/octet-stream; <span>sendfile</span><span>on</span>; <span>keepalive_timeout</span><span>65</span>; server{ <span>listen</span><span>80</span>; <span>server_name</span> localhost; <span>location</span> /{ <span>root</span> html; <span>insex</span> index.html index.htm; } <span>location</span> /hls{ <span>alias</span> /tmp/app; } <span>error_page</span><span>500</span><span>502</span><span>503</span><span>504</span> /50x.html; <span>location</span> = /50x.html{ <span>root</span> html; } } } rtmp{ server{ <span>listen</span><span>1935</span>; <span>chunk_size</span><span>4000</span>; <span>application</span> liaortmp{ <span>live</span><span>on</span>; } <span>application</span> hls{ <span>live</span><span>on</span>; <span>hls</span><span>on</span>; <span>hls_path</span> /tmp/app; <span>hls_frament</span><span>15s</span>; } } } </code>
Interpretation der Konfiguration
Arbeitsprozesse und work_connections
work_processes: Starten Sie den Prozess, normalerweise auf eine gleiche Anzahl von CPUs eingestellt.
work_connections: Die maximale Anzahl gleichzeitiger Verbindungen für einen einzelnen Hintergrundarbeitsprozess
HTTP-Serverkonfiguration
- sendndfile: Geben Sie an, ob Nginx die Sendfile-Funktion aufruft (Null-Kopier-Modus) für die Ausgabe von Dateien. Bei Verwendung für Festplatten-IO-Anwendungen mit hoher Auslastung, z und reduzieren Sie die Systemverfügbarkeit.
- keepalive_timeout: Verbindungszeitüberschreitung
- server
- listen: Konfigurieren Sie, welcher Port überwacht werden soll
- server_name: Definieren Sie den Zugriff mit xxx, also die IP, die dem Domänennamen
- location /: Standardanforderung
- error_page und dem folgenden Speicherort entspricht: Fehleraufforderungsseite definieren
- location /hls: Anforderung definieren hls, meine Aussage hier ist: Wenn Sie den hls-Stream anfordern, müssen Sie m3u8 nach der Wiedergabeadresse hinzufügen. Der hls-Slice wird von /tmp/
app
abgerufen und die App definiert ihn selbst
- listen: Abhörport
- application liaortmp: Konfigurieren normale RTMP-Push-Anfrage hier
- Anwendungs-Liaohls: Konfigurieren Sie hier die RTMP-Push-Anfrage, spielen Sie den HLS-Modus durch, Slices werden in /tmp/ platziert
app
, dies entspricht der obigen http-Konfiguration, was soll das App hier schreiben, in http Was soll ich hier schreiben
- live on: Live-Übertragungsmodus umschalten, also Eins-zu-viele-Übertragung
- hls on: HLS in der Anwendung wechseln
- hls_path: Slice-Speicheradresse
- hls_fragment: Slice-Größe, legen Sie die HLS-Segmentlänge fest, der Standardwert ist 5 Sekunden
app
)
- RTMP-Streaming und RTMP-Wiedergabe
- Push-Adresse: rtmp://x.x.x.x:1935/liaortmp/liao
- Play-Adresse: rtmp://x.x.x.x:1935/liaortmp/liao
- rtmp push und hls Live-Übertragung
- Push-Adresse: rtmp://x.x.x.x:1935/liaohls/liao
- Play-Adresse: rtmp ://x.x.x.x :80/hls/liao
liao
kann durch alles ersetzt werden.
Referenz
1. Detaillierte Beschreibung der Nginx-Konfigurationsdatei
2. Detaillierte Erklärung des Nginx RTMP-Moduls nginx-rtmp-module Befehls
Das Obige stellt NGINX vor, um den RTMP-Server für die Implementierung von RTMP- und HLS-Liveübertragungen zu konfigurieren, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind.