Application permettant d'extraire automatiquement les moments forts d'un podcast à partir d'un fichier de sous-titres SRT. Elle identifie les passages importants, permet de les éditer, et génère des scripts pour découper la vidéo avec sous-titres incrustés.
- Interface web intuitive pour télécharger et traiter les fichiers SRT
- Extraction intelligente des moments forts basée sur plusieurs critères :
- Longueur des passages
- Mots-clés spécifiques
- Analyse de sentiment
- Détection de changements de sujet
- Regroupement des sous-titres en passages cohérents et plus longs
- Édition manuelle des citations extraites
- Génération automatique de scripts de découpage vidéo
- Incrustation de sous-titres dans les segments vidéo
- Exportation multi-formats : texte, JSON, SRT, scripts FFmpeg
- Python 3.6+
- Flask et ses dépendances
- Module
srtpour le traitement des sous-titres - Module
textblobpour l'analyse de sentiment (optionnel) - FFmpeg (optionnel, pour le découpage vidéo)
- Cloner le dépôt :
git clone https://github.com/votre-utilisateur/extracteur-citations-podcasts.git
cd extracteur-citations-podcasts- Créer et activer un environnement virtuel :
python -m venv venv
source venv/bin/activate # Sur Windows: venv\Scripts\activate- Installer les dépendances :
pip install -r requirements.txt- Configurer les variables d'environnement :
# Créer un fichier .env avec les variables suivantes
FLASK_APP=app.py
FLASK_ENV=development
SECRET_KEY=votre_cle_secreteL'application peut être utilisée de deux façons différentes :
L'interface web offre une expérience complète avec prévisualisation vidéo et édition des extraits.
- Démarrer l'application :
flask run-
Ouvrir un navigateur et accéder à
http://localhost:5000 -
Télécharger un fichier SRT et configurer les paramètres d'extraction
-
Consulter les résultats et éditer les extraits dans l'interface
-
Télécharger votre vidéo complète dans l'éditeur pour prévisualiser les extraits
-
Générer tous les extraits directement depuis l'interface web
Cette méthode génère uniquement les scripts FFmpeg que vous devrez exécuter manuellement.
python extract_srt_quotes.py votre_fichier.srt [options]Options disponibles :
-o,--output: Fichier de sortie (par défaut: quotes_output.txt)-n,--number: Nombre de citations à extraire (par défaut: 10)-l,--min-length: Longueur minimale des citations (par défaut: 120)-k,--keywords: Mots-clés à rechercher dans les sous-titres-f,--ffmpeg: Générer un fichier de découpage pour FFmpeg-p,--padding: Padding en secondes pour les segments vidéo (par défaut: 1)-j,--json: Exporter les données au format JSON-s,--sentiment: Utiliser l'analyse de sentiment-t,--topic-detection: Détecter les changements de sujet-g,--group-subtitles: Regrouper les sous-titres en passages cohérents-m,--max-gap: Écart maximal entre sous-titres pour le regroupement (par défaut: 3.0)--no-subtitles: Ne pas incruster les sous-titres dans les segments vidéo
- Télécharger les sous-titres SRT depuis YouTube ou autre service
- Importer le fichier SRT dans l'application web
- Configurer les options d'extraction selon vos besoins
- Analyser le contenu et visualiser les citations extraites
- Éditer manuellement les citations pour améliorer leur qualité
- Télécharger votre vidéo complète dans l'éditeur
- Prévisualiser et ajuster les extraits avec le lecteur vidéo intégré
- Personnaliser les options de sous-titres (police, taille, couleur)
- Générer tous les extraits en un clic directement depuis l'interface
- Télécharger les sous-titres SRT depuis YouTube ou autre service
- Exécuter le script Python avec les options souhaitées
- Éditer manuellement le fichier de sortie si nécessaire
- Exécuter le script FFmpeg généré pour découper votre vidéo
- Utiliser les segments vidéo pour créer des capsules pour les réseaux sociaux
L'application utilise plusieurs critères pour identifier les moments forts :
- Longueur du passage : Les passages plus longs sont souvent plus substantiels
- Mots-clés : Passages contenant des mots-clés spécifiés par l'utilisateur
- Analyse de sentiment : Passages avec une forte charge émotionnelle (positive ou négative)
- Changement de sujet : Points où la conversation change de direction
Pour créer des passages plus cohérents et plus longs, l'application peut regrouper les sous-titres consécutifs en fonction de :
- L'écart temporel entre les sous-titres (configurable)
- La longueur maximale du passage (pour éviter des extraits trop longs)
L'interface d'édition permet de :
- Corriger les erreurs de transcription
- Améliorer la lisibilité du texte
- Supprimer les hésitations et répétitions
- Générer un fichier SRT propre des citations sélectionnées
Le script FFmpeg généré peut automatiquement incruster les sous-titres dans les segments vidéo extraits, ce qui les rend immédiatement utilisables pour les réseaux sociaux.
Pour contribuer au développement de cette application :
- Forker le dépôt
- Créer une branche pour votre fonctionnalité (
git checkout -b nouvelle-fonctionnalite) - Committer vos changements (
git commit -am 'Ajout d'une nouvelle fonctionnalité') - Pousser vers la branche (
git push origin nouvelle-fonctionnalite) - Créer une Pull Request
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
- Développé pour les radios associatives et les créateurs de podcasts
- Utilise Flask, Bootstrap et d'autres bibliothèques open source