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.

Sommaire

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.

...

  1. 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,
  2. Une fois la copie réalisée, un script - qui s'exécute régulièrement grâce à la mise en place d'un CRON - traite ce fichier vidéo.
  3. Selon le paramétrage en lien avec l'enregistreur, il existe 2 possibilités, à savoir :
    1. 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,
    2. Soit un utilisateur peut prévisualiser et revendiquer l'enregistrement, directement dans le menu de la plateforme vidéo.
  4. 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 :

...

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 : si True, un lien apparaîtra dans le menu du profil de l'utilisateur autorisé permettant de s'attribuer un enregistrement.

  • ALLOW_RECORDER_MANAGER_CHOICE_VID_OWNER : si True, le gestionnaire de l'enregistreur pourra choisir un propriétaire de l'enregistrement.

  • DEFAULT_RECORDER_ID : ajoute un enregistreur par défaut à un enregistrement non identifiable (mauvais chemin dans le dépôt FTP).
    (avertissement) 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
    (avertissement) 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 (si non spécifié).
    (avertissement)(avertissement) 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 du propriétaire par défaut (si non spécifié) des enregistrements déposés.

  • 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 :

...

  • USE_RECORD_PREVIEW : utiliser ou non la prévisualisation des fichiers sources des enregistrements dans l'interface de revendication.

  • SELF_REQUESTS_PROXIES : Défini les proxy http et https qui seront utilisés pour la requête sur l'application en elle même. Par défaut on force la non utilisation de proxy

  • ALLOW_INSECURE_REQUESTS : Autoriser la requête sur l'application en elle même sans vérifier le certificat SSL

  • BASE_URL : sera nécessaire au cron job CRON (ci-dessous) afin d'envoyer la notification

Bloc de code
languagepy
titleExemple de paramétrage
##
# 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')),)
USE_RECORD_PREVIEW = False
PUBLIC_RECORD_DIR = 'records'
SELF_REQUESTS_PROXIES = { "http": None, "https": None}
ALLOW_INSECURE_REQUESTS = False
BASE_URL = 'https://pod.univ.fr/'


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 :

...

  • 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.

Communication entre l'enregistreur et Pod

L'enregistreur réalise une copie du fichier vidéo (ce qui peut-être long selon la taille de la vidéo) sur le serveur FTP paramétré, dans le répertoire de publication défini. Ce répertoire doit être positionné dans DEFAULT_RECORDER_PATH.

...

A ce niveau là, la publication de la vidéo par l'enregistreur est terminée : le fichier vidéo a été déposé sur le serveur Pod, dans un répertoire bien précis.

Prise en compte de la vidéo sur 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.

...

  1. Scanne l'arborescence et identifie les nouveaux fichiers vidéos transférés complètement ((ampoule)grâce à l'utilisation de la table recorder_recordingfiletreatment et de la taille du fichier).
  2. Vérifie que ce fichier vidéo est positionné pour un enregistreur connu ((ampoule)grâce au répertoire de publication défini précédemment).
  3. Selon le paramétrage de l'enregistreur :
    1. Soit envoie une notification au gestionnaire de l'enregistreur,
    2. Soit laissera les utilisateurs s'assigner cette vidéo via la revendication d'enregistrement.

La notification et l'ajout par le gestionnaire de l'enregistreur


Avertissement
Cas d'un enregistreur paramétré avec un gestionnaire.


La notification

Pour permettre la notification au gestionnaire de l'enregistreur, le script va réaliser une requête HTTPS vers l'adresse suivante :

...


(avertissement) Le lien présent dans cet email dépend de la configuration du CAS (USE_CAS) dans le fichier custom/settings_local.py.

L'ajout de la vidéo

Une fois l'email reçu, l'utilisateur concerné devra cliquer sur le lien dans cet email.

...

(ampoule)Techniquement, nous utilisons le modèle pod/recorder/models.py, classes Recorder, Recording et RecordingFileTreatment, ainsi  que la fonction process_recording().
Cette dernière utilise le plugin pod/recorder/plugins/type_audiovideocast.py ou pod/recorder/plugins/type_video.py qui permet la copie des slides (dans le cas de type_audiovideocast.py), ainsi que le traitement et l'encodage de la vidéo publiée par l'enregistreur.

La revendication de l'enregistrement


Avertissement
Cas d'un enregistreur paramétré sans gestionnaire et avec utilisation de ALLOW_MANUAL_RECORDING_CLAIMING = True

...

Le fait de revendiquer un enregistrement affiche la liste de toutes les vidéos non attribuées :

(info)(info) Un utilisateur de type "superadmin" peut, si nécessaire, supprimer des enregistrements à partir de cette interface.

(info)(info) Si le mode de prévisualisation est activé un bouton apparaît (l’œil sur la capture) pour afficher une fenêtre qui va lire la vidéo source si le format est supporté.

...

Le fait de sauvegarder ce formulaire permet le traitement et l'encodage du fichier fourni par l'enregistreur, et de se l'affecter.

Le suivi des vidéos publiées

Une fois les vidéos publiées par l'enregistreur et une fois traitées par Pod, il est possible de suivre ces enregistrements via le module Enregistrements, accessible dans l'interface d'administration.

...