...
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 :
...