Table des matières

OBS-Studio

Introduction

Le streaming ou live ou diffusion en direct ou broadcasting est très populaire ces derniers temps sur la toile, pour transmettre un événement en direct comme un spectacle, un rassemblement ou un phénomène naturel, des parties de jeux vidéos, des projets artistiques ou beaucoup d'autres choses, la seule limite : la bande passante montante de votre connexion internet :-\

Nous parlerons ici des diffusion utilisant le protocole RTMP, créé à la base par Adobe et utilisé par Youtube, Twitch, Hitbox parmi plein d'autres, d'autres protocoles existent comme le Motion-Jpeg (MJpeg) mais ils ne seront pas l'objet de cette page de documentation.

Des outils très complets et faciles d'utilisation, qu'ils soient payants ou gratuits, libres ou non existent pour Windows et Mac.
Pour Linux, le choix était jusqu'alors limité à des commandes (avconv et ffmpeg) avec beaucoup d'arguments derrière et assez limitées en terme de facilité d'utilisation et de rapport travail/résultat.

Un logiciel très facile à utiliser, libre et open-source existe depuis 2012: OBS (Open Broadcaster Software), malheureusement il est codé pour Windows donc niet pour nous. :-|
Cependant un projet nommé OBS-Studio a démarré (par la même équipe), ayant pour objectif d'être multiplate-forme, encore plus complet, et à terme de remplacer l'OBS original.

Des instructions (en anglais) sont disponibles sur le github mais elles seront ci-après reprises et expliquées dans un Français compréhensible pour un utilisateur averti (enfin pas forcément besoin mais ça aide ^_^ ).
Un bémol cependant: la majorité de la communauté utilisant OBS, et vu qu'OBS-Studio est encore à une version peu avancée, une grande partie des plugins et fonctionnalités disponibles pour le premier ne le sont pas pour le dernier.

Prérequis

Tout d'abord, il faut vérifier votre version d'opengl avec la commande glxinfo:

apt install mesa-utils
glxinfo | grep "OpenGL"

si au niveau de core profile version, c'est supérieur à 3.2, c'est bon, exemple :

OpenGL core profile version string: 4.10

Installation

Le paquet obs-studio est disponible dans les dépôts depuis Debian Stretch:

apt install obs-studio

Compiler Obs-studio pour Debian Jessie

La documentation ci-dessous vous propose de compiler OBS. Vous pouvez aussi utiliser une AppImage, très facile à installer (télécharger, clic droit, onglet permission, autoriser l’exécution de ce programme, double clic et c'est lancé) et ne présente pas de conflits de librairies https://obsproject.com/forum/threads/appimage-for-most-linux-distributions.62418/
    1. Installez/vérifiez que sont installés les paquets qui vont être nécessaires pour installer et faire tourner (dépendances) OBS-Studio :
      apt-get install build-essential pkg-config cmake git checkinstall libx11-dev libgl1-mesa-dev libpulse-dev libxcomposite-dev libxinerama-dev libv4l-dev libudev-dev libfreetype6-dev libfontconfig-dev qtbase5-dev libqt5x11extras5-dev libx264-dev libxcb-xinerama0-dev libxcb-shm0-dev libjack-jackd2-dev libcurl4-openssl-dev libavcodec-dev libavfilter-dev libavdevice-dev ffmpeg
    2. Si vous n'êtes pas un militant du logiciel libre (honte sur vous et votre famille sur 16 générations) et voulez avoir le support du codec audio aac (pas du tout nécessaire pour pouvoir streamer), faites aussi :
      apt-get install libfdk-aac-dev
  1. Il faut maintenant installer un paquet de backports, parce-que sinon ça ne compilera pas, (libswresample-dev) avec :
    apt-get -t jessie-backports install libswresample-dev
  2. Nous passons maintenant à la copie du répertoire de github vers votre disque,
    1. créez donc un dossier (que vous pourrez supprimer après l'installation, ou archiver) :
      mkdir InstallOBS
    2. puis changez de dossier avec :
      cd InstallOBS
    3. et téléchargez les fichiers avec:
      git clone https://github.com/jp9000/obs-studio.git
    4. enfin entrez dans le dossier contenant les fichiers nécessaires :
      cd obs-studio
    5. maintenant créez et entrez dans le dossier “build” avec :
      mkdir build && cd build
  3. on passe maintenant à la compilation avec :
    1. cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr ..
    2. et quand la première opération est finie :
      make -j4
    3. enfin on passe à l'installation avec checkinstall :
      checkinstall --pkgname=obs-studio --fstrans=no --backup=no --pkgversion="$(date +%Y%m%d)-git" --deldoc=yes
Nous entrons maintenant dans une procédure intéressante et longue, il va vous demander si les infos du paquet qui va être créé sont bonnes, normalement c'est le cas, répondez y si il vous dit que certains fichiers sont dans le répertoire /home, demandez à voir ce qu'ils sont et répondez non si il vous demande si il faut les inclure (ça a marché pour moi, je vais re-tester avec une machine virtuelle pour voir ce qu'il en retourne)

Utilisation

L'utilisation n'est pas bien différente de celle d'OBS sous windows (avec plein de tutos partout sur le web) mais je vais ici faire une description rapide pour aider le débutant à faire une belle composition pour plusieurs cas de figure.

Tout d'abord vous avez besoin de créer un compte chez un hébergeur (ou créer vous même votre service perso mais c'est au delà du sujet de cet article), j'aimerais ne pas le faire mais je recommande Youtube de Google qui est simple d'utilisation, qui autorise pas mal de sujets et qui est multiplate-forme pour les visionneurs (sans nécessité d'un plugin flash (sous linux par exemple, il est impossible de regarder les streams twitch dans un navigateur sans ledit plugin… :-( )).

Faites aussi attention aux rêgles et limitations données par votre hébergeur (jeux vidéo seulement, copyright, vie privée, les droits que vous concédez sur le contenu que vous envoyez, …).

Voila maintenant la fenêtre principale d'OBS-Studio :

  1. Il vous faut configurer OBS-Studio avec votre hébergeur et votre “stream key” (une partie de l'adresse qui prouvera que c'est bien vous qui envoyez le flux de données et pas un usurpateur.
    Pour ce faire, allez dans “Parametres” en bas à droite et choisissez l'onglet “Flux” vous pouvez maintenant choisir le “Service” et entrer votre “Clé de Stream
  2. Maintenant, dans la fenêtre principale, vous pouvez cliquer sur “Commencer le streaming” et quelques secondes plus tard vous devez être en ligne, ceux qui regardent le flux auront quelques dizaines de secondes de retard sur vous mais pour l'instant vous diffusez un écran noir :-? agrémentons donc tout ça…
    1. Pour configurer ce que vous envoyez (Webcam, Écran, Caméras, Texte, Musique, Microphone, …) et la manière dont vous l'envoyez (le placement, la taille des éléments, …) vous allez utiliser les “Scènes”, en bas à gauche de votre fenêtre OBS-Studio, dans l'exemple il y a 5 scènes (Intro, Webcam, Ecran, Astronomie et Soleil), en cliquant sur chacune j'affiche la scène pour pouvoir la diffuser ou simplement l'éditer (des raccourcis clavier sont aussi disponibles pour pouvoir changer de scène sans afficher la fenêtre de OBS-Studio).
Les boutons en dessous de la boite des scènes permettent d'en ajouter, supprimer, remonter ou redescendre dans la liste, il en est de même au niveau de la boite des sources afin d'organiser votre Scène.

Avec un peu de bidouillage vous avez maintenant une scène qui correspond à ce que vous diffusez, vous pouvez maintenant commencer votre stream, si vous trouvez que vous perdez beaucoup de paquets ou que votre processeur est surchargé (visible en bas à droite de la fenêtre d'OBS-Studio pendant la diffusion) dans ce cas, allez dans “Paramètres” > “Vidéo” et changez la résolution (ainsi que le nombre d'images par seconde si vous le souhaitez).

640×480@30fps ou 720×480@30fps (ou moins) pour une connexion adsl (débit montant <900kb/s) et un processeur décent mais modeste la HD et la full HD ainsi que le 60fps (1280×720, 1920×1080) sont réservées aux belles machines et aux connexions très haut débit (Fibre, 4G ou VDSL).

vous pouvez tester votre débit montant ici: http://testmy.net/upload

Enfin si vous perdez toujours des paquets vous pouvez aller dans l'onglet “Flux” des paramètres, ici vous pourrez régler les bitrates, pour le bitrate vidéo, un bitrate entre 500 et 1200kb/s ira pour du 720×480, essayez d'abord à 1000 puis descendez jusqu'à ce que vous ne perdiez plus de paquets (testez pendant plusieurs minutes à chaque fois bien sur pour voir sur la durée)

Lien vers forum

Tout a démarré de là mais pour les commentaires sur le tuto, se reporter comme d'hab' au lien dans l'entête de ce tuto.

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !