Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wie Nginx das Modul Nginx-RTMP-Module verwendet, um die Live-Übertragungsraumfunktion zu implementieren

Wie Nginx das Modul Nginx-RTMP-Module verwendet, um die Live-Übertragungsraumfunktion zu implementieren

WBOY
WBOYnach vorne
2023-05-19 08:13:051577Durchsuche

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 aktiviert

Argumente konfigurieren: –with-pcre=pcre-8.38 –add-module=nginx-rtmp-module-1.1.11

nginx+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-studio

nginx install rtmp module

nginx-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 nginx

wujianjun@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“.

Wie Nginx das Modul Nginx-RTMP-Module verwendet, um die Live-Übertragungsraumfunktion zu implementieren

# 🎜🎜#

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.

Wie Nginx das Modul Nginx-RTMP-Module verwendet, um die Live-Übertragungsraumfunktion zu implementierenhttpAccess 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 . Wie Nginx das Modul Nginx-RTMP-Module verwendet, um die Live-Übertragungsraumfunktion zu implementieren

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen