Outils pour utilisateurs

Outils du site


Panneau latéral

Vie de l'asso

Outils de travail

Bureau

Communication

Adminsys

Réseau

Services

ADSL/VDSL

WiFi

VPN

Hébergement de machines

Législatif et politique

Matériels

Transparence

Café vie privée

projets:streaming_enregistrement_evenements

Page dépréciée ; ce matériel n'est plus


Projet Enregistrement et diffusion d'événements

Besoin

Nous voulons enregistrer et diffuser les événements que nous organisons.

Installation

L'installation que nous utilisons pour enregistrer et diffuser les événements est composée de 3 gros blocs fonctionnels:

En détails, voici ce que ca donne:

La majorité du setup vidéo (PC, caméra, câbles, routeur, switch) tient dans une malette ce qui en facilite le transport et l'installation.

Actuellement nous disposons d'une seule caméra. Il est possible d'en brancher une voir deux de plus sur le PC contenu dans la malette.

Dans le cas idéal, l'installation contient au moins 3 ordinateurs:

  • Un pour capturer l'image et sauvegarder le flux vidéo monté
  • Un pour le présentateur (pour ses supports de présentation, facultatif mais indispensable)
  • Un pour faire le montage vidéo en direct, la capture audio et la diffusion en direct (streaming)

L'ordinateur du présentateur permet de projeter les ses supports de présentation mais aussi d'en récupérer l'affichage pour l'incorporer au montage vidéo. La capture vidéo de cet ordinateur n'étant pas limitée seulement aux slides, il est possible de capturer des démonstrations diverses.

Pour travailler à plusieurs, il est possible de répartir les tâches exécutées par le PC “montage vidéo + montage audio + upstream” ceci afin de répartir la charge de travail sur plusieurs personnes.

Il est également possible d'envoyer un retour vidéo au présentateur, au public ou au cameraman.

La partie capture audio est composée d'une table de mixage, d'un ou plusieurs micros. Cette table est connectée au PC “mixage vidéo + mixage audio + upstream”. Il est conseillé de disposer d'un système audio pour le retour sonore afin que les participants puissent s'entendre quand ils parlent au micro. Cette tâche peut être remplie par une enceinte active.

Ces 3 ordinateurs sont connectés sur un réseau dédié (commuté en Gigabit pour pouvoir manipuler les flux vidéo DV tranquillement)

Un routeur est ajouté pour router le trafic vers le serveur de diffusion et offrir du Wifi à nos visiteurs.

Le routeur offre une capacité de lissage de trafic et de QOS (Quality Of Service) pour garder assez de ressources réseau pour envoyer le flux vidéo.

Choix logiciels

Les logiciels nécessaires pour réaliser la diffusion et l'enregistrement:

Prérequis selon les machines:

  • PC “malette”:
    • dvswitch
  • PC “présentateur”:
    • dvswitch
    • ffmpeg
  • PC “mixage vidéo + mixage audio + upstream”:
    • dvswitch
    • ffmpeg
    • ffmpeg2theora
    • oggfwd
    • mplayer / vlc
  • Serveur(s) de diffusion:
    • Icecast

En plus de ces logiciels, il peut être intéressant d'ajouter ces logiciels de monitoring à l'ensemble des machines (sauf pc du présentateur:

  • htop
  • iotop
  • nload
  • iftop
  • ifstat
  • nethogs

Sur le(s) serveur(s) de diffusion on pourra aussi installer

  • munin
  • script d'import de logs de piwik

Démarrage de la capture

Tout d'abord, allumer le routeur et le switch, laisser le routeur démarrer. Lancer le pc “mallette”. Depuis le pc “mixer vidéo + mixer audio + upstream”, vérifier que la communication peut être établie avec le pc mallette.

Lancer dvswitch sur le pc “mixer vidéo + mixer audio + upstream”:

dvswitch -h 0.0.0.0 -p 1234

Allumer la caméra et la relier au secteur ainsi qu'au pc “mallette” en utilisant un câble firewire. Lancer dvsource-firewire sur le pc “mallette”:

dvsource-firewire -t -h 1.2.3.4 -p 1234

A partir de ce moment, l'image capturée par la caméra est envoyée au pc “mixer vidéo + mixer audio + upstream” par l'intermédiaire du réseau (flux vidéo envoyé par le pc “mallette”).

Vérifier que l'image est correcte (couleurs, proportions, fluidité, très faible latence entre un mouvement et sa retranscription à l'écran, …)

Sur le pc “mallette”, créer un nouveau répertoire où seront stockés les enregistrements de l'événement et s'y rendre:

mkdir fma-evt
cd fma-evt

Sur le pc “mallette”, lancer le serveur de stockage. Celui-ci a pour but d'enregistrer le flux vidéo monté. Le flux est enregistré sur le disque dur de cette machine. Pour lancer le serveur de stockage, lancer la commande suivante:

dvsink-files -h 1.2.3.4 -p 1234 "out-%F-%H-%M-%S-%s"

Maintenant le bouton “record” de dvswitch (sur le pc “mixer vidéo + mixer audio + upstream”) ne doit plus être grisé. Effectuer un test d'enregistrement avant l'événement afin de vérifier le bon fonctionnement.

Pour capturer le son depuis une entrée audio du pc “mixer vidéo + mixer audio + upstream”, lancer la commande suivante (dans la commande suivante, on n'utilise pas la première carte son mais la seconde: voir le paramètre “hw”; si jamais le son est trop aigu ou trop grave c'est que la fréquence d'échantillonnage ne correspond pas à celle fournie par la carte de capture audio, paramètre “-r”):

dvsource-alsa -h 127.0.0.1 -p 1234 -r 48000 hw:1

Si un pc “présentateur” est mis à disposition et que des supports de présentation/démonstrations seront effectuées pendant l'événement, lancer la commande suivante pour envoyer les captures de l'écran du pc “présentateur” au pc “mixer vidéo + mixer audio + upstream” (adapter la résolution, paramètre “-s”, et le nombre de captures par seconde, paramètre “-r”):

ffmpeg -f x11grab -s 1280x1024 -r 15 -i :0.0 -target pal-dv -y - | dvsource-file /dev/stdin -h 1.2.3.4 -p 1234

Pour mettre en place un retour vidéo (c'est à dire diffuser sur un écran la sortie du mixeur vidéo et donc du montage vidéo live), lancer la commande suivante:

dvsink-command -h 1.2.3.4 -p 1234 -- mplayer -

Cette commande peut être lancée plusieurs fois sur plusieurs machines.

De la même façon, dvsink-command permet d'envoyer le sortie du mixeur vidéo sur un serveur de diffusion (ici un serveur Icecast):

dvsink-command -h 127.0.0.1 -p 1234  -- ffmpeg2theora - -f dv -F 25:5 --speedlevel 0 -v 4 -a 0 -c 1 \
-H 9600 -o - | oggfwd ip.server.iceca.st passwd /mountpoint
projets/streaming_enregistrement_evenements.txt · Dernière modification: 2019/01/17 22:01 de capslock