Avertissement |
---|
Cette documentation ne concerne que la version v2.X de Pod et non la version 3.X de Pod. Le module utilisé sera supprimé de Pod dans une future version de Pod v2.8, prévue en avril 2021. |
...
version de Pod. Une solution à cette problématique est en cours de travaux. |
Sommaire |
---|
Astuce | ||
---|---|---|
| ||
Le script pod/scripts/bbb-pod-live.php sera mis à jour dans la prochaine version v2.8.2 de Pod. Les modifications réalisées sont les suivantes :
|
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. A l'heure actuelle, les formats "Prenom Nom" ou "Nom Prenom" peuvent être gérés via ce paramétrage. Ce point est crucial pour que le système fonctionne correctement : une correspondance doit exister sur le "Prenom Nom" ou "Nom Prenom" (selon la configuration BBB_USERNAME_FORMAT) des modérateurs de BigBlueButton et le "Prenom Nom" des utilisateurs dans la base de données de Pod. A priori, cela devrait pouvoir fonctionner avec Greenlight si celui-ci est configuré pour utiliser l'annuaire LDAP de l'établissement et les champs givenName et sn. |
...
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 | audio vidéo partage d'écran chat whiteboard | présentation 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 |
...
Astuce | ||
---|---|---|
| ||
chown %USER% /usr/local/bin/docker-compose -R #Si le groupe docker n'existe pas, on peut le créer sudo groupadd docker #Ajout de l'utilisateur à ce groupe sudo usermod -aG docker %USER% #Astuce permettant d'être sûr de ne plus avoir de problèmes de droit sudo chmod 666 /var/run/docker.sock |
Après avoir ajouté le user au groupe docker, ne pas oublier de fermer sa session et de se reconnecter pour que cela soit pris en compte.
...
Info | ||
---|---|---|
| ||
Ce répertoire bbb-pod-live va contenir les différentes instances de BigBlueButton-liveStreaming, qui peuvent contenir les vidéos enregistrées (lorsque l'enseignant a sélectionné l'enregistrement du direct). Il faut donc prévoir un stockage suffisant (typiquement un minimum de 5Go par instance de BigBlueButton-liveStreaming souhaitée). |
- Vérifier qu'il y ait bien le script bbb-pod-live.php et le fichier docker-compose.default.yml dans ce répertoire, avec les bons droits utilisateurs.
...
Fichier docker-compose.yml
Il est primordial de ne pas modifier le fichier docker-compose.default.yml : il servira de modèle pour les containers bbb-liveStreaming.
Lors de la première exécution, le fichier de référence docker-compose.default.yml va être copié en tant que fichier docker-compose.yml et sera positionné dans chaque répertoire bbb-live-streaming créé :
...
- soit il faut configurer Pod pour être en mode debug (cf. settings_local.py).
Attention : le mode debug ne doit pas être activé dans un environnement de production. - soit modifier directement le script /django_projects/podv2/pod/video/management/commands/bbb.py pour qu'il affiche directement les traitements réalisés (cf. fonction print_if_debug).
...