La Cave a Tonton - Créer un serveur multistream RTMP pour streamer sur twitch, youtube etc... theta.t" />

Créer un serveur multistream RTMP pour streamer sur twitch, youtube etc...

Par tontonayo le 03.12.20


Depuis peut, je stream sur plusieurs plateforme (twitch et theta.tv ) et il me fallait une solution pour envoyer mon flux vidéo rtmp sur les 2 plateformes en même temps. Il existe déjà des services qui propose ce systeme (restream.io par exemple), le souci c'est que c'est payant du moment que tu ajoute un serveur rtmp à la main (c'est le cas de theta.tv). Comme je suis un gros radin et que j'ai pas envi de payer, je me suis penché sur la question.

Il existe un module pour Nginx qui gere les flux rtmp, on va donc passer par la. Le principe de fonctionnement est que je vais envoyer mon flux vidéo sur le serveur qui ensuite va l'envoyer sur les 2 plateformes (ou plus ...) simultanément. La procédure ci-dessous a été effectué sur une VM sous Debian 10.

1. On installe les dépendances

Aller on attaque par apt comme d'hab.

# apt-get -y update
# apt-get install build-essential libpcre3 libpcre3-dev libssl-dev zlibc zlib1g zlib1g-dev git

Ensuite, on télécharge Nginx (versions stable dans l'exemple)

# wget http://nginx.org/download/nginx-1.18.0.tar.gz

On le décompresse

# tar xvfz nginx-1.18.0.tar.gz

On rentre dans le répertoire

# cd nginx-1.18.0

Et on télécharge le module RTMP pour Nginx

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

2. On compile

On configure la compilation, compile et on installe

# ./configure --with-http_ssl_module --add-module=nginx-rtmp-module/
# make
# make install

On lance Nginx pour test

# /usr/local/nginx/sbin/nginx

3. Serveur Multistream

On va dans le fichier de configuration de Nginx "/usr/local/nginx/conf/nginx.conf:" et on édite :

rtmp {
server{
listen 1935;
chunk_size 4096;

#Enable live broadcast service
application live {
live on;
record off;

#Push, restream RTMP
push rtmp://live.twitch.tv/app/YOUR_TWITCH_KEY;
push rtmp://a.rtmp.youtube.com/live2/YOUR_YOUTUBE_KEY;
}
}
}

Et on relance le serveur.

4. Open Broadcaster

Pour se connecter au serveur de stream, il suffit de renseigner l'url de votre serveur comme ceci : "rtmp://SERVER_IP/live/" et avec "stream_key" comme clé de stream.

Inspiré (carrément pompé...) sur : https://arstech.net/how-to-setup-nginx-rtmp-server/