Heim  >  Artikel  >  Backend-Entwicklung  >  NGINX konfiguriert den RTMP-Server für die Implementierung von RTMP- und HLS-Liveübertragungen

NGINX konfiguriert den RTMP-Server für die Implementierung von RTMP- und HLS-Liveübertragungen

WBOY
WBOYOriginal
2016-08-08 09:29:441946Durchsuche

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
  • Konfiguration des RTMP-Push-Servers
    • 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/ platziertapp, 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

  • Zu diesem Zeitpunkt ist die einfache Konfiguration von Nginx abgeschlossen. Die obige Konfiguration wird in /usr/local/conf/nginx.conf gespeichert.


    • Ein Beispiel (über 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.

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn