À propos du projet

FunClip est une application automatisée de transcription vidéo, de génération de sous-titres et de découpage. Elle s'exécute localement via une interface web Gradio et peut également être utilisée en ligne de commande. Le flux de travail consiste à télécharger une vidéo, exécuter la reconnaissance vocale, inspecter la transcription et les étiquettes de locuteurs, choisir un ou plusieurs segments de texte, puis exporter le clip vidéo correspondant avec des sous-titres facultatifs. Capacités principales - Reconnaissance vocale vidéo utilisant les modèles Paraformer basés sur FunASR, y compris la prédiction d'horodatage pour le découpage basé sur le texte. - Prise en charge des mots-clés via SeACo-Paraformer pour améliorer la reconnaissance de noms, entités ou autres termes spécifiés. - Reconnaissance des locuteurs avec CAM++, permettant de sélectionner des clips par un identifiant de locuteur attribué automatiquement. - Découpage multi-segments à partir de la transcription reconnue. - Génération de sous-titres SRT pour toute la vidéo et pour les segments cibles sélectionnés. - Rendu de sous-titres intégré avec Pillow et une police incluse ; ImageMagick n'est nécessaire que pour les flux de travail hérités de TextClip de MoviePy. Chemins de modèles disponibles - Configuration Paraformer par défaut pour le découpage vidéo en chinois. - Reconnaissance Paraformer en anglais utilisant l'option de langue anglaise. - Fun-ASR-Nano comme option de point de contrôle plus précise. - SenseVoice pour la reconnaissance vocale multilingue avec étiquettes d'émotion et d'événements audio. - MOSS-Transcribe-Diarize en option via un service vLLM local pour la transcription longue, les horodatages au niveau des segments et les étiquettes de locuteurs anonymes. MOSS effectue la segmentation et la diarisation de bout en bout ; la documentation note qu'un découpage précis de texte arbitraire nécessite toujours les horodatages de jetons de Paraformer. Sélection assistée par IA et sensible au contenu FunClip peut utiliser un LLM pour analyser la transcription et proposer des segments de clip, qui sont ensuite transmis au flux de travail de clip IA existant. OrcaRouter peut être configuré comme passerelle compatible OpenAI en option à l'aide d'une clé API et de variables d'environnement. Pour une sélection basée sur le visuel et l'audio plutôt que sur le texte de transcription seul, TwelveLabs Pegasus peut être activé en option ; il nécessite le paquet twelvelabs et une clé API. Options d'utilisation Le service Gradio local est lancé avec Python et est normalement accessible à localhost:7860. Il prend en charge les options de lancement de port et d'accès public. Les utilisateurs peuvent également essayer le projet via ses espaces ModelScope ou Hugging Face. Pour une utilisation en ligne de commande, FunClip propose un processus en deux étapes : d'abord reconnaître la vidéo et écrire les sorties de transcription/SRT, puis exécuter l'étape de découpage avec le texte de destination, les décalages et un fichier de sortie. Installation et licence La configuration documentée utilise un environnement virtuel Python 3.12, une installation PyTorch/torchaudio compatible avec la plateforme et les exigences du projet. FunClip nécessite actuellement funasr>=1.4.9 pour ses chemins de compatibilité de modèles et de sous-titres. Les poids des modèles sont téléchargés séparément lors de la première utilisation et sont régis par leurs licences de modèles respectives. Le code source de FunClip est publié sous licence MIT.