Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie Thinkphp zum Erstellen von Web-Live-Übertragungen

So verwenden Sie Thinkphp zum Erstellen von Web-Live-Übertragungen

一个新手
一个新手Original
2017-09-14 09:25:088499Durchsuche

Dieses Projekt nutzt die Architekturlösung von TP+Redis+Nginx+nginx-rtmp-module+ffmpeg+HLS +Swoole

Einführung in die Vorteile

Hintergrunderklärung zur Nginx-RTMP-Installation

Es gibt zwei Haupttypen von RTMP-Servern: kommerzielle und Open Source. Kommerzielle unterstützen mehr Funktionen als Open-Source-Server. Sie können je nach Bedarf auswählen

Kommerzielle Server umfassen FMS Wowza

Open-Source-RTMP-Server

  1. red5 java java Nach häufigem Gebrauch ist die Leistung ziemlich gut!

  2. crtmpserver c++ unterstützt mehrere RTMP-Protokolle, mobile Geräte und IPTV-bezogene Netzwerkprotokolle http://www.rtmpd.com/ Erlyvideo erlong verfügt über Open-Source- und kommerzielle Versionen https//github.com /erlyvideo/erlyvideo h

  3. aXeVideo haXe Ein experimenteller, leichter Server http://code.google.com/p/haxevideo/

  4. FluorineFx .Net Zu definieren http://www/fluorinefx.com

  5. nginx-rtmp c Das Nginx-Modul unterstützt RTMP und HLS https://github.com/arut/nginx-rtmp -module

Ich verwende das fünfte Nginx-rtmp. Als nächstes erkläre ich den Installationsprozess.

Nginx-rtmp installieren

1. Nginx-rtmp-module herunterladen: Die offizielle Github-Adresse von nginx-rtmp-module: https://github.com/arut/nginx-rtmp- Modul

Verwenden Sie den Befehl:

 git clone https://github.com/arut/nginx-rtmp-module.git

Laden Sie das Nginx-RTMP-Modul unter Linux herunter.

2. Nginx installieren: Die offizielle Website von Nginx ist: http://nginx.org/en/download.html

wget http://nginx.org/download/nginx-1.8.1.tar.gz
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module
make && make install

Das Standardinstallationsverzeichnis ist: /root, add -module ist der heruntergeladene Dateipfad des Nginx-RTMP-Moduls. Während der Installation wird möglicherweise ein Fehler gemeldet, dass openssl nicht installiert ist. Sie müssen den Befehl ausführen:

yum -y install openssl openssl-devel

3. Ändern Sie die Nginx-Konfigurationsdatei:

vi /usr/local/nginx/conf/nginx.conf

Fügen Sie den folgenden Inhalt hinzu:

rtmp {
server {    
    listen 1935;  #监听的端口  
    chunk_size 4000;    
      
       
    application hls {  #rtmp推流请求路径  
        live on;    
        hls on;    
        hls_path /usr/share/nginx/html/hls;    
        hls_fragment 5s;    
    }    
}    
}

hls_path erfordert Lese- und Schreibberechtigungen. Ändern Sie das Servermodul in http:

server {listen 81;server_name localhost;
#charset koi8-r;  
#access_log  logs/host.access.log  main;  
location / {  
    root   /usr/share/nginx/html;  
    index  index.html index.htm;  
}  
#error_page  404              /404.html;  
# redirect server error pages to the static page /50x.html  
#  
error_page   500 502 503 504  /50x.html;  
location = /50x.html {  
    root   html;  
}

Natürlich kann Root es entsprechend Ihren eigenen Anforderungen ändern. Dann starten Sie nginx:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

4. Starten Sie das Streaming. Nachdem Sie die obige Konfiguration abgeschlossen haben, können Sie mit dem Streamen beginnen.

Geben Sie die Informationen unter Einstellungen-> Streaming ein: Die URL lautet rtmp://xxx:1935/hls, xxx ist die IP-Adresse Ihres Servers und hls dient zum Speichern von Streaming-Medien. Sie können einen beliebigen geheimen Schlüssel eingeben, um zu identifizieren, welche Streaming-Medien beim Abspielen abgespielt werden sollen, z. B. beim Ausfüllen von Tests usw. Klicken Sie nach dem Ausfüllen auf „Streaming starten“, was bedeutet, dass unser Streaming-Medienserver erfolgreich eingerichtet wurde.

5. Live-Übertragung ansehen (Pull-Stream) Das Ansehen einer Live-Übertragung ist relativ einfach. Sie können zum Ansehen einfach den Vedio-Tag verwenden. Sie können http://xxx:81/hls/mystream.m3u8 besuchen, um die Live-Übertragung anzusehen, wobei xxx die IP-Adresse Ihres Servers ist, oder

Ihr Browser unterstützt kein HTML5-Video.

Wie oben, was xxx schreibt, ist die IP-Adresse Ihres Servers. Rufen Sie dann mit Ihrem Mobiltelefon diese Website auf, um die Live-Übertragung anzusehen. Die Verzögerung beträgt ca. 20S. (Es kann normal im Safari-Browser von iOS angezeigt werden) Geschrieben am Ende Warum ist die Verzögerung so hoch? Dies liegt daran, dass der Server den Videostream in kleine Dateien mit der Endung .ts zerlegt.

Der Inhalt dieser Datei ist eine Reihe miteinander verbundener ts-Dateien. Dadurch wird ein Wiedergabeeffekt erzielt, sodass es wie dort aussieht ist eine große Verzögerung

Wenn es keine Möglichkeit gibt, die Verzögerung zu reduzieren, können Sie die Größe der Slice-Generierung und die Zugriffsgeschwindigkeit festlegen, aber das erhöht den Druck erheblich Der Server. Natürlich können wir auch RTMP-Streaming-Tools (VLC usw.) verwenden, um die Live-Übertragung anzusehen. Die Verzögerung beträgt etwa 2-5 Sekunden und die Pull-Adresse ist dieselbe wie die Push-Adresse.

Ein-Klick-Installation im Hintergrund. Greifen Sie einfach direkt auf den ersten Admin-Administrator zu.

Mit Bootstrap3 können Sie Lyui nicht nur 100 %ig anpassen, sondern auch noch mehr Frontend-Komponenten, die für Chinesen geeignet sind. Und ein Codesatz passt sich an mehrere Bildschirmgrößen an.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Thinkphp zum Erstellen von Web-Live-Übertragungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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