Catégories
Tutos

Ajouter la prise en charge du RTMPS à un serveur NGINX RTMP

Depuis l’abandon par Facebook Live du RTMP pour son homologue sécurisé RTMPS, le module RTMP de NGINX ne fonctionne plus pour renvoyer son flux vidéo sur Facebook. Et Twitter va peut-être suivre la même voie….

Il existe un moyen très simple de créer un proxy sécurisé sur son serveur Debian ou Windows afin d’encapsuler les données dans le protocole sécurisé, puis de le renvoyer vers les serveurs Facebook ou Twitter. Et voici comment faire.

L’idée est d’installer stunnel (https://www.stunnel.org/downloads.html sur Windows):

Bash
apt-get install stunnel4 -y

Sur linux, il va falloir l’activer en modifiant le fichier « /etc/default/stunnel4 » :

Bash
nano /etc/default/stunnel4

Ajoutez ou modifier la ligne :

Bash
ENABLE=1

Ensuite, créez / modifiez le fichier stunnel.conf (sur Windows il se trouve dans le dossier C:\Program Files (x86)\stunnel\config)

Bash
nano /etc/stunnel/stunnel.conf

Ajoutez y cela :

Bash
pid = /var/run/stunnel4/stunnel.pid
output = /var/log/stunnel4/stunnel.log

setuid = stunnel4
setgid = stunnel4

socket = r:TCP_NODELAY=1
socket = l:TCP_NODELAY=1

debug = 4

[fb-live]
client = yes
accept = 1936
connect = live-api-s.facebook.com:443
verifyChain = no

[twitter]
client = yes
accept = 1937
connect = fr.pscp.tv:443
verifyChain = no

Pour Windows, il suffit juste de rajouter cela :

Bash
[fb-live]
client = yes
accept = 1936
connect = live-api-s.facebook.com:443
verifyChain = no

[twitter]
client = yes
accept = 1937
connect = fr.pscp.tv:443
verifyChain = no

Enregistrez puis faites en sorte de démarrer stunnel au démarrage puis redémarrez le service :

Bash
systemctl enable stunnel4.service
systemctl restart stunnel4.service

Pour Windows, dans le dossier « stunnel » du menu Démarrage, cliquez sur « Service Install ». Le service Windows se chargera alors au démarrage.

Voilà ! Il n’y a plus qu’à changer votre fichier de configuration de NGINX ! Voici quelques exemples d’applications :

Bash
application live_facebook {
live on;
record off;
push rtmp://127.0.0.1:1936/rtmp/VOTRE_KEY_FACEBOOK;
}
Bash
application live_twitter {
live on;
record off;
push rtmp://127.0.0.1:1937/x/VOTRE_KEY_TWITTER;
}