Donc, vous voulez diffuser vos jeux ou peut-être une webcam mais vous n'aimez pas les services comme youtube ou twitch. Ou peut-être avez-vous des problèmes de confidentialité ou souhaitez-vous simplement plus de contrôle sur votre contenu. Dans cet article, je vais vous montrer comment créer un serveur de streaming sous FreeBSD, avec Nginx, en utilisant le protocole RTMP.
Première étape :Installer Nginx
Heureusement, le port Nginx comprend un module qui implémente le protocole RTMP pour diffuser de l'audio et de la vidéo sur Internet. Pour installer le serveur Nginx, exécutez :
[gonz@gonz ~]$ su -
Password:
[root@gonz ~]# cd /usr/ports/www/nginx
[root@gonz /usr/ports/www/nginx]# make config install clean
Dans l'écran de configuration du port, faites défiler vers le bas et sélectionnez l'option RTMP :
Quelques minutes plus tard, la compilation et l'installation seront terminées :
Étape 2 :configurer Nginx
2.a :Répertoire Webroot
Nous avons besoin d'un répertoire webroot à partir duquel Nginx diffusera notre contenu, je ne me sens pas très créatif, alors j'appelle le mien simplement "en direct":
[root@gonz ~]# mkdir /usr/local/www/live
[root@gonz ~]# chown www:www /usr/local/www/live/
2.b :Fichiers de configuration
Modifiez le fichier /usr/local/etc/nginx/nginx.conf et ajoutez les lignes suivantes en haut :
load_module /usr/local/libexec/nginx/ngx_stream_module.so; load_module /usr/local/libexec/nginx/ngx_rtmp_module.so;
Avec ces lignes, nginx chargera les modules nécessaires au streaming.
Si vous utilisez l'éditeur ee, appuyez sur ctrl-y pour rechercher "location /" et remplacez le chemin Webroot par celui créé précédemment :
location / {
root /usr/local/www/live;
}
Au bas du fichier ajoutez les paramètres RTMP :
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
2.c :Activer et démarrer nginx
Enregistrez les modifications dans le fichier nginx.conf et exécutez ce qui suit :
[root@gonz ~]# /usr/local/etc/rc.d/nginx enable
nginx enabled in /etc/rc.conf
[root@gonz ~]# /usr/local/etc/rc.d/nginx start
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Starting nginx.
Étape 3 :configuration du logiciel de diffusion en continu
Avec Nginx prêt à accepter les flux vidéo, nous devons configurer le logiciel de diffusion. Lorsque j'apprenais à créer un serveur de streaming, j'ai lu de nombreux tutoriels (fortement axés sur Linux, en particulier Ubuntu) et pour cette étape, tous recommandent OBS (Open Broadcaster Software) Studio.
Accédez au site Web pour télécharger et trouver les instructions adaptées à votre système d'exploitation de bureau. J'ai Gentoo Linux sur cet ordinateur portable et mes instructions non officielles pour l'installer sont aussi simples que :
# emerge media-video/obs-studio
Lorsque vous lancez OBS, un premier assistant s'affiche :
L'assistant essaiera de vous aider à déterminer les meilleurs paramètres en fonction de votre ordinateur. L'écran suivant concerne la résolution et le suivant est important :
Choisissez un service personnalisé et remplissez le serveur avec RTMP://IP.or.FQDN of your nginx/live
. La clé de flux est facultative.
Testez votre flux
Allez en bas à gauche de la fenêtre OBS et ajoutez une source en cliquant dans le signe + :
J'ai choisi de capturer une fenêtre xterm. Maintenant que tout est configuré, nous pouvons commencer à envoyer notre flux au serveur. Dans les contrôles en bas à droite, cliquez sur Démarrer le streaming, vous devriez voir un bloc vert dans la barre d'état si tout est correct :
Dernière étape :afficher votre flux
Le but de ce tutoriel était de vous permettre de diffuser quelque part. Quelque part dans cet exemple sera le même PC qui diffuse, dans mon cas j'accède avec VLC. L'URL que je dois ouvrir est RTMP://IP.or.FQDN.of.your nginx/live
/SuperSecretKey
et c'est ça :
Ce PC est un peu lent, donc dans mon xterm, je viens de lancer le jeu ascii-art alienwave pour avoir quelque chose à montrer.
Et c'est ainsi que j'ai créé un serveur de streaming dans FreeBSD juste pour le plaisir d'apprendre quelque chose de nouveau.