Le défi
Quand on regarde une vidéo YouTube, retrouver un moment précis est fastidieux. Imaginons : vous suivez une recette de pizza et vous voulez retrouver "à quelle température mettre le four ?". Il faut parcourir manuellement la timeline pour retrouver le bon passage.
La solution : recherche dans la vidéo
J'ai créé un outil qui permet de chercher dans une vidéo en décrivant ce qu'on cherche. Au lieu de parcourir 30 minutes de vidéo, on tape une requête et le système trouve le moment correspondant.
Comment ça marche ?
Le système combine deux sources d'information :
1. Transcription
- Utilisation prioritaire des sous-titres YouTube (quand disponibles)
- Sinon, transcription automatique avec Whisper
- Indexation du texte avec les timestamps
2. Analyse visuelle
- Extraction de frames représentatives
- Embeddings visuels avec SigLIP (modèle Google)
- Permet de trouver des moments basés sur ce qu'on voit, pas seulement ce qu'on entend
3. Recherche par similarité
- Indexation dans ChromaDB
- Requête textuelle convertie en embedding
- Retour des moments les plus similaires
Le principal défi
la détection de scènes. J'ai d'abord essayé PySceneDetect (détection de changements de plan), mais ça ne fonctionnait pas bien dans mon cas. J'ai donc développé un échantillonnage basé sur la similarité des embeddings, ce qui réduit les faux positifs.
Ce projet démontre
Mes compétences en traitement vidéo, embeddings multimodaux et recherche vectorielle. Le code est disponible sur GitHub si vous voulez l'explorer.