À propos du projet
Video Analyzer est un outil en ligne de commande permettant de générer des descriptions de contenu vidéo à partir d'informations visuelles et audio. Son pipeline comporte trois étapes principales : l'extraction d'images clés et le traitement audio, l'analyse image par image par vision, et la reconstruction finale de la vidéo.
L'analyseur utilise OpenCV pour sélectionner les images clés et OpenAI Whisper pour transcrire l'audio disponible, y compris des vérifications pour détecter une mauvaise qualité audio. Chaque image extraite est envoyée à un modèle de langage capable de vision, avec le contexte des images précédentes pour préserver la progression chronologique. Les analyses d'images et la transcription sont ensuite combinées en une description complète. Par défaut, l'inférence locale utilise Ollama avec le modèle Llama 3.2 Vision ; les utilisateurs peuvent également configurer n'importe quel point de terminaison compatible OpenAI, comme OpenAI ou OpenRouter, via des options CLI ou un fichier de configuration JSON.
Les fonctionnalités signalées incluent un fonctionnement entièrement local sans services cloud ni clés API, des API cloud optionnelles, des modèles Whisper et de vision configurables, des invites personnalisées, une sortie JSON détaillée contenant les métadonnées, la transcription, les analyses d'images et la description finale, ainsi qu'un système de configuration en cascade où les arguments de ligne de commande remplacent la configuration utilisateur et les valeurs par défaut.
Les prérequis incluent Python 3.11 ou plus récent et FFmpeg. Le README recommande une RAM importante et du matériel GPU/Apple Silicon pour l'exécution locale du LLM, tandis que l'utilisation via API évite ces exigences de modèle local. L'installation s'effectue en clonant le dépôt et en l'installant avec pip. Un package optionnel video-analyzer-tune peut optimiser les modèles d'invite à partir de sorties éditées représentatives en utilisant DSPy MIPROv2, en écrivant les invites optimisées dans des fichiers séparés. Le projet est publié sous licence Apache et comprend une documentation sur l'utilisation, la conception et les contributions.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.