Extraire les sous-titres d'une vidéo
Comment extraire les sous-titres brûlés dans une video ?
Conversion de la vidéo en images
- Une image par seconde
- Crop optimisé pour garder juste le bandeau France Info à partir d'une captation du flux TNT HD (1920x1080)
- en png pour ne pas ajouter d'artefact supplémentaire
1ffmpeg -y -i video.ts -vf fps=1 -vf crop=1680:160:120:890 pic_%04d.png
Créé des fichiers pic_0001.png
, pic_0002.png
, ...
Passage à l'OCR Tesseract
Sous MacOS
:
1brew install tesseract tesseract-lang
Lancement de la commande tesseract
:
1tesseract pic_0400.png pic_0400
Ceci crée un fichier pic_0400.txt
avec éventuellement un contenu texte issu de l'analyse OCR.
TODO
- Boucler sur tous les fichiers
- Timestamper les sous-titres, générer un
.srt
- Dédoublonner
- Benchmarker pour optimiser les performances
- Ménage des
.png
- Ménage des
.txt
Ressources
- https://trac.ffmpeg.org/wiki/Create%20a%20thumbnail%20image%20every%20X%20seconds%20of%20the%20video (conversion vidéo en images)
- https://blog.macuyiko.com/post/2017/note-to-self-using-tesseract-to-extract-subtitles.html (mini tuto tesseract)
- https://github.com/thiagoalessio/tesseract-ocr-for-php (wrapper php pour tesseract)
comments powered by Disqus