| Avertissement |
|---|
Cette documentation ne concerne que la version 2. 7.0 et supérieure de Pod. |
...
X de Pod et non la version 3. X de Pod. Le module utilisé est supprimé de Pod depuis la version 3.8.2. D'autres fonctionnalités de Pod peuvent correspondre à vos besoins :
|
Sommaire
| Astuce | ||
|---|---|---|
| ||
En cas d'erreur du type : Error: Evaluation failed: TypeError: Cannot read properties of null (reading 'duration') A priori, en ajoutant une temporisation dans le script export.js de bbb-recorder, le problème ne se présente plus. En attendant une mise à jour de bbb-recorder, il peut-être nécessaire de modifier bbb-recorder/export.js et y ajouter à la ligne 125 : // Waiting for page loading D'ailleurs, un commit vient d'être fait dans bbb-recorder pour résoudre ce problème : cf. https://github.com/tdebatty/bbb-recorder/commit/46e7511f035904344a06fc9c346d3f9b8a34ccdf |
| Info | ||
|---|---|---|
| ||
Suite à la mise à jour de BigBlueButton ou de Scalelite, il peut arriver que les liens des enregistrements BigBlueButton changent de format. Pour gérer ce changement de format vis-à-vis de ce système de publication vers Pod, il est nécessaire de réaliser les modifications suivantes :
|
| Info | ||
|---|---|---|
| ||
Cela n'a rien à voir avec le système de publication pour Pod, mais si vous avez un Scalelite et que, parfois, certains enregistrements n'apparaissent pas aux utilisateurs, cela peut provenir de Scalelite. Après recherche, dans mon cas, il s'avérait que certains enregistrements restaient bloqués, au format .tar, dans le répertoire spool de Scalelite (/mnt/scalelite-recordings/var/bigbluebutton/spool/) et n'étaient alors jamais publiés. Au final, en mettant à jour la base de données de Scalelite et en le redémarrant, tout est rentré dans l'ordre. Voici les commandes utilisées : sudo docker exec -t scalelite-api bundle exec rake db:migrate |
Contexte et solution apportée
...
| Avertissement | ||
|---|---|---|
| ||
Les informations concernant les modérateurs dans BigBlueButton dépendent du client BBB utilisé : Greenlight ou le plugin mod_bigbluebuttonbn pour Moodle. Le système réalisé n'a été testé qu'avec le plugin mod_bigbluebuttonbn pour Moodle (CASifié, donc les données proviennent de notre annuaire LDAP); cela signifie que les modérateurs sont définis - dans mon cas - sous la forme "Prenom Nom". Il est possible de paramétrer ce format, via le paramètre BBB_USERNAME_FORMAT (à partir de la version 2.7.2). A l'heure actuelle, les formats "Prenom Nom" ou "Nom Prenom" peuvent être gérés via ce paramétrage. |
...
| bbb-recorder | bbb-download | BigBlueButton-liveStreaming | |
|---|---|---|---|
| Enregistre un cours BBB en vidéo | format webm, mp4 | peut enregistré le cours qu'il publie en live au format mkv | |
| Exporte un cours BBB en direct live | |||
| Enregistre un cours en temps réel | |||
| 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 | |||
| Technologies | NodeJS, xvfb, Chrome, ffmpeg, shell | Python, ruby, ffmpeg, shell | Docker, python, xvfb, ffmpeg, shell |
| Mise à jour régulière | Dernière mise à jour en 2018 | ||
| Notion de charge |
| ||
| Commentaires | Facilement modifiable (scripts JS pour NodeJS) | Complètement intégré à BBB (une fois un cours enregistré terminé, une vidéo - en plus de la présentation - est générée) | Il faut bien respecter l'ordre de démarrage (session BBB avant liveStreaming). |
| Remarques sur mes tests | Peut également publier en live le cours (publication RTMP). |
...
Une fois bbb-recorder installé sur les différents serveurs d'encodage, il reste à configurer le plugin bbb directement dans Pod, via l'édition de fichier custom/settings_local.py (sur les encodeurs et sur le frontal) :
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
## # BigBlueButton settings # # Use of BigBlueButton USE_BBB = True # Directory of bbb-recorder plugin (see documentation https://github.com/jibon57/bbb-recorder) # bbb-recorder must be installed in this directory, on all encoding servers # bbb-recorder create a directory 'homedir'/Downloads that needs disk space DEFAULT_BBB_PLUGIN = '/home/%userpod%/bbb-recorder/' # Directory that will contain the video files generated by bbb-recorder DEFAULT_BBB_PATH = '/data/www/%userpod%/bbb-recorder/' # BigBlueButton or Scalelite server URL, where BBB Web presentation and API are BBB_SERVER_URL = 'https://bbb.univ.fr/' # BigBlueButton key or Scalelite LOADBALANCER_SECRET BBB_SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxx' # Username format in BBB BBB_USERNAME_FORMAT = 'first_name last_name' # Type of the generated video by default DEFAULT_BBB_TYPE_ID = 1 # Number of days before removal the meetings (and associated users) not already published # To not remove old meetings, set 0 value BBB_NUMBER_DAYS_BEFORE_DELETE = 0 |
...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
%userpod%@ts-sun:~/$ mkdir /data/www/%userpod%/bbb-recorder %userpod%@ts-sun:~/$ mkdir /data/www/%userpod%/bbb-recorder/logs %userpod%@ts-sun:~/$ chown %userpod%:www-data /data/www/%userpod%/bbb-recorder/logs # Ou, selon l'environnement : %userpod%@ts-sun:~/$ chown %userpod%:nginx /data/www/%userpod%/bbb-recorder/logs |
...