SDS Manager
Documentation
Documentation/Video Mining

🎬Video Mining

Traitez les vidéos collectées en trois étapes : transcription audio (WhisperX), détection automatique des scènes visuelles, puis extraction des images clés (keyframes) représentatives de chaque scène.

Transcription vidéo

WhisperX

Objectif

Transcrire la piste audio des vidéos d'une importation en texte, avec détection automatique de la langue et découpage en segments temporels.

Prérequis

  • Avoir collecté des vidéos via un scrapper (TikTok, YouTube, etc.) dans une importation.

Étapes

  1. 1

    Dans la section 1. Importation cible, sélectionnez la cible :

    ChampDescriptionExemple
    ClientOrganisation propriétaire des données.Sopra Steria
    ProjetProjet contenant l'importation vidéo.Analyse TikTok Q3 2025
    ImportationImportation contenant les vidéos à transcrire.#42 Collecte TikTok — FR-fr
  2. Alternative : renseignez directement des URLs GCS (`gs://…`) ou des IDs de documents dans la section Filtres pour cibler des vidéos précises sans passer par une importation.
  3. 2

    Dans la section 2. Filtres, restreignez les vidéos à traiter (optionnel) :

    ChampDescriptionExemple
    Date de début / Date de finPlage de dates de publication des vidéos.2025-01-01 / 2025-03-31
    URLs GCS des vidéosListe d'URLs Google Cloud Storage (mode direct, remplace l'importation_id).gs://mon-bucket/video1.mp4
    IDs de documents vidéoListe d'IDs numériques de documents (remplace l'importation_id).12, 34, 56
  4. 3

    Dans la section 3. Orchestration, activez optionnellement Déclencher automatiquement la sélection de keyframes après transcription (`auto_select_keyframes`). Si activé, renseignez :

    ChampDescriptionExemple
    Analyse scènes (scenes_analyse_id)Analyse contenant les résultats de détection de scènes.#7 — Scènes TikTok Q3
    Analyse keyframes (keyframes_analyse_id)Analyse de destination pour les keyframes.#8 — Keyframes TikTok Q3
  5. 4

    Dans la section 4. Paramètres avancés, ajustez si nécessaire :

    ChampDescriptionExemple
    Modèle (whisperx_model)Modèle WhisperX à utiliser. `turbo` offre le meilleur compromis vitesse/qualité (défaut). `large` est plus précis mais plus lent.turbo
    DeviceMatériel d'inférence. `auto` détecte automatiquement GPU ou CPU. `cuda` force le GPU NVIDIA.auto
    Langue forcée (transcription_language)Code de langue ISO 639-1. Laisser vide pour laisser WhisperX détecter automatiquement.fr
    Langues prioritaires en cache (priority_languages)Langues maintenues en cache pour l'alignement (sélection multiple). Utile pour les corpus multilingues.fr, en
    Ignorer les fichiers non-vidéo (transcribe_only_video)Si activé, seuls les fichiers .mp4, .avi, .mov, .mkv, .webm sont traités.activé
    Taille des batches (batch_size)Nombre de documents par tâche Cloud Tasks. Réduire si les tâches expirent.64
    Forcer le retraitement (force_all)Si activé, retranscrit même les vidéos déjà traitées. À utiliser pour corriger un traitement précédent.désactivé
  6. 5

    Dans la barre latérale Quand lancer ?, choisissez le mode d'exécution puis cliquez sur Lancer la transcription.

Schéma

Molette pour zoomer · Cliquer-glisser pour naviguer

✓ Résultat attendu

Un Job ID est affiché. Les transcriptions sont enregistrées dans la base de données, associées aux documents vidéo de l'importation. Si `auto_select_keyframes` était activé, la sélection de keyframes démarre automatiquement.

Erreurs fréquentes

ErreurCause probableSolution
La date de début doit être antérieure à la date de fin.La date de début est identique ou postérieure à la date de fin.Corrigez les dates pour que la date de début soit strictement antérieure à la date de fin.
scenes_analyse_id et keyframes_analyse_id sont requis si auto_select_keyframes est activé.L'option auto_select_keyframes est cochée mais les deux analyses de destination ne sont pas renseignées.Sélectionnez une analyse de scènes et une analyse de keyframes dans la section Orchestration.

Détection des scènes

Objectif

Découper automatiquement chaque vidéo en scènes visuellement distinctes, en détectant les changements de plan par analyse différentielle d'images.

Prérequis

  • Avoir collecté des vidéos dans une importation.
  • Avoir créé au moins une analyse de type scènes pour le projet (via « Créer une analyse »).

Étapes

  1. 1

    Dans la section 1. Importation & analyse cibles, sélectionnez la cible :

    ChampDescriptionExemple
    ClientOrganisation propriétaire des données.Opsci
    ProjetProjet contenant l'importation vidéo.Analyse YouTube Actualités
    ImportationImportation contenant les vidéos à analyser.#15 Collecte YouTube — WW-fr
    Analyse scènes (scenes_analyse_id)Analyse de destination pour les scènes détectées. Créez-en une via « Créer une analyse » si la liste est vide.#3 — Scènes YouTube Actualités
  2. 2

    Dans la section 2. Filtres, restreignez les vidéos à traiter (optionnel) :

    ChampDescriptionExemple
    Date de début / Date de finPlage de dates de publication.2025-06-01 / 2025-06-30
    URLs GCS des vidéosURLs gs:// pour cibler des vidéos précises (remplace importation_id).gs://bucket/vid.mp4
    IDs de documents vidéoIDs numériques explicites (remplace importation_id).101, 102, 103
  3. 3

    Dans la section 3. Orchestration, activez optionnellement la chaîne automatique :

    ChampDescriptionExemple
    Déclencher automatiquement la transcription vidéo après détection (auto_transcribe)Lance le job de transcription WhisperX dès que la détection de scènes est terminée.activé
    Déclencher automatiquement la sélection de keyframes après transcription (auto_select_keyframes)Disponible uniquement si auto_transcribe est activé. Lance l'extraction de keyframes à la suite.activé
    Analyse keyframes (keyframes_analyse_id)Analyse de destination pour les keyframes (requis si auto_select_keyframes).#4 — Keyframes YouTube
  4. 4

    Dans la section 4. Paramètres avancés, ajustez les seuils de détection :

    ChampDescriptionExemple
    Durée minimale d'une scène (min_scene_duration)Durée minimale en secondes en dessous de laquelle une scène est fusionnée avec la précédente. Défaut : 2.0 s.2.0
    Seuil de sensibilité (visual_disctinct_threshold)Score de différence visuelle entre 0 et 100 au-delà duquel un nouveau plan est détecté. Plus la valeur est faible, plus la détection est sensible. Défaut : 30.0.30.0
    Taille des batches (batch_size)Nombre de documents par tâche Cloud Tasks. Défaut : 64.64
    Forcer le retraitement (force_all)Réanalyse même les vidéos déjà traitées.désactivé
  5. 5

    Cliquez sur Lancer la détection dans la barre latérale.

Schéma

Molette pour zoomer · Cliquer-glisser pour naviguer

✓ Résultat attendu

Un Job ID est affiché. Les scènes détectées sont stockées dans l'analyse sélectionnée. Si la chaîne automatique était activée, la transcription (et optionnellement les keyframes) démarre en cascade.

Erreurs fréquentes

ErreurCause probableSolution
La date de début doit être antérieure à la date de fin.Les dates sont incohérentes.Corrigez les dates.
Doit être supérieur à 0.La durée minimale de scène est à zéro ou négative.Saisissez une valeur positive pour min_scene_duration (ex. 2.0).
Doit être entre 0 et 100.Le seuil de sensibilité est hors plage.Saisissez une valeur entre 0 et 100 pour visual_disctinct_threshold.

Extraction des keyframes

Objectif

Sélectionner les images représentatives (keyframes) de chaque scène vidéo, en combinant un filtrage histogramme et un modèle CLIP pour retenir les frames les plus visuellement distinctives.

Prérequis

  • Avoir exécuté la détection de scènes sur l'importation (une analyse de scènes doit exister).
  • Avoir créé une analyse de type keyframes pour le projet.

Étapes

  1. 1

    Dans la section 1. Importation & analyses cibles, sélectionnez les trois éléments requis :

    ChampDescriptionExemple
    Client / Projet / ImportationSélecteurs en cascade — même logique que les autres pages video mining.Sopra Steria > Analyse TikTok > #42
    Analyse scènes (scenes_analyse_id)Analyse contenant les scènes précédemment détectées (vecteurs CLIP). Requis.#7 — Scènes TikTok Q3
    Analyse keyframes (keyframes_analyse_id)Analyse de destination pour stocker les keyframes extraites. Requis.#8 — Keyframes TikTok Q3
  2. 2

    Dans la section 2. Filtres, restreignez les vidéos à traiter (optionnel) :

    ChampDescriptionExemple
    Date de début / Date de finPlage de dates de publication.2025-01-01 / 2025-06-30
    IDs de documents vidéoIDs numériques explicites (remplace importation_id).55, 56, 57
  3. 3

    Dans la section 3. Sélection des keyframes, configurez le nombre de frames retenues par scène :

    ChampDescriptionExemple
    Min. keyframes / scène (min_keyframes)Nombre minimum de keyframes conservées par scène, même si elles se ressemblent. Défaut : 3.3
    Max. keyframes / scène (max_keyframes_per_scene)Nombre maximum de keyframes conservées par scène. Défaut : 10.10
  4. 4

    Dans la section 4. Paramètres avancés, configurez les méthodes de filtrage :

    ChampDescriptionExemple
    Filtrage histogramme (use_histo)Active le filtre Bhattacharyya pour éliminer les frames trop similaires en couleur. Recommandé.activé
    Sélection CLIP (use_clip)Active la sélection sémantique par embeddings CLIP pour retenir les frames les plus distinctives.activé
    Seuil histogramme Bhattacharyya (visually_distinct_frame_threshold)Distance entre 0 et 1 en dessous de laquelle deux frames sont considérées identiques. Défaut : 0.10.0.10
    FPS cible (target_fps)Taux d'échantillonnage des frames avant filtrage. Réduire pour accélérer sur des vidéos longues. Défaut : 3.0.3.0
    Modèle CLIP (clip_model_name)Modèle OpenCLIP utilisé. `ViT-B-32` est le meilleur compromis vitesse/qualité/mémoire. `ViT-L-14` est plus précis mais lent.ViT-B-32
    Max. frames à décoder (max_frames_to_decode)Limite le nombre de frames décodées par vidéo. 0 = pas de limite. Défaut : 1000.1000
    DeviceMatériel d'inférence. `cpu` par défaut (stable). `cuda` pour GPU NVIDIA. `auto` pour détection automatique.cpu
    Taille des batches (batch_size)Documents par tâche Cloud Tasks. Défaut : 64.64
    Forcer le retraitement (force_all)Réextrait même les keyframes déjà calculées.désactivé
  5. 5

    Cliquez sur Lancer l'extraction dans la barre latérale.

✓ Résultat attendu

Un Job ID est affiché. Les keyframes sélectionnées sont enregistrées dans l'analyse de keyframes choisie et stockées dans le bucket GCS `videos-keyframes`.

Erreurs fréquentes

ErreurCause probableSolution
La date de début doit être antérieure à la date de fin.Les dates sont incohérentes.Corrigez les dates.