Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Info

Cette documentation ne concerne que la version 3.3.X et supérieure d'Esup-Pod.

Contexte et application des réunions dans Esup-Pod

Depuis la version 3.X d'Esup-Pod, et la mise en place de l'application de réunions - reposant sur une architecture Big Blue Button (BBB) - il est dorénavant possible aux usagers d'utiliser cette plateforme comme point central pour tout ce qui concerne les vidéos ainsi que pour les classes virtuelles et réunions en visioconférence.

...

  • Vidéo/webcam
  • Audio
  • Chat
  • Partage de document + annotation
  • Partage d’écran
  • Sondage
  • Enregistrement
  • Création de groupes
  • Prises de notes partagées
  • Intégration de vidéos externes
  • Intégration Moodle, WordPress, Esup-Pod...

Interface Esup-Pod / Mes réunions Big Blue Button

Big Blue Button

Interface Esup-Pod / Enregistrements de réunion Big Blue Button


(info) Dans cette interface, l'action "Téléverser sur Esup-Pod en tant que vidéo" est disponible car nous utilisons une architecture Big Blue Button 2.6 avec le système d'enregistrement vidéo (cf. paragraphe ci-dessous).

Problématique et solution apportée

La problématique

Ainsi, en passant par Esup-Pod pour réaliser nos réunions, classes virtuelles et autres visioconférences, nous avons également accès aux enregistrements de celles-ci, directement dans Esup-Pod et nous avons la possibilité d'importer ces enregistrements dans Pod directement en un clic.

Cependant, lorsque nous utilisons d'autres services ou applications externes pour réaliser ses réunions, classes virtuelles et autres visioconférences (typiquement, réaliser une classe virtuelle Big Blue Button via Moodle), il n'y avait jusque là aucun outil permettant d'importer facilement ces enregistrements dans la plateforme.

La solution

La solution repose alors sur l'application d'import des vidéos externes dans Esup-Pod.

...

(info) A l'heure actuelle, cette liste est exhaustive mais peut être amené à évoluer selon les besoins.

Architecture de la solution

Activer l'enregistrement au format vidéo dans Big Blue Button 2.6 et supérieure

Comme expliqué ci-dessus, si l'on souhaite pouvoir importer sur Esup-Pod les enregistrements Big Blue Button, il est nécessaire que ces derniers soient sauvegardés au format vidéo.

...

Info

Dans un deuxième temps, il sera sûrement intéressant de réaliser un script (s'il n'existe pas d'ici là) permettant de supprimer les fichiers vidéos générées au bout d'un certain temps (paramétrable).

Choix des modules Python utilisés et pré-requis

Aucune module spécifique Python n'a été utile pour l'import des vidéos depuis Big Blue Button, PeerTube ou en accès direct.

...

Info

Il aurait aussi été possible d'utiliser le module Python YT-DLP : https://github.com/yt-dlp/yt-dlp

Problématique en lien avec l'import des vidéos Youtube


Avertissement
titleJuin 2023, Août et Septembre 2023 - Mise à jour Youtube

Suite à la mise à jour de Youtube de Juin 2023, d'Août 2023 et de Septembre 2023, PyTube n'est pas encore à jour.

Il a alors été nécessaire de réaliser directement la mise à jour de code directement dans  /home/pod/.virtualenvs/django_pod3/lib/python3.9/site-packages/pytube/cipher.py

La mise à jour pour Juillet et Août concerne la chaîne suivante : https://github.com/pytube/pytube/commit/22d20bd92b3bb16a5fb5d7d86572d97287161e8f avec l'ajout plus récent de https://github.com/pytube/pytube/issues/1750

La mise à jour pour Septembre concerne une erreur du type ('NoneType' object has no attribute 'span')  : https://medium.com/@hasan.trz/pytube-cipher-py-attributeerror-nonetype-object-has-no-attribute-span-37ff564f1272

Au final, cela revient à changer la variable function_patterns de la ligne 264 du fichier cipher.py avec ce code :

    function_patterns = [
        # https://github.com/ytdl-org/youtube-dl/issues/29326#issuecomment-865985377
        # https://github.com/yt-dlp/yt-dlp/commit/48416bc4a8f1d5ff07d5977659cb8ece7640dcd8
        # var Bpa = [iha];
        # ...
        # a.C && (b = a.get("n")) && (b = Bpa[0](b), a.set("n", b),
        # Bpa.length || iha("")) }};
        # In the above case, `iha` is the relevant function name
        r'a\.[a-zA-Z]\s*&&\s*\([a-z]\s*=\s*a\.get\("n"\)\)\s*&&.*?\|\|\s*([a-z]+)',
        r'\([a-z]\s*=\s*([a-zA-Z0-9$]+)(\[\d+\])\([a-z]\)',
    ]

Et de modifier la ligne 411 du même fichier cipher.py avec ce code :

    # transform_plan_raw = find_object_from_startpoint(raw_code, match.span()[1] - 1)
    transform_plan_raw = js

Le plus simple est de remplacer ce fichier cipher.py par celui-ci : 

View file
namecipher.py
height150

Une mise à jour de PyTube ne devrait plus tarder à arriver; il suffira de mettre à jour ce module via la commande suivante : python3 -m pip install --upgrade pytube


(avertissement) Si ce module PyTube n'est pas mis à jour régulièrement, je le remplacerai par le module Python YT-DLP : https://github.com/yt-dlp/yt-dlp

Configuration de l'application Import_Video

Le paramétrage du module d'import des vidéos externes se réalise, comme habituellement, via le fichier de settings_local.py, avec l'utilisation des paramètres suivants :

ParamètreVersion minimaleValeur par défautDescription
USE_IMPORT_VIDEO3.3.0TrueActivation de l’application d'import des vidéos (True / False)
RESTRICT_EDIT_IMPORT_VIDEO_ACCESS_TO_STAFF_ONLY3.3.0TrueSeuls les utilisateurs "staff" pourront importer des vidéos (True / False)
MAX_UPLOAD_SIZE_ON_IMPORT3.3.14Taille maximum en Go des fichiers vidéos qui peuvent être téléversés sur la plateforme via le module import_video (0 = pas de limite)

Utilisation

L'utilisation de ce module d'import des vidéos externes a été pensé pour être le plus simple possible pour l'usager et se rapproche de la gestion des enregistrements du module des réunions Big Blue Button.

Création d'une vidéo externe

Avant de pouvoir importer une vidéo externe, il est nécessaire de la créer dans un premier temps.

...

Info

L'adresse de l'enregistrement à télécharger doit correspondre à une URL accessible publiquement.

Liste des vidéos externes

Si l'import dans Esup-Pod paraît possible, l'action d'import est affiché à l'utilisateur.

...

Info

Dans la liste ci-dessus, nous pouvons voir qu'il n'est pas possible de téléverser dans Esup-Pod la "Réunion du 20 décembre 2022". Cela s'explique par le fait qu'il s'agisse d'un enregistrement d'une réunion BBB quelque peu ancienne, pour laquelle seule la présentation Web est disponible; il n'y a pas de fichier vidéo disponible et donc pas d'import réalisable.

Erreurs possibles

Selon le type de vidéo à importer sur Esup-Pod, il se peut que l'import ne soit pas possible (seules les vidéos accessibles publiquement peuvent être téléversées sur Esup-Pod); dans ce genre de cas, un message d'erreur sera alors affiché à l'usager avec une proposition de solution.

Par exemple, lors d'une tentative d'import d'une vidéo Youtube non publique, le message d'erreur sera le suivant :

Exploitation

Ce module ne nécessite pas d'exploitation particulière : normalement, les usagers devraient pouvoir être autonomes.

...