AutoCut : couper une vidéo avec des sous-titres
AutoCut génère automatiquement des sous-titres pour vos vidéos. Ensuite, vous choisissez la phrase que vous souhaitez conserver, et AutoCut coupera et enregistrera le segment correspondant dans votre vidéo. Vous n'avez pas besoin d'utiliser un logiciel de montage vidéo, modifiez simplement le fichier texte pour terminer la découpe.
Exemple d'utilisation
Supposons que votre vidéo enregistrée soit placée dans 2022-11-04/
ce dossier. puis cours
autocut -d 2022-11-04
Astuce : Si vous utilisez OBS pour enregistrer l'écran, vous pouvez modifier l'espace
设置->高级->录像->文件名格式
en/
, c'est-à-dire%CCYY-%MM-%DD/%hh-%mm-%ss
. Ensuite, les fichiers vidéo seront placés dans le dossier nommé par date.
AutoCut continuera d'extraire et de couper les sous-titres des vidéos de ce dossier. Par exemple, vous venez de terminer un enregistrement vidéo, enregistrez-le au format 11-28-18.mp4
. AutoCut générera 11-28-18.md
. Après avoir sélectionné la phrase que vous souhaitez conserver, AutoCut la découpera 11-28-18_cut.mp4
et la générera 11-28-18_cut.md
pour prévisualiser le résultat.
Vous pouvez utiliser n'importe quel éditeur Markdown. Par exemple, j'utilise souvent VS Code et Typora. L'image ci-dessous est 11-28-18.md
éditée .
[Le transfert d'image du lien externe a échoué, le site source peut avoir un mécanisme anti-leeching, il est recommandé d'enregistrer l'image et de la télécharger directement (img-UmUqdopq-1681631536330)(imgs/typora.jpg)]
Une fois que tout est terminé, sélectionnez la vidéo à autocut.md
coller et AutoCut produira autocut_merged.mp4
le fichier de sous-titres correspondant.
Installer
Installez d'abord le package Python
pip install git+https://github.com/mli/autocut.git
essai d'installation locale
git clone https://github.com/mli/autocut
cd autocut
pip install .
Ce qui précède installera pytorch . Si vous avez besoin d'un GPU pour fonctionner et que la version installée par défaut ne correspond pas, vous pouvez d'abord installer Pytorch. Si vous rencontrez des problèmes lors de l'installation de Whipser, veuillez vous reporter à la documentation officielle .
De plus, vous devez installer ffmpeg
# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg
# on Arch Linux
sudo pacman -S ffmpeg
# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg
# on Windows using Scoop (https://scoop.sh/)
scoop install ffmpeg
Installation Docker
Clonez d'abord le projet localement.
git clone https://github.com/mli/autocut.git
Installer la version du processeur
Allez dans le répertoire racine du projet et créez l'image docker.
docker build -t autocut .
Exécutez la commande suivante pour créer un conteneur Docker, vous pouvez l'utiliser directement.
docker run -it --rm -v E:\autocut:/autocut/video autocut /bin/bash
L'une d'entre elles -v
consiste à E:\autocut
mapper le dossier stockant la vidéo sur l'hôte vers /autocut/video
le répertoire . E:\autocut
Il s'agit du répertoire dans lequel l'hébergeur stocke les vidéos. Il doit être remplacé par le répertoire dans lequel l'hébergeur stocke les vidéos.
Installer la version GPU
L'utilisation de l'accélération GPU nécessite que l'hôte dispose d'une carte graphique Nvidia et installe le pilote correspondant. Ensuite, dans le répertoire racine du projet, exécutez la commande suivante pour créer l'image docker.
docker build -f ./Dockerfile.cuda -t autocut-gpu .
Lors de l'utilisation de l'accélération GPU, des paramètres doivent être ajoutés pour exécuter le conteneur Docker --gpus all
.
docker run --gpus all -it --rm -v E:\autocut:/autocut/video autocut-gpu
Plus d'options d'utilisation
Transcrire une vidéo pour générer .srt
et .md
résultat.
autocut -t 22-52-00.mp4
-
Si vous n'êtes pas satisfait de la qualité de la transcription, vous pouvez utiliser un modèle plus grand, par ex.
autocut -t 22-52-00.mp4 --whisper-model large
La valeur par défaut est
small
. Les meilleurs modèles sontmedium
etlarge
, mais le GPU est recommandé pour une meilleure vitesse. Plus rapidetiny
etbase
, mais la qualité de la transcription sera réduite.
couper une vidéo
autocut -c 22-52-00.mp4 22-52-00.srt 22-52-00.md
-
Le débit vidéo par défaut est
--bitrate 10m
, vous pouvez l'augmenter ou le diminuer selon vos besoins. -
Si vous n'êtes pas habitué aux fichiers au format Markdown, vous pouvez également supprimer les phrases inutiles directement dans
srt
le fichier , et ne pas transmettremd
le nom du fichier lors de la découpe. c'estautocut -c 22-52-00.mp4 22-52-00.srt
-
S'il n'y a que
srt
le fichier et qu'il n'est pas pratique de le modifier, vous pouvez utiliser la commande suivante pour générermd
le fichier, puis modifiermd
le fichier , mais à ce moment-là, il sera complètementsrt
généré selon , et aucun texte d'inviteno speech
tel .autocut -m test.srt test.mp4 autocut -m test.mp4 test.srt # 支持视频和字幕乱序传入 autocut -m test.srt # 也可以只传入字幕文件
quelques conseils
- Les transcriptions de vidéos fluides seront de meilleure qualité grâce à la distribution des données d'entraînement de Whisper. Pour une vidéo, vous pouvez d'abord sélectionner grossièrement la phrase, puis la couper à nouveau sur la vidéo coupée.
Les sous-titres générés à partir de la vidéo finale nécessitent souvent quelques modifications mineures. Vous pouvez éditermd
le fichier directement (srt
plus compact que le fichier, avec vidéo intégrée). Utilisez ensuiteautocut -s 22-52-00.md 22-52-00.srt
pour générer des sous-titres mis à jour22-52-00_edited.srt
. Notez que si la phrase est sélectionnée ou non sera ignorée ici, mais tout sera converti ensrt
.- Les sous-titres générés à partir de la vidéo finale nécessitent souvent quelques modifications mineures. Mais il y a trop de lignes vides
srt
à l'intérieur . Vous pouvez utiliserautocut -s 22-52-00.srt
pour générer une version compacte22-52-00_compact.srt
pour une édition facile (ce format n'est pas légal, mais les éditeurs, tels que VS Code, effectueront toujours la coloration syntaxique). Lorsque l'édition est terminée,autocut -s 22-52-00_compact.srt
revenez au formatage normal. - Il est très pratique d'éditer Markdown avec Typora et VS Code. Ils ont tous des touches de raccourci correspondantes pour marquer une ou plusieurs lignes. Mais il semble y avoir quelque chose qui ne va pas avec l'aperçu vidéo de VS Code.
- La vidéo est exportée via ffmpeg. Sur la puce Apple M1, il ne peut pas utiliser le GPU, ce qui entraîne une exportation plus lente que les logiciels vidéo professionnels.
Problème commun
-
La sortie est des caractères tronqués ?
L'encodage de sortie par défaut d'AutoCut est
utf-8
. Assurez-vous que votre éditeur utilise égalementutf-8
l'encodage . Vous pouvez--encoding
spécifier . Cependant, il convient de noter que le format d'encodage lors de la génération de fichiers de sous-titres et de l'utilisation de l'édition de fichiers de sous-titres doit être cohérent. Par exemple, utilisezgbk
.autocut -t test.mp4 --encoding=gbk autocut -c test.mp4 test.srt test.md --encoding=gbk
Si d'autres formats d'encodage (tels que
gbk
etc.md
pour générer un fichier et ouvert avec Typora, le fichier peut être automatiquement transcodé vers d'autres formats d'encodage par Typora. À ce stade, lors de l'édition avec le format d'encodage spécifié au moment de la génération , l'encodage n'est peut-être pas pris en charge. Attendez une erreur. Par conséquent, après l'avoir édité avec Typora, vous pouvez le modifier au format d'encodage dont vous avez besoin via VSCode, l'enregistrer, puis utiliser la fonction d'édition. -
Comment utiliser le GPU pour transcrire ?
Lorsque vous avez un GPU Nvidia et que la version correspondante de PyTorch est installée, la transcription se produit sur le GPU. Vous pouvez utiliser la commande pour vérifier si le GPU est actuellement pris en charge.
python -c "import torch; print(torch.cuda.is_available())"
Sinon, vous pouvez installer manuellement la version GPU correspondante de PyTorch avant d'installer AutoCut.
-
Lors de l'utilisation du GPU, une erreur est signalée indiquant que la mémoire vidéo n'est pas suffisante.
Le grand modèle de murmure nécessite une certaine quantité de mémoire GPU. Si vous n'avez pas assez de mémoire vidéo, vous pouvez utiliser un modèle plus petit, par exemple
small
. Si vous souhaitez toujours utiliser de grands modèles, vous pouvez forcer l'utilisation du processeur--device
avec . Par exempleautocut -t 11-28-18.mp4 --whisper-model large --device cpu
-
Peut-il être
pip
installé ?Parce que le murmure de dépendance d'AutoCut n'a pas été publié sur PyPI, il ne peut donc être publié que de
pip install git+https://github.com/mli/autocut.git
cette . Les étudiants qui en ont besoin peuvent vérifier si le modèle de chuchotement peut être téléchargé directement à partir du hub huggingface, afin de se débarrasser de la dépendance du package de chuchotement.
Adresse du projet : https://github.com/mli/autocut/blob/main/README.md