Aide-mémoire de la progression Vidéo
Récapitulatif des paliers de la progression Bonjour Forge Vidéo et des API du
module opt-in forge-mvc-video introduites à chaque étape.
Module opt-in
Toute cette progression suppose forge-mvc-video installé
(forge opt-in:install video). Le cœur de Forge reste autonome.
Niveau débutant — découvrir (lecture, sans ffmpeg)
| # |
Palier |
Ce qu'on apprend |
API-clé |
| 1 |
Bonjour Forge Vidéo |
Vérifier le module, inspecter la config (secret masqué) |
load_video_config |
| 2 |
Lister les vidéos |
Lire les dernières vidéos, rester pédagogique si la table manque |
VideoRepository.list_recent |
| 3 |
Le détail d'une vidéo |
Cibler une vidéo par UUID (trouvée / 404 / 503) |
get_by_uuid |
Niveau avancé — transcodage réel (ffmpeg requis)
| # |
Palier |
Ce qu'on apprend |
API-clé |
| 1 |
Sonder une vidéo |
Extraire les métadonnées d'une source (ffprobe) |
probe_video |
| 2 |
Transcoder une vidéo |
Worker de transcodage MP4 (ffmpeg) |
forge video:process, process_video |
| 3 |
Diagnostiquer le module Vidéo |
Vérifier la santé du module (dont ffprobe/ffmpeg) |
forge video:doctor, contrôles non invasifs |
Configuration (forge_mvc_video.config)
| Élément |
Usage |
load_video_config() |
Lire la configuration vidéo (binaires ffmpeg/ffprobe, racine de stockage, limites, token API) |
Un secret (token) est toujours masqué quand la config est sérialisée.
Stockage (forge_mvc_video.storage.repository)
| Élément |
Usage |
VideoRepository() |
Accès aux vidéos enregistrées (utilise core.database.db par défaut) |
repo.list_recent(limit=…) |
Dernières vidéos, ordre du plus récent |
repo.get_by_uuid(uuid) |
Une vidéo précise (ou None) |
repo.list_by_status(status, limit=…) |
Vidéos d'un statut du cycle de vie |
ingest_video(data, filename, title=…) |
Valider, stocker (UUID) et enregistrer une vidéo (sans ffmpeg) |
Lecture HTTP officielle (forge_mvc_video)
| Élément |
Usage |
register_video_routes(router) |
Brancher GET /videos/{uuid} (streaming Range) |
Transcodage & diagnostic (ffmpeg)
| Élément |
Usage |
probe_video(path, config=…) |
Sonder une source (ffprobe) → métadonnées |
forge video:process <id> / --pending (process_video) |
Worker : transcoder en MP4 (ffmpeg), avancer le statut |
forge video:doctor |
Diagnostic complet (paquet, config, migration, ffprobe, ffmpeg, --db) |
check_package_importable / check_config_loadable / check_migration_present / check_ffprobe_present / check_ffmpeg_present |
Contrôles de diagnostic non invasifs, réutilisables en app |