Contexte
Cette documentation permet de comprendre comment réaliser une publication de vidéos, semi automatisée, depuis un enregistreur - permettant à minima un export FTP - vers la plateforme vidéo Pod v2.
Plus précisément, cette fonctionnalité est accessible depuis la version 2.3 de Pod, sortie en novembre 2019.
A priori, de nombreux enregistreurs, de différentes sociétés - telles que Inwicast, Rapidmooc, Ubicast, Multicam, Kalizee, Extron... - permettent un export FTP des vidéos réalisées et pourraient alors bénéficier de cette fonctionnalité de Pod (en nécessitant peut-être quelques adaptations).
Le principe de publication est le suivant :
- Une fois la vidéo réalisée, l'enregistreur publie la vidéo dans un répertoire spécifique sur le serveur FTP de Pod,
- Une fois la copie réalisée, un script - qui s'exécute régulièrement grâce à la mise d'un CRON - traite ce fichier vidéo.
- Selon le paramétrage en lien avec l'enregistreur, il existe 2 possibilités, à savoir :
- Soit le gestionnaire de l'enregistreur reçoit un email l'avertissant du dépôt de la vidéo, et clique sur le lien fourni,
- Soit un utilisateur peut revendiquer l'enregistrement, directement dans le menu de la plateforme vidéo.
- Dans les 2 cas, la vidéo est encodé et appartient à l'utilisateur concerné.
Le système de publication
Paramétrage côté enregistreur
Côté enregistreur, avant de réaliser une publication de vidéos vers un serveur FTP, il est nécessaire de réaliser la configuration adéquate, à savoir :
- le protocole à utiliser pour la copie du fichier vidéo,
- le nom,
- l'adresse du serveur
- le login du compte, qui a les droits de déposer le fichier vidéo sur le serveur Pod,
- le mot de passe associé à ce compte,
- le répertoire par défaut, sur le serveur Pod, dans lequel les fichiers vidéos seront transférés,
Par exemple, voici à quoi ressemble cet écran de paramétrage pour un enregistreur de type MultiCAM Systems :
Paramétrage côté Pod
Côté Pod, il est également nécessaire de réaliser le paramétrage via :
Le fichier de configuration custom/settings_local.py
Plusieurs propriétés sont indispensables pour le paramétrage dans le fichier de configuration :
- ALLOW_MANUAL_RECORDING_CLAIMING : permet d'activer, ou non, la revendication d'un enregistrement.
Si la valeur est à True, les utilisateurs auront accès à la revendication dans le menu de profil.
- ALLOW_RECORDER_MANAGER_CHOICE_VID_OWNER : permet à un gestionnaire d'enregistreur d'attribuer la vidéo publiée à un autre utilisateur.
- DEFAULT_RECORDER_ID : identifiant de l'enregistreur par défaut.
Utile si le plugin Recorder était déjà utilisé auparavant.
- DEFAULT_RECORDER_PATH : répertoire - de base - utilisé par les enregistreurs pour publier les vidéos
Chaque enregistreur devra publier les vidéos dans un sous-répertoire de ce répertoire de base (cf. explications ci-dessous).
- DEFAULT_RECORDER_TYPE_ID : identifiant du type de vidéo par défaut.
Il s'agit du type de la vidéo (Exemple : 3 pour Colloque/conférence, 4 pour Cours...) et non du type d'enregistrement.
- DEFAULT_RECORDER_USER_ID : identifiant de l'utilisateur, propriétaire des vidéos, par défaut.
- RECORDER_SKIP_FIRST_IMAGE : permet de ne pas prendre en compte la 1° image lors du traitement d'une fichier d'enregistrement de type AudioVideoCast.
- RECORDER_TYPE : type d'enregistrement de la vidéo publiée par l'enregistreur.
A l'heure actuelle, 2 types existent et sont traités :
- video = l'enregistreur envoie un fichier vidéo, au format MP4, sur le serveur FTP,
- audiovideocast = l'enregistreur envoie un fichier compressé, au format ZIP (normé et contenant la vidéo, un fichier SMIL, des images...), sur le serveur FTP.
##
# Recorder settings
#
ALLOW_MANUAL_RECORDING_CLAIMING = True
ALLOW_RECORDER_MANAGER_CHOICE_VID_OWNER = True
DEFAULT_RECORDER_ID = 1
DEFAULT_RECORDER_PATH = '/data/www/%userpod%/uploads/'
DEFAULT_RECORDER_TYPE_ID = 3
DEFAULT_RECORDER_USER_ID = 1
RECORDER_SKIP_FIRST_IMAGE = False
RECORDER_TYPE=(('video', _('Video')), ('audiovideocast', _('Audiovideocast')),)
L'interface d'administration
Après avoir fait la configuration adéquate et s'être connecté avec un compte super-utilisateur à l'interface d'administration, nous obtenons un menu Recorder supplémentaire :
Quelques informations concernant ce menu :
- Enregistrements : liste des enregistrements vidéos, publiés depuis le(s) enregistreur(s), traités et encodés.
- Enregistreurs : liste des enregistreurs disponibles.
- Fichiers d'enregistrement : liste des fichiers d'enregistrement, publiés via HTTP l'API Rest (et non en FTP).
- Traitements : liste des fichiers publiés depuis le(s) enregistreur(s) et traités par le CRON (cf. explications ci-dessous).
Techniquement, nous utilisons le modèle pod/recorder/models.py, classes Recorder, Recording et RecordingFileTreatment, et la page d'administration pod/recorder/admin.py.
Avant de réaliser une publication de vidéo, il est nécessaire de définir - à minima - un enregistreur :
Voici les informations utiles à la saisie d'un enregistreur :
- Nom.
- Description: facultative.
- Adresse IP : adresse IP de l'enregistreur (utile à des fins de sécurité, cf. explications ci-dessous).
- Hash : clé de hachage utile à des fins de sécurité, cf. explications ci-dessous).
- Utilisateur : gestionnaire de cet enregistreur. Ce gestionnaire recevra les mails et sera le propriétaire des vidéos publiées. Si aucun utilisateur n'est sélectionné, cet enregistreur utilisera le mode manuel d'assignation.
- Type : le type par défaut des vidéos publiées par cet enregistreur.
- Type d'enregistrement : type d'enregistrement qu'exporte cet enregistreur (à l'heure actuelle, Video ou AudioVideoCast).
- Répertoire de publication : correspond au répertoire de base contenant les vidéos publiées par l'enregistreur.



