Retour sur la conférence de Stéphane Bortzmeyer : (Introduction à) IPv6

Stéphane Bortzmeyer est venu animer une conférence sur IPv6 à l’Université de Technologie de Belfort-Montbéliard. Retour sur l’organisation et le déroulement de la conférence, le tout agrémenté de quelques chiffres.

Affiche

L’organisation

Pour mettre en place la conférence, il est nécessaire de :

  • décider d’un sujet,
  • contacter l’intervenant,
  • trouver une date
  • réserver la salle,
  • réserver le matériel,
  • faire la communication,
  • réserver l’hôtel,

Le premier point a été fait dès début Octobre. La convention obtenue donne l’autorisation d’utiliser la salle jusqu’à 22h.

Concernant le matériel, cela a été fait début Octobre également. Le prêt comprenait le matériel nécessaire pour le son et la vidéo, ainsi que l’ensemble permettant le stream.

Tout allait pour le mieux… jusqu’à trois jours avant la conférence, où j’ai pu apprendre indirectement qu’il allait falloir se débrouiller par soi-même, l’accord obtenu début Octobre ayant été oublié, le prêt de matériel devenant soudainement impossible, et impossible d’obtenir des informations non contradictoires : du bon matériel pourtant disponible (micro..) qu’on devait malgré tout me prêter n’existait soudainement plus, puis qu’il fallait s’adresser à plusieurs personnes se renvoyant la balle (moi en l’occurence :) ) jusqu’à me faire comprendre d’utiliser mes propres moyens.

Enfin, comme autre point de cafouillage à souligner : le gardien n’a apparemment pas été informé de l’existence de la convention… et ça aurait pu poser problème si une personne de la DSI (qu’elle en soit remerciée !) n’était pas sortie au milieu de la conférence lui expliquer la situation.

La conférence

La conférence a commencé avec 10/15 minutes de retard du fait de la mise en place capricieuse du streaming.

Entre 50 et 60 personnes étaient présentes, et la majorité était constitutée d’étudiants. Des profs du département Informatique et du personnel de l’équipe technique de l’UTBM étaient également présents, ainsi que plusieurs personnes extérieures, ce qui est vraiment positif… même s’il restait des places dans l’amphitéâtre (mais deux autres évènements de l’Association des Étudiants étant organisés au même moment - ça a probablement empêché quelques personnes de venir ?).

Au bout d’une heure et demie, la séance de questions a succédé à la conférence. L’échange a duré un peu moins d’une heure.

Le streaming

Mise en place

Suite au faux-bond de l’UTBM sur ce sujet, j’ai essayé d’utiliser le boîtier d’acquisition (Pinnacle MovieBox DV) de l’Association des Étudiants afin de récupérer la sortie composite de la caméra. Sans succès : le boîtier n’a apparemment pas été utilisé depuis trop longtemps, il ne s’allume plus.

Au vu du délai très court pour trouver une solution, le système qui a été utilisé se compose de :

  • une webcam Logitech C310,
  • une caméra Sony HDR-CX700,
  • l’entrée jack du PC pour récupérer le son,
  • la console son, deux enceintes et deux micros,
  • VLC Media Player (version 2.2),
  • un serveur Icecast (version 2.3.2),
  • OpenVPN (version 2.3.2),

Comment articuler tout ça ?

Enregistrer

Les deux micros arrivent sur la console son, qui redispatche ensuite sur les deux enceintes, sur la caméra, et sur le PC. La caméra enregistre le tout sur sa carte SD, utilisée pour monter la vidéo a posteriori.

Streamer

Avec VLC, on récupère le flux audio des micros et vidéo de la webcam. Le tout est capturé dans un fichier OGG (Theora+Vorbis) et stocké localement.

On possède ainsi une copie locale du flux. Il s’agit maintenant de le diffuser. Malheureusement, “eduroam” n’étant pas stable dans l’amphitéâtre et le wifi visiteurs possédant un meilleur débit en upload (curieux, mais c’est comme ça..), le choix du réseau s’est orienté sur ce dernier point d’accès.

Problème : peu de ports sont ouverts, et celui nécessaire pour communiquer avec le serveur Icecast distant ne l’est pas. C’est ici qu’OpenVPN rentre en jeu : on crée un tunnel via le port 80, ouvert, afin d’éviter les différents blocages, dont celui du port 8000 nécessaire pour parler à Icecast (une autre solution aurait été de faire écouter Icecast sur le port 80 directement, mais un service web que je ne pouvais pas déplacer y était déjà présent).

Une fois le canal ouvert, il suffit d’envoyer le flux :

cat bortzmeyer.ogg | oggfwd stream.fr33tux.org 8000 mot_de_passe /bortzmeyer.ogg

Oui, ce n’est pas propre du tout !

Malheureusement, je n’ai pas réussi à ce que VLC diffuse le flux à un serveur distant de lui-même, ffmpeg/avconv non plus.. À situation désespérée, solution désespérée !

Et ça a plutôt bien fonctionné d’après les différents retours : l’image était correcte, pas/peu de coupures… Seul bémol, le son un peu capricieux pour les utilisateurs de VLC. Les clients ayant rencontré le moins de problème étaient MPlayer, Chrom(e-ium) et Firefox.

Statistiques

Ayant la main sur le serveur, voici quelques chiffres tirés du log Icecast passé à la moulinette AwStats. Les graphs ont ensuite été générés via LibreOffice.

Au total, le stream a représenté un peu plus de 20 Go de données, répartis parmis les 210 personnes connectées. Au pic de fréquentation (aux alentours de 20h30), 58 personnes ont suivi simultanément le stream.

Pourcentage des systèmes d’exploitation utilisés

Point intéressant, la majorité des clients étaient sous une distribution Linux. S’ensuit Windows, puis des clients inconnus (probablement des lecteurs tels que VLC ou MPlayer), et enfin Macintosh.

Pourcentage des navigateurs utilisés

Chose assez surprenante au vu des soucis d’absence de son avec le stream consulté sous ce navigateur, Firefox l’emporte assez largement, suivi un peu plus loin par Chrome.

Pourcentage de données diffusées par pays

Assez logiquement cette fois, la plupart des visiteurs venaient de France. D’autres pays sont aussi présents (ce qui s’explique notamment par la présence d’étudiants en stage ou en semestre à l’étranger… :) ).

Quantité de données diffusées par heure

Coup d’oeil sur la répartition des données de chaque heure. Le pic de fréquentation ayant eu lieu sur le créneau 20h-21h, la quantité de données diffusée par le serveur à cet instant est le plus important avec presque 10 Go.

Conclusion

Remerciements

  • Adrien Berthet pour l’affiche très réussie,
  • Jvoisin pour le prêt de sa webcam et la manutention,
  • David Quaycendre pour la gestion du son et la manutention,
  • Capslock pour son aide concernant les solutions envisageables pour le stream,
  • Daniel Galovic du SME de Belfort pour le prêt de matériel malgré le peu de moyens mis à sa disposition,
  • Hélène Béhague et Alexandre Caminada notamment pour l’aide financière vraiment bienvenue et pour avoir parlé de l’évènement,
  • François Jouffroy pour avoir fait passer le mot sur les médias de l’école (réseaux sociaux, mailing-lists).

Pour la prochaine fois…

La solution de streaming avec Icecast a été plutôt satisfaisante, de même que le doublage avec la seconde caméra pour traiter la vidéo a posteriori et l’avoir de meilleure qualité.

J’ai été vraiment déçu de ne pas pouvoir compter sur l’école (excepté les personnes citées ci-dessus) pour l’organisation, le prêt de matériel… malgré le fait d’avoir planifié les besoins plus de deux mois en avance. Il convient de s’en souvenir pour ne pas se faire avoir une nouvelle fois…

En vrac :

  • Mettre en place un lecteur HTML5 pour faciliter l’accès au stream pour tout le monde,
  • Si une grande fréquentation en ligne est prévue, déployer des relais,
  • Résoudre le problème avec ffmpeg/avconv et VLC pour éviter de procéder avec cat,
  • Communiquer encore plus largement…

Le mot de la fin

Les multiples retours que j’ai pu avoir ont été vraiment positifs, et les discussions étaient enthousiastes. C’était un réel plaisir d’accueillir Stéphane Bortzmeyer ici, un grand merci à lui d’avoir accepté l’invitation !

Liens