Votre diffusion en direct plante-t-elle à chaque fois ? Si c’est le cas, vous devrez trouver un moyen fiable d’héberger votre diffusion. Mais si vous ne pouvez pas vous permettre des options coûteuses, ne vous inquiétez pas ! NGINX RTMP viendra à votre secours. NGINX RTMP est un module open-source fiable, donc vous savez ce que cela signifie — c’est GRATUIT !
Dans ce tutoriel, vous apprendrez comment configurer un serveur NGINX RTMP afin de pouvoir mettre en place une diffusion en direct fiable avec votre site web.
Prêt ? Lisez la suite et commencez à configurer une diffusion en direct !
Prérequis
Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous d’avoir ce qui suit :
- A Linux server – This demo uses Ubuntu 20.04 LTS, but you can use any other Linux distribution with NGINX.
- NGINX installé sur le serveur Linux.
- A non-root user with sudo privileges.
- Ressources minimales requises pour exécuter un serveur de diffusion en direct – 2 Go de RAM, 2 cœurs CPU et 20 Go de HDD.
Ces valeurs ne sont que des suggestions. Les valeurs exactes dépendent de vos besoins de trafic réels. Plus vous avez de trafic, plus vous aurez besoin de serveurs puissants pour héberger et diffuser votre vidéo en direct. Dans un environnement de développement, un serveur NGINX RTMP avec 2 CPU et 2 Go de RAM est suffisant pour tester.
Configuration d’un Serveur RTMP
Maintenant que les prérequis sont terminés, vous pouvez passer à l’installation et à la configuration de votre serveur RTMP. Vous commencerez par installer un module NGINX pour convertir votre serveur NGINX en serveur RTMP, puis vous configurerez le fichier de configuration NGINX pour activer les diffusions en direct pour les utilisateurs.
1. Ouvrez votre terminal et exécutez la commande apt update
pour mettre à jour tous vos paquets. Cette commande synchronise votre base de données de paquets avec la dernière base de données d’Ubuntu.

2. Ensuite, exécutez la commande suivante pour installer un serveur RTMP sur votre serveur Linux.
Le module libnginx-mod-rtmp
est un module NGINX qui convertit votre serveur NGINX en serveur RTMP. Ce module permet à NGINX de communiquer avec Adobe Flash Player pour diffuser vos vidéos ou audios en direct et est officiellement pris en charge par son équipe de développement.

3. Ouvrez le fichier /etc/nginx/nginx.conf dans votre éditeur préféré pour configurer votre programme en direct RTMP. Le fichier nginx.conf est un fichier de configuration NGINX qui contient plusieurs directives ou blocs pour définir le comportement du service NGINX.
4. Enfin, remplissez le fichier nginx.conf avec le code suivant, enregistrez les modifications et quittez l’éditeur.
Le code ci-dessous indique à NGINX d’agir en tant que serveur RTMP et active les diffusions en direct pour vos utilisateurs.
Sécurisation du réseau en configurant un pare-feu
Vous avez déjà configuré votre serveur NGINX RTMP, mais vous devrez sécuriser votre réseau et contrôler le flux de trafic. Comment ? En configurant un pare-feu, Uncomplicated Firewall (UFW), qui est le pare-feu par défaut dans Ubuntu.
Si vous placez votre serveur NGINX RTMP derrière un pare-feu, vous devrez autoriser l’ouverture du port du serveur NGINX RTMP. Étant donné que vous avez configuré votre serveur NGINX RTMP pour écouter sur le port 1935
, vous autoriserez ce port à travers votre pare-feu.
1. Exécutez la commande suivante pour ajouter une règle de pare-feu qui ouvre le port 1935
sur votre pare-feu. Cette règle de pare-feu permet à votre port de serveur NGINX RTMP 1935
d’être accessible pour toutes les requêtes entrantes et sortantes.

2. Ensuite, exécutez la commande suivante pour désactiver et réactiver votre pare-feu. Cette commande redémarre essentiellement le pare-feu pour que les modifications sur le pare-feu prennent effet.
3. Enfin, exécutez la commande ci-dessous pour vérifier le statut de votre pare-feu et vérifiez si le port 1935
est accessible depuis toutes les adresses IP (Partout).

Diffusion vidéo en utilisant FFmpeg
Votre serveur NFINX RTMP est maintenant opérationnel, il est donc temps d’utiliser FFmpeg pour créer une vidéo d’exemple et la diffuser via votre serveur NGINX RTMP. FFmpeg est une solution complète pour enregistrer, convertir et diffuser de l’audio et de la vidéo dans de nombreuses applications différentes comme VLC, OMXPlayer, VobSub, etc.
Vous testerez la diffusion vidéo sur votre serveur, et vous pouvez utiliser n’importe quelle vidéo de petite taille pour la diffusion.
1. Exécutez la commande apt install
ci-dessous pour installer les dépendances requises pour que FFmpeg fonctionne correctement.
La commande ci-dessous installe ce qui suit :
libpcre3
– Une bibliothèque regex utilisée par la trousse à outils ffmpeg pour aider à analyser et compiler des expressions régulières.libpcre3-dev
– Ce paquet contient les en-têtes de développement du paquet libpcre3.libssl-dev
– La bibliothèque cryptographique OpenSSL utilisée pour créer des connexions SSL/TLS dans votre serveur RTMP.zlib1g-dev
: La bibliothèque zlib est une bibliothèque de compression et de décompression qui accélère le transfert de fichiers audio et vidéo sur Internet.

2. Ensuite, exécutez la commande suivante pour installer ffmpeg
sur votre serveur.

3. Enfin, exécutez la commande ffmpeg
pour effectuer les actions suivantes et créer un nouveau flux en direct :
- Lire l’entrée (
re
) du fichier source (i
) au framerate original. Assurez-vous de remplacervideo.mp4
par le chemin et le nom de fichier de votre vidéo. - Copier le format vidéo à l’identique (
c:v copy
), et encoder l’audio avec le codec AAC (c:a aac
). - Définir le taux d’échantillonnage audio à 44100 Hz (
ar 44100
). Si le taux d’échantillonnage de votre vidéo est inférieur à cette valeur (44100 Hz), FFmpeg effectue une interpolation pour augmenter le taux d’échantillonnage. - Réglez les canaux audio sur un seul canal (mono) (
ac 1
), et le format vidéo que FFmpeg diffusera (-f flv
). - Définissez votre programme live RTMP (
rtmp://localhost/live/streamname.flv
) que vous avez configuré dans la section « Configuration d’un serveur RTMP » (étape quatre). Vous pouvez changerstreamname.flv
par n’importe quel nom que vous préférez.
Comme vous pouvez le voir ci-dessous, la commande ffmpeg
affiche le nombre d’images par seconde qu’il détecte, le débit binaire, et le fps du flux live RTMP nouvellement créé.

Conclusion
Dans ce tutoriel, vous avez appris à configurer votre serveur RTMP NGINX et à activer les flux live sur votre serveur en modifiant le fichier de configuration NGINX. Vous avez également abordé la mise en place d’un flux live vidéo en utilisant l’outil FFmpeg via votre serveur RTMP NGINX.
Vous venez de réaliser que mettre en place un flux live ne doit pas vous coûter un centime. À ce stade, pourquoi ne pas intégrer votre flux dans votre page web en utilisant l’élément HTML5 <video>? Ou configurer un studio OBS pour votre flux RTMP?