technique:webtv-projet

Projet webTV

Comment diffuser un flux vidéo/audio sur une plateforme libre et indépendante ?

Utiliser OBS studio et choisir un canal de diffusion non propriétaire comme :

  • Mistserver : il permet de diffuser un flux depuis OBS avec une adresse de serveur et une clef
  • OpenStreamingPlateform : plateforme basée sur python, flask et d'autres trucs. La documentation précise comme l'installer. La plateforme de démo a l'air sympa.
    • Chat en simultanée
    • Plusieurs clefs possibles pour un même compte (ex une AT)
    • Le Chatons Tedomum en propose une instance pour tester : https://stream.tedomum.net/ (voir leur doc d'utilisation)
    • On peut activer une option d'enregistrement du live (pas sur Tedonum)
    • Il est possible de récupérer une adresse d'un stream live en RTMP et de l'intégrer dans un lecteur VLC pour diffusion (cliquer sur le lien “partage” d'un live en cours) du type : rtmp:webtv.cemea.org:1935/live/clefspecifiqueflux - Dans VLC, ouvrir comme flux réseau. La qualité est bien meilleure et le lag est beaucoup plus court. A préconiser si on veut diffuser un stream dans un lieu commun, sans avoir besoin des outils de chat.

Les premiers tests sont concluants avec une webcam dédiée (HD) ou avec celle déjà présente sur un portable par exemple.

Le délai de 30s à 1 min est bien présent, mais ne pose pas de souci en soi.

À poursuivre les tests avec différentes sources (caméra, APN via carte d'acquisition …)

Les premiers retours semblent démontrés que selon la qualité de la source envoyée au travers d'OBS à un direct sur PeerTube, les résultats diffèrent avec des saccades dès qu'il y a gestes rapides par exemple.

Et ceci semble bien lié à PeerTube puisque dans OBS cela reste fluide. (Il en est pareil au travers de BBB par exemple). La question de la connexion semble écartée. Tests complémentaires à suivre avec OSP.

D'autres options similaires à la webradio :

Avoir un poste dédié qui rassemble et capte les flux et les envoie sur un serveur. Trouver une distrib qui fait ça ?

Un tout petit boitier PC mais qui supporte 2 ports PCI-e via un PCI river/splitter

https://www.density.sk/product/sm560/#main-color

Dedans on a mis un processeur qui ne chauffe pas trop (faire gaffe au ‘TDP’ des processeurs qui indique grosso modo si ça chauffe beaucoup ou pas) : un petit TDP c’est 65w.

Et un gros GPU 8 ou 11go de mémoire video

Sur le 2e slot PCI on a mis une carte 4 entrées SDI, de type black magic ou Magewell (en vérifiant l’espace disponible dans le boitier avec le gpu : c’est serré)

https://www.trm.fr/cartes-et-interfaces-d-acquisition/magewell-pro-capture-quad-hdmi-card-4-channel-carte-pcie/

https://www.blackmagicdesign.com/fr/products/decklink/techspecs/W-DLK-36

Il y a des version en SDI au lieu de HDMi pour des cameras avec les connectiques SDI (câble type BNC mais signal équivalent au HDMI + solide, supporte mieux la longueur, plus pro… )

Tout ça rentre dans OBS comme 4 cameras. Donc on a déjà une régie multicam dans un PC gros comme une boite à chaussures.

Mixage sonore

A priori faire le mixage sonore dans OBS en même temps que le montage image c’est impossible, donc il faut une petite table de mixage puis une carte son USB pour la capture du son dans le PC.

J’aurai beaucoup aimé que les tables de mix qui font aussi carte son (type Zoom live track L12) permettent de mixer en étant connectées en USB. Mais en fait non, tu ne peux contrôler que le gain des micros mais pas leur volume. Ce qui rend le mixage très difficile.

Conclusion : on utilise une petite table de mixage purement analogique pour mixer les micros, envoyer un mixage vers OBS et souvent un mixage différent vers des enceintes dans la salle. Le plus gros problème est souvent celui là : à partir du moment où il y a des enceintes et des micros dans la même pièce, il faut faire attention aux Larsen… Puis une bête carte son USB avec 1 entrée qui devient l’unique source son local dans OBS.

Voilà pour une régie multicam locale/compacte tournant sur Ubuntu.

Dans OBS, chaque sortie de la carte graphique peut être dédiée à l’affichage d’un flux (ou assemblage de flux) à volonté. Donc on peut renvoyer des images sur plusieurs écrans locaux qui soient différents de ton montage direct.

(On appelle ça des auxiliaires en régie video et en son : l’envoi d’un flux différent du flux principal Program en video ou Master en son)

Après il y a encore toutes les possibilités d’OBS: virtual webcam, réception et envoi NDI et/ou streaming. Mais là il ne s’agit plus que de logiciel c’est un autre délire…

Pour le plugin NDI système :https://www.ndi.tv/tools/

Le plugin NDI pour OBS : https://github.com/Palakis/obs-ndi/releases/tag/4.9.1

Ici par exemple on utilisait Skype qui permet de recevoir chaque webcam comme un flux NDI séparé, on récupère chaque flux comme une camera dans OBS ET on les récupère aussi dans madmapper pour que LE videoproj Skype (il n’y en a qu’un pour les 4 videos skype sur le plateau) puisse faire le mapping de chaque webcam.

https://www.youtube.com/watch?v=dBMiFoJh2Wo

Pauvre modératrice, elle aurait du avoir des personnes en réel sur plateau et elle s’est retrouvée seule face à 4 morceaux de plexi …

Et là est la question fondamentale ! Comment récupérer séparément chaque flux de webcam dans BBB par exemple ? Cela permettrait de les monter comme des cameras dans OBS et d’utiliser parallèlement BBB pour faire le webinaire : on pourrait donc avoir 2 niveaux de public: les participants à BBB (limité) et un livestream avec un montage/realisation dédié à la diffusion (avec titrage etc…).

  • technique/webtv-projet.txt
  • Dernière modification: 2021/03/24 22:09
  • de francoisa