Contexte
Depuis la version 2.8 de Pod, une solution permettant aux usagers de retrouver directement dans Pod un enregistreur écran + micro avait été mis en place. Grâce à cette solution, les usagers de Pod peuvent réaliser en autonomie des capsules vidéos, qui pouvaient alors être envoyées automatiquement dans Pod.
Ce système n'étant pas optimal, il a été remplacé dans la version 2.9 de Pod par l'Opencast Studio.
Présentation du fonctionnement d'Opencast Studio
Ce système d'Opencast studio est bien plus performant que l'ancien enregistreur, et permet aux usagers de Pod, en totale autonomie, d'enregistrer la caméra, le micro et l'écran de l'utilisateur.
Ainsi, en plus de pouvoir enregistrer tout cela localement, l'usager peut publier automatiquement l'ensemble sur la plateforme Pod avec différentes possibilités de rendu. (Voir présentation faite lors de la journée Esup).
- L'icône d'Enregistreur apparaît dans le menu de profil des usagers connectés à Pod
- L'utilisateur peut choisir les sources qu'il souhaite enregistrer
- L'utilisateur peut paramétrer ses sources audio et vidéo (en terme de choix de matériel, de qualité)
- L'usager peut également décider d'enregistrer l'audio ou non
- Un bouton rouge permet l'enregistrement.
- Une fois l'enregistrement réalisé, il peut également couper le début et/ou la fin de celui-ci.
- A la fin de son enregistrement, et après les coupes - si besoin - , l'utilisateur peut choisir d'enregistrer en local ou d'envoyer directement sur Pod.
En cas d'enregistrement de 2 flux vidéos, Pod les concatènera en une seule vidéo, selon l'option PIP choisie. La vidéo finale se retrouvera, comme d'habitude, dans le menu Mes vidéos.
Installation
Pour rajouter le studio d'Opencast dans votre instance de Esup-Pod, voici les étapes à suivre :
Récupérer les sources Opencast Studio via la commande suivante :
git clone https://github.com/elan-ev/opencast-studio/
Créer l'Opencast Studio avec la bonne configuration pour Pod via les commandes suivantes :
Installation d'Opencast Studio v 1.0 pour les versions d’Esup-Pod <= 3.4.1
cd opencast-studio/ # cf la liste des tags: https://github.com/elan-ev/opencast-studio/tags git checkout tags/2023-09-14 export PUBLIC_URL=/studio npm install npm run build
Installation d'Opencast Studio v 2.0 pour les versions d’Esup-Pod >= 3.5.0
cd opencast-studio/ export PUBLIC_PATH=/studio npm install npm run build:release
- Un répertoire build est alors généré. Renommez ce répertoire build en studio, puis copier le dans le répertoire pod/custom/static/opencast/
mkdir -p pod/custom/static/opencast/studio cp -r build/* pod/custom/static/opencast/studio
Finalement, n'oubliez pas de collecter vos fichiers statiques pour la mise en production via la commande :
(django_pod) [userpod@video][/data/www/userpod/django_projects/podv2] python manage.py collectstatic
La génération d'Opencast Studio peut très bien se réaliser sur un autre serveur. Pod n'a besoin que du répertoire build, renommé en studio, et positionné dans le sous-répertoire pod/custom/static/opencast
Il est indispensable que le serveur soit configuré en HTTPS (et non en HTTP) pour que l'Opencast Studio puisse fonctionner.
Configuration et pré-requis
Configuration
Dans votre custom/settings-local.py, les paramètres suivants concernent l'utilisation d'Opencast Studio:
Propriété | Description | Valeur par défaut |
---|---|---|
USE_OPENCAST_STUDIO | Activer l'enregistreur Opencast Studio | False |
OPENCAST_FILES_DIR | Répertoire de travail pour les fichiers générés par Opencast Studio (sera accessible dans le media) | "opencast-files" |
ENCODE_STUDIO | Fonction appelée pour lancer l'encodage des vidéos intermédiaires du studio | "start_encode_studio" |
OPENCAST_DEFAULT_PRESENTER | Paramètre permettant de savoir le comportement par défaut lors de l'enregistrement de la caméra et de l'écran (modifiable par l'utilisateur) Valeurs possibles :
| "mid" |
Pré-requis
Il est aussi nécessaire de créer, via l'interface d'administration, un nouvel Enregistreur de type Studio :
Il est indispensable que cet enregistreur est comme type d'enregistrement Studio; concernant le répertoire des publications, mettre opencast-files, ou du moins, la valeur configurée dans le paramètre OPENCAST_FILES_DIR.
Vous pouvez faire cette création en ligne de commande si vous le souhaitez :
(django_pod) [userpod@video][/data/www/userpod/django_projects/podv2] echo "from pod.recorder.models import Recorder; from pod.video.models import Type; type=Type.objects.get(pk=1); rec=Recorder.objects.create(name='Studio', address_ip='127.0.0.1', recording_type='studio', type=type)" | python manage.py shell
Exploitation
Les fichiers d'Opencast Studio sont générés dans le répertoire /media/opencast-files/ et tout est loggué dans l'interface d'administration de Pod.
En effet, il est possible de retrouver les enregistrements réalisés par les usagers via le module Recorder / Enregistrement pour l'enregistreur de type Studio défini :