Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Sommaire
maxLevel3

1. En local

Par défaut, l'application exécute les taches d'encodage et de transcription sur la même machine que celle sur laquelle elle tourne.

...

Pour configurer ces taches et leur executionexécution, vous pouvez vous reporter sur le fichier de configuration disponible à cette adresse :

 https://github.com/EsupPortail/Esup-Pod/blob/master/CONFIGURATION_FR.md#configuration-application-video-encodage-et-transcription

Pour configurer les taches ActivityPub, suivez Mise en place du protocole ActivityPub


Astuce
titleRedis

Dans le cas d'un usage déporté (en micro-service ou non), vous aurez besoin d'ouvrir l'accès à votre Redis. (voir page installation de Pod pour son installation).

Vous pouvez, soit le laisser sur le frontal web de Pod, soit l'installer sur une machine dédiée.

2. Déporté sur une machine distante

Vous pouvez déporter l'encodage, la transcription et le traitement de l'xAPI sur des environnements distants (VM ou Docker) avec soit un seul environnement pour les 3 taches, soit "n" environnements pour chaque tache.

...

3. Déporté sur une machine ou un docker en microservice

Depuis la version 3.4.0, il est possible de déporter l'encodage, la transcription et l'xAPI en micro-service. Ces micro-services sont autonome et ne nécessite pas de lien avec la base de données ou le moteur de recherche comme précédemment.

...

Chaque micro-service est lancé via une commance Celery.

3.1 Microservice Encodage


Astuce

Nous appellerons dans la suite de cette documentation, serveur Pod backend le serveur où la partie web serveur est installée et serveur Pod encodage le serveur où est déporté l'encodage

Pré-requis :

  • Il faut que votre répertoire "podv3" du serveur backend soit partagé entre vos serveurs (montage NFS par exemple)

Configuration sur le serveur Pod backend :

Dans le fichier settings_local.py

...

Bloc de code
languagepy
# Configuration Celery sur le frontal
USE_REMOTE_ENCODING_TRANSCODING = True
ENCODING_TRANSCODING_CELERY_BROKER_URL = "redis://redis:6379/5"


Installation sur le serveur d’encodage :

Installation des lib tierces

...

Bloc de code
languagebash
(django_pod3) pod@pod-encodage:/usr/local/django_projects/podv3$ celery -A pod.video_encode_transcript.encoding_tasks worker -l INFO -Q encoding --concurrency 1 -n encode


3.2 Microservice Transcodage


Astuce

Nous appellerons dans la suite de cette documentation, serveur Pod backend le serveur où la partie web serveur est installée et serveur Pod transcodage le serveur où est effectué le transcodage

Pré-requis :

  • Il faut que votre répertoire "podv3" du serveur backend soit partagé entre vos serveurs (montage NFS par exemple)

Configuration sur le serveur Pod backend :

Dans le fichier settings_local.py

...

Bloc de code
languagepy
# Configuration Celery sur le frontal
USE_REMOTE_ENCODING_TRANSCODING = True
ENCODING_TRANSCODING_CELERY_BROKER_URL = "redis://redis:6379/5"


Installation sur le serveur de transcodage:

Installation des lib tierces

...

Bloc de code
languagebash
(django_pod3) pod@pod-transcodage:/usr/local/django_projects/podv3$ celery -A pod.video_encode_transcript.transcripting_tasks worker -l INFO -Q transcripting --concurrency 1 -n transcript


3.2 Microservice xAPI


Astuce

Nous appellerons dans la suite de cette documentation, serveur Pod backend le serveur où la partie web serveur est installée et serveur Pod xAPI le serveur où est effectué le traitement xAPI

Pré-requis :

  • Il faut que votre répertoire "podv3" du serveur backend soit partagé entre vos serveurs (montage NFS par exemple)

Configuration sur le serveur Pod backend :

Dans le fichier settings_local.py

...

Bloc de code
languagepy
USE_XAPI = True
XAPI_ANONYMIZE_ACTOR = False
XAPI_LRS_LOGIN = "XXXX"
XAPI_LRS_PWD = "XXXXX"
XAPI_LRS_URL = "http://xapi.univ.fr/xAPI/statements/"
USE_XAPI_VIDEO = True
XAPI_CELERY_BROKER_URL = "redis://redis:6379/6"


Installation sur le serveur de traitement xAPI:

Installation des lib python (dans un environnement virtuel) et oui, c'est le même requirement que pour l'encodage

...

Bloc de code
languagebash
(django_pod3) pod@pod-transcodage:/usr/local/django_projects/podv3$ celery -A pod.xapi.xapi_tasks worker -l INFO -Q xapi --concurrency 1 -n xapi


4. Monitoring

Pour monitorer la liste des encodages en cours ou en attente, vous pouvez utiliser l'outil celery en ligne de commande.

...