Comment utiliser Thinkphp pour créer une diffusion Web en direct

一个新手
Libérer: 2023-03-16 06:40:01
original
8500 Les gens l'ont consulté

Ce projet utilise la solution architecturale de TP+Redis+Nginx+nginx-rtmp-module+ffmpeg+HLS +Swoole

Introduction aux avantages

Contexte de l'installation de nginx-rtmp

Il existe deux principaux types de serveurs rtmp, commerciaux et open source. Les commerciaux prennent en charge plus de fonctions que les open source. Vous pouvez choisir en fonction de vos besoins

Les commerciaux incluent FMS Wowza

Serveur RTMP open source

  1. red5 java java Après l'avoir beaucoup utilisé, les performances sont plutôt bonnes !

  2. crtmpserver c++ prend en charge plusieurs protocoles rtmp, appareils mobiles et protocoles réseau liés à l'IPTV http://www.rtmpd.com/ Erlyvideo erlong a des versions open source et commerciales https//github.com /erlyvideo/erlyvideo h

  3. aXeVideo haXe Un serveur expérimental et léger http://code.google.com/p/haxevideo/

  4. FluorineFx .Net A définir http://www/fluorinefx.com

  5. nginx-rtmp c le module nginx prend en charge rtmp et HLS https://github.com/ arut/nginx-rtmp -module

J'utilise le cinquième Nginx-rtmp Ensuite, j'expliquerai le processus d'installation.

Installer Nginx-rtmp

1. Téléchargez nginx-rtmp-module : L'adresse github officielle de nginx-rtmp-module : https://github.com/arut/nginx-rtmp- module

Utilisez la commande :

 git clone https://github.com/arut/nginx-rtmp-module.git
Copier après la connexion

Téléchargez nginx-rtmp-module sur Linux.

2. Installez nginx : Le site officiel de nginx est : 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
Copier après la connexion

Le répertoire d'installation par défaut est : /root, ajoutez -module est le chemin du fichier nginx-rtmp-module téléchargé. Lors de l'installation, une erreur peut être signalée indiquant que openssl n'est pas installé. Vous devez exécuter la commande :

yum -y install openssl openssl-devel
Copier après la connexion

3. Modifiez le fichier de configuration nginx :

vi /usr/local/nginx/conf/nginx.conf
Copier après la connexion

. Ajoutez le contenu suivant :

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

hls_path nécessite des autorisations de lecture et d'écriture. Modifier le module serveur en 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;  
}
Copier après la connexion

Bien entendu, root peut le modifier selon vos propres besoins. Ensuite, démarrez nginx :

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
Copier après la connexion

4. Démarrez le streaming Après avoir terminé la configuration ci-dessus, vous pouvez démarrer le streaming. Nous pouvons utiliser obs pour pousser le flux.

Remplissez les informations dans Paramètres-> Streaming : l'URL est rtmp://xxx:1935/hls, xxx est l'adresse IP de votre serveur, et hls est de stocker des médias en streaming. Vous pouvez remplir n'importe quelle clé secrète pour identifier le média de streaming à lire lors de la lecture, comme remplir un test, etc. Après avoir rempli, cliquez pour démarrer la diffusion, ce qui signifie que notre serveur multimédia de diffusion en continu a été configuré avec succès.

5. Regarder une diffusion en direct (pull stream) Regarder une diffusion en direct est relativement simple. Vous pouvez simplement utiliser la balise vidéo de h5 pour regarder. Vous pouvez visiter http://xxx:81/hls/mystream.m3u8 pour regarder la diffusion en direct, où xxx est l'adresse IP de votre serveur, ou utiliser

Votre navigateur ne prend pas en charge la vidéo HTML5.

Comme ci-dessus, ce que xxx écrit est l'adresse IP de votre serveur. Utilisez ensuite votre téléphone mobile pour accéder à ce site Web et regarder la diffusion en direct. Le délai est d'environ 20S. (Il peut être visualisé normalement dans le navigateur Safari d'iOS) Écrit à la fin Pourquoi le retard est-il si élevé ? En effet, le serveur découpe le flux vidéo en petits fichiers se terminant par .ts.

Ce à quoi nous accédons est le fichier .m3u8. Le contenu de ce fichier est une série de fichiers ts connectés entre eux. Cela permet d'obtenir un effet de lecture, il ressemble donc à là. est un délai important

S'il n'y a aucun moyen de réduire le délai, vous pouvez définir la taille de génération de tranche et la vitesse d'accès, mais cela augmente considérablement la pression sur le serveur. Bien sûr, nous pouvons également utiliser des outils de streaming rtmp (VLC, etc.) pour regarder la diffusion en direct. Le délai est d'environ 2 à 5 secondes et l'adresse pull est la même que l'adresse push.

Installation en un clic en arrière-plan. Accédez simplement à l'entrée directement administrateur initial

Utilisant Bootstrap3 pour personnaliser précisément lyui, en plus d'avoir une expérience bootstrap à 100%, il intègre également plus. composants frontaux adaptés aux Chinois. Et un ensemble de codes s’adapte à plusieurs tailles d’écran.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal