...
| Avertissement |
|---|
| Cette documentation ne concerne que la future version de Pod v2.8, prévue fin février en mars 2021. |
| Sommaire |
|---|
Contexte et solution apportée
...
Au final, voici ce qui est ressorti de mes tests.
| bbb-recorder | BigBlueButton-liveStreaming | |
|---|---|---|
| Exporte un cours BBB en direct live | ||
| Enregistre un cours BBB en vidéo | format webm, mp4 | peut enregistré le cours qu'il publie en live au format mkv |
| Indépendance vis-à-vis de BigBlueButton | peut-être installé sur n'importe quel serveur | peut-être installé sur n'importe quel serveur |
| Contenu de la vidéo finale | présentation audio vidéo partage d'écran chat whiteboard | présentation audio vidéo partage d'écran chat whiteboard |
| Possibilité de chat depuis la page de direct avec BBB | ||
| Possibilité de faire plusieurs streams sur une même VM | ||
| Technologies | NodeJS, xvfb, Chrome, ffmpeg, shell | Docker, python, xvfb, ffmpeg, shell |
| Mise à jour régulière | ||
| Notion de charge |
Le fichier vidéo fait entre 2 et 4Mo par minute, en webm ou mp4 | 1 stream nécessite 4-6 vCPU + 4 Go RAM le fichier vidéo fait ~19Mo par minute, en mkv |
Aux vues des besoins, et en particulier suite à la possibilité d'ajouter un tchat public à la page de direct, j'ai alors choisi BigBlueButton-liveStreaming comme solution pour la diffusion de sessions BigBlueButton en direct.
...
Voici la liste des éléments paramétrables :
| Paramètre | Valeurs possibles / Exemples | Commentaires |
|---|---|---|
| Paramétrage nécessaire pour bbb-pod-live | ||
| DEBUG | true/false | Application en mode débogage (true - on logue toutes les lignes) ou en production (false - on logue seulement les erreurs et infos). |
| PHYSICAL_BASE_ROOT | "/home/user/bbb-pod-live/" | Répertoire de base de l'application et avoir suffisamment d'espace disque pour l'enregistrement de quelques vidéos (stockage temporaire) |
| PHYSICAL_LOG_ROOT | "/home/user/bbb-pod-live/logs/" | Constante permettant de définir le chemin physique du répertoire contenant les logs applicatifs. |
| ADMIN_EMAIL | "administrateur@univ.fr" | Mail de l'administrateur de BBB-POD-LIVE, qui recevra les mails en cas d'erreur |
| SERVER_HOSTNAME | "server.infra.univ.fr" | Hostname de ce serveur BBB-POD-LIVE (utile pour Redis et le chat) |
| NUMBER_SERVERS | 2 | Nombre de serveurs BBB-POD-LIVE |
| SERVER_NUMBER | 1 | Numéro unique de ce serveur dans la liste des serveurs BBB-POD-LIVE |
| NUMBER_LIVES | 2 | Nombre de directs gérés par ce serveur (à adapter selon les ressources du serveur) |
| Paramétrage nécessaire pour BigBlueButton-liveStreaming (cf. https://github.com/aau-zid/BigBlueButton-liveStreaming) | ||
| BBB_URL | "https://bbb.univ.fr/bigbluebutton/api" | URL du serveur BigBlueButton/Scalelite, avec la notion d'API |
| BBB_SECRET | "xxxxxxxxxxxxxxxxxxxxxxxxxxxx" | Clé secrète du serveur BigBlueButton/Scalelite |
| BBB_RESOLUTION | "1280x720" | Résolution pour diffuser / télécharger au format WxH (Défaut: 1920x1080). cf. BBB_RESOLUTION |
| FFMPEG_STREAM_VIDEO_BITRATE | "3000" | Bitrate de la vidéo (Défaut: 4000). cf. FFMPEG_STREAM_VIDEO_BITRATE |
| FFMPEG_STREAM_THREADS | "0" | Threads utilisés pour le flux (Défaut: 0). 0 signifie auto. cf. FFMPEG_STREAM_THREADS |
| BBB_STREAM_URL | "rtmp://liveX.univ.fr/live/" | Serveur RTMP qui va gérer les directs pour ce serveur bbb-pod-live cf. BBB_STREAM_URL |
| BBB_ATTENDEE_PASSWORD | "JAMHEVcAdpoS" | Mot de passe des participants cf. BBB_ATTENDEE_PASSWORD |
| BBB_MODERATOR_PASSWORD | "AOcEHxFFDtrD" | Mot de passe des modérateurs cf. BBB_ATTENDEE_PASSWORD |
| Paramétrage nécessaire pour Pod | ||
| POD_HLS_STREAM | "https://liveX.univ.fr/hls/" | Flux HLS, dépend de la configuration du serveur RTMP Nginx utilisé |
| POD_URL | "https://pod.univ.fr" | URL du serveur Pod |
| POD_TOKEN | "xxxxxxxxxxxxxxxxxxxxxxxxxxxx" | Token de sécurité de Pod, utile pour attaquer Pod via les API Rest (cf. administration de Pod / Jeton) |
| POD_ID_BUILDING | 1 | Identifiant du bâtiment POD (au sens live/building de POD) de rattachement des diffuseurs créés par bbb-pod-live |
| POD_DEFAULT_BBB_PATH | "/data/www/user/bbb-recorder/" | Répertoire dans lequel copier les fichiers vidéo générés par BigBlueButton-liveStreaming |
Après avoir réalisé ce paramétrage, le mieux est de lancer manuellement, en mode DEBUG, le script bbb-pod-live.php via :
...