github.com via Hacker News

claude-real-video : un LLM « regarde » une vidéo en local

anthropic open source ai-business

TL;DR

  • L'outil combine détection de changement de scène et déduplication par pixels RGB en fenêtre glissante pour ne retenir que les frames vraiment nouvelles.
  • La transcription passe d'abord par les sous-titres existants et ne bascule sur Whisper qu'en dernier recours, entièrement en local.
  • Le pipeline est compatible avec Claude, ChatGPT et Gemini indifféremment, sous licence MIT, sans upload cloud.

Le pitch est simple : un petit outil en ligne de commande qui transforme n'importe quelle vidéo en un paquet d'images-clés et d'une transcription, puis vous laisse coller le tout dans le chat de votre choix. Le dépôt claude-real-video sur GitHub résume l'idée d'une phrase : « Let Claude — or any LLM — actually watch a video. » Rien ne quitte la machine, aucun service tiers n'est appelé pour l'analyse.

La sélection des frames est là où le projet mérite qu'on s'y attarde. Plutôt qu'un échantillonnage à intervalle fixe, l'outil combine une détection de changement de scène et un « density floor » qui garantit au moins une frame toutes les N secondes, de quoi couvrir aussi bien un montage rythmé qu'un screencast statique. Les doublons sont écartés par comparaison directe des pixels en RGB downscalé, explicitement pas un perceptual hash, contre une fenêtre glissante des dernières frames retenues. L'audio est traité en priorité via les sous-titres existants (SRT/VTT ou embarqués) et retombe sur Whisper uniquement quand il le faut. Un drapeau `--keep-audio` préserve la bande-son originale à part.

Pourquoi ça compte si vous n'écrivez pas de code vidéo tous les jours : les workflows d'analyse vidéo par LLM passent aujourd'hui presque toujours par un upload chez un fournisseur cloud, ce qui bloque tout ce qui touche à des dossiers médicaux, juridiques ou internes. Un pipeline entièrement local avec Python 3.10+, FFmpeg et un Whisper optionnel remet ce cas d'usage sur la table, et le projet documente une compatibilité indifférente avec Claude, ChatGPT ou Gemini, sous licence MIT.

Le caveat honnête, c'est ce que le README ne fournit pas. Aucun benchmark de précision, aucun chiffre sur le temps de traitement d'une vidéo réelle, aucune comparaison avec les outils qui font déjà de la sélection de frames côté cloud. La qualité du résultat dépendra aussi du LLM branché derrière, un point que l'auteur ne cherche pas à masquer puisque l'outil se positionne explicitement comme un préprocesseur.

Ce qui vaut le coup d'œil, c'est moins l'outil isolé que le pattern qu'il illustre : externaliser la partie « vision » vers un préprocesseur local intelligent, et laisser le LLM ne faire que du raisonnement sur des frames déjà triées.