Heim > Artikel > Betrieb und Instandhaltung > Wie Nginx das Modul Nginx-RTMP-Module verwendet, um die Live-Übertragungsraumfunktion zu implementieren
Systemumgebung
wujianjun@wujianjun-work ~ $ uname -a linux wujianjun-work 4.10.0-37-generic #41~16.04.1-ubuntu smp fri oct 6 22:42:59 utc 2017 x86_64 x86_64 x86_64 gnu/linux
Softwareumgebung
obs (Open Broadcaster Software) v20.0.1 (Linux)
nginx-Version: nginx/ 1.13.6
erstellt von gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)
erstellt mit OpenSSL 1.0.2g 1. März 2016#🎜🎜 #
TLS-SNI-Unterstützung aktiviertArgumente konfigurieren: –with-pcre=pcre-8.38 –add-module=nginx-rtmp-module-1.1.11nginx+obs Installation und Konfiguration Installation obs
wujianjun@wujianjun-work ~ $ sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next wujianjun@wujianjun-work ~ $ sudo apt-get update && sudo apt-get install ffmpeg wujianjun@wujianjun-work ~ $ sudo apt-get install obs-studio wujianjun@wujianjun-work ~ $ sudo add-apt-repository ppa:obsproject/obs-studio wujianjun@wujianjun-work ~ $ sudo apt-get update && sudo apt-get install obs-studionginx install rtmp modulenginx-rtmp-module ( )
wujianjun@wujianjun-work ~ $ sudo apt-get install build-essential wujianjun@wujianjun-work ~ $ wget wget http://nginx.org/download/nginx-1.13.6.tar.gz wujianjun@wujianjun-work ~/nginx-1.13.6 $ wget https://github.com/arut/nginx-rtmp-module/archive/v1.1.11.tar.gz wujianjun@wujianjun-work ~/nginx-1.13.6 $ tar -xvf v1.1.11.tar.gz wujianjun@wujianjun-work ~/nginx-1.13.6 $ wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz wujianjun@wujianjun-work ~/nginx-1.13.6 $ tar -xvf pcre-8.38.tar.gz wujianjun@wujianjun-work ~/nginx-1.13.6 $ ls -all 总用量 748 drwxr-xr-x 9 wujianjun wujianjun 4096 10月 15 11:39 . drwxr-xr-x 63 wujianjun wujianjun 4096 10月 15 11:33 .. drwxr-xr-x 6 wujianjun wujianjun 4096 10月 15 11:33 auto -rw-r--r-- 1 wujianjun wujianjun 282456 10月 10 23:22 changes -rw-r--r-- 1 wujianjun wujianjun 430416 10月 10 23:22 changes.ru drwxr-xr-x 2 wujianjun wujianjun 4096 10月 15 11:33 conf -rwxr-xr-x 1 wujianjun wujianjun 2502 10月 10 23:22 configure drwxr-xr-x 4 wujianjun wujianjun 4096 10月 15 11:33 contrib drwxr-xr-x 2 wujianjun wujianjun 4096 10月 15 11:33 html -rw-r--r-- 1 wujianjun wujianjun 1397 10月 10 23:22 license drwxr-xr-x 2 wujianjun wujianjun 4096 10月 15 11:33 man drwxrwxr-x 6 wujianjun wujianjun 4096 2月 13 2017 nginx-rtmp-module-1.1.11 drwxr-xr-x 7 wujianjun wujianjun 4096 11月 23 2015 pcre-8.38 -rw-r--r-- 1 wujianjun wujianjun 49 10月 10 23:22 readme drwxr-xr-x 9 wujianjun wujianjun 4096 10月 15 11:33 src wujianjun@wujianjun-work ~/nginx-1.13.6 $ ./configure --with-pcre=pcre-8.38 --add-module=nginx-rtmp-module-1.1.11 wujianjun@wujianjun-work ~/nginx-1.13.6 $ make && sudo make install wujianjun@wujianjun-work ~/nginx-1.13.6 $ ls -all /usr/local/nginx/ 总用量 24 drwxr-xr-x 6 root root 4096 10月 15 16:11 . drwxr-xr-x 11 root root 4096 10月 15 16:11 .. drwxr-xr-x 2 root root 4096 10月 15 16:11 conf drwxr-xr-x 2 root root 4096 10月 15 16:11 html drwxr-xr-x 2 root root 4096 10月 15 16:11 logs drwxr-xr-x 2 root root 4096 10月 15 16:11 sbin# 🎜🎜#RTMP-Protokollkonfiguration hinzufügen
wujianjun@wujianjun-work ~/nginx-1.13.6 $ sudo vi /usr/local/nginx/conf/nginx.conf
Fügen Sie die folgende RTMP-Protokollkonfiguration am Ende der nginx.conf-Datei hinzu
rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; } } }Starten und Testen#🎜🎜 ## 🎜🎜#
Starten Sie nginxwujianjun@wujianjun-work ~/nginx-1.13.6 $ sudo /usr/local/nginx/sbin/nginx
Starten Sie obs
Öffnen Sie die obs-Software, die Sie gerade installiert haben, und konfigurieren Sie die Push-Quelle des Bildes an der Quelle (I Wählen Sie hier „Fensteraufnahme“, klicken Sie unten rechts auf „Einstellungen“ und konfigurieren Sie die Streaming-Push-Adresse wie unten gezeigt
Nachdem die Konfiguration abgeschlossen ist Klicken Sie auf „Streaming starten“. # 🎜🎜#Nachdem Sie auf „Play“ geklickt haben, warten Sie ein paar Sekunden und Sie werden sehen, dass der Player das von obs aufgenommene Bild anzeigt.
Da der Videostream über das Netzwerk übertragen werden muss, verzögert sich das Livebild um einige Sekunden.httpAccess Live Video
1 Ändern Sie die Konfiguration in nginx.conf und fügen Sie die hls-Konfiguration hinzu (hls ist der Ordner, der zum Speichern von Streaming-Medien auf dem Streaming-Media-Server verwendet wird). Stellen Sie das Verzeichnis, in dem sich hls befindet, erneut auf das HTTP-Protokollzugriffsverzeichnis ein. Die geänderte Konfiguration lautet wie folgt:
rtmp { server { listen 1935; chunk_size 4096; application live { live on; hls on; hls_path /usr/share/nginx/html/hls; hls_fragment 5s; } } } http { server { listen 80; ..... location / { #root html; root /usr/share/nginx/html; index index.html index.htm; } ..... } }
Hinweis: Der Benutzer von nginx in dem Verzeichnis, in dem sich hls befindet, muss über Schreibberechtigung verfügen .
2. Die Obs-Software konfiguriert den Namen des Aufnahme-Streams. Unter der Konfiguration der Obs-Push-Stream-URL gibt es einen Ort, an dem Sie den „Stream-Namen“ festlegen können Geben Sie hier einen Namen ein (in diesem Beispiel gebe ich „test“ ein) 3 Starten Sie die Nginx- und Obs-Software neu. Wir können http://ip/hls/test.m3u8 in den mobilen Browser eingeben Spielen Sie das Live-Video auf dem Mobiltelefon ab. (Die Verzögerung der Live-Übertragung ist etwas groß und der Artikel wird später optimiert)Das obige ist der detaillierte Inhalt vonWie Nginx das Modul Nginx-RTMP-Module verwendet, um die Live-Übertragungsraumfunktion zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!