Comment configurer nginx rtmp

Comment configurer nginx rtmp
Au cours de la dernière décennie, le streaming en direct est devenu de plus en plus populaire à mesure que les utilisateurs communiquent avec la famille et les amis, regardent du contenu en ligne et effectuent des opérations commerciales. Bien qu'il existe des services et des plateformes populaires pour effectuer des flux en direct, il peut être difficile et coûteux à mettre en place une session privée.

Ce tutoriel cherche à résoudre ce problème en vous montrant comment configurer un serveur de streaming en direct personnel qui tire parti de Nginx, un serveur Web puissant et léger et un proxy inversé et le protocole RTMP.

Avant de continuer, assurez-vous:

  • Vous exécutez Ubuntu ou Debian Server
  • Avoir accès à votre serveur via SSH
  • Privilèges de l'utilisateur racine ou sudo

Laissez-nous commencer.

Qu'est-ce que Nginx

Comme mentionné ci-dessus, Nginx est un serveur Web open source rapide et léger et un proxy inversé utilisé pour servir des sites Web statiques simples ou des applications massives. Nginx est un serveur Web haute performance avec une vitesse et une sécurité incroyables. Grâce à sa nature légère, c'est un choix très efficace pour les services de streaming et le trafic avec un trafic massif.

Vous pouvez en savoir plus sur Nginx à partir de la ressource fournie ci-dessous:

https: // nginx.org / en / docs /

Qu'est-ce que Nginx RTMP

Nginx RTMP est un module open-source et puissant pour le serveur Web Nginx. Il permet le protocole RTMP, le streaming en direct HTTP (HLS) et le streaming adaptatif dynamique sur HTTP (DASH).

Vous pouvez en savoir plus sur HLS et Dash à partir de la page des ressources:

https: // www.cloudflare.com / apprentissage / vidéo / what-is-mpeg-dash /

Maintenant que vous savez ce que sont Nginx et Nginx RTMP, configurons le serveur:

Configurer sur serveur

La première étape consiste à accéder au serveur. Assurez-vous que SSH à votre serveur est activé et que vous avez les touches ajoutées pour une connexion plus facile.

ssh debian @ 34.73.160.42
debian @ streaming: ~ $

Une fois que nous avons accès au serveur, nous pouvons commencer à installer les packages et les bibliothèques requis. Tout d'abord, assurez-vous que votre serveur est à jour:

Mise à jour Sudo apt-get
Sudo apt-get upgrade -y

Installation du logiciel requis

Pour configurer le serveur de streaming, nous devrons construire nginx à partir de la source et activer le module RTMP. Pour cela, nous utiliserons les immeubles de construction et autres packages. Utilisez la commande APT ci-dessous pour installer toutes les dépendances.

sudo apt-get install -y build-essential libpcre3 libpcre3-dev libssl-dev git zlib1g-dev

L'étape suivante consiste à compiler et à installer Nginx avec le module RTMP activé. Pour rester organisé, créez un répertoire pour le processus.

mkdir ~ / faire
CD ~ / Make /

Ensuite, clone le module Nginx-RTMP:

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

Maintenant, nous devons télécharger nginx.

Rendez-vous sur http: // nginx.org / en / téléchargement.HTML et sélectionnez votre option de téléchargement.

wget http: // nginx.org / download / nginx-1.19.8.le goudron.gz
TAR XZF Nginx-1.19.8.le goudron.gz
cd nginx-1.19.8

La dernière étape de cette section consiste à compiler Nginx avec le module RMTP activé. Utilisez les commandes ci-dessous:

Sudo ./ Configurer --with-http_ssl_module --add-module =… / nginx-rtmp-module
sudo faire
sudo faire l'installation

Configuration du streaming en direct

Pour activer la prise en charge RTMP, nous devons modifier le fichier de configuration Nginx et spécifier le bloc RTMP.

sudo nano / usr / local / nginx / conf / nginx.confli

Entrez le bloc de support RTMP comme:

rtmp
serveur
Écoutez 1935;
ping 30s;
Application Live
vivre de;
entrelacer sur;
hls sur;
HLS_PATH / TMP / HLS;
HLS_SYNC 100ms;
hls_fragment 15s;



http
Default_type Application / Octet-Stream;
serveur
Écoutez 80;
Emplacement / TV
root / tmp / hls;


les types
Application / VND.pomme.Mpegurl M3U8;
Vidéo / MP2T TS;
Texte / HTML HTML;

Dans la configuration ci-dessus, nous activons le module RTMP et HLS. Considérez la documentation pour apprendre à activer Dash.

Une fois que vous avez la configuration, enregistrez le fichier et démarrez le service Nginx.

sudo / usr / local / nginx / sbin / nginx

Commencer à diffuser

Une fois que vous avez tout configuré correctement, vous pouvez commencer à diffuser en utilisant ffmpeg-c'est le plus facile. Vous pouvez également configurer d'autres outils comme OBS Studio, mais je ne couvrirai pas cela dans ce tutoriel.

Utilisez la commande ffmpeg comme:

sudo ffmpeg -re -i échantillon-MP4-file.MP4 -C Copy -f hls rtmp: // localhost / live / stream

Jouez au flux à l'aide de FFPlay ou VLC Media Player sur la ressource.

ffplay rtmp: // ip / live / stream

Une fois le flux en cours d'exécution, vous pouvez exposer le service à un réseau extérieur.

NOTE: Assurez-vous que vous avez sécurisé votre serveur avant d'autoriser l'accès au public.

Conclusion

Ce tutoriel a couvert comment configurer un serveur de streaming à l'aide de Nginx et du module NGINX RTMP. Gardez à l'esprit qu'il existe de nombreux engrenages impliqués dans la configuration d'un service de streaming, et vous pouvez le personnaliser en fonction de vos besoins.

Considérez les ressources suivantes pour explorer plus.

  • https: // ffmpeg.org / ffmpeg.html
  • https: // ffmpeg.org / ffplay.html
  • https: // ffmpeg.org / ffmpeg-formats.html
  • https: // Obsproject.com / docs /
  • https: // wiki.videolan.org / documentation: streaming_howto