AutoCut: cortar video con subtítulos
AutoCut genera automáticamente subtítulos para tus videos. Luego, elige la oración que desea conservar y AutoCut cortará y guardará el segmento correspondiente en su video. No necesita usar un software de edición de video, solo edite el archivo de texto para completar el corte.
Ejemplo de uso
Suponga que su video grabado se coloca en 2022-11-04/
esta carpeta. entonces corre
autocut -d 2022-11-04
Sugerencia: si usa OBS para grabar la pantalla, puede cambiar el espacio
设置->高级->录像->文件名格式
a/
, es decir%CCYY-%MM-%DD/%hh-%mm-%ss
. Luego, los archivos de video se colocarán en la carpeta nombrada por fecha.
AutoCut continuará extrayendo y cortando subtítulos de videos en esta carpeta. Por ejemplo, acaba de terminar una grabación de video, guárdela en formato 11-28-18.mp4
. AutoCut generará 11-28-18.md
. Después de seleccionar la oración que desea conservar, AutoCut la cortará 11-28-18_cut.mp4
y generará 11-28-18_cut.md
una vista previa del resultado.
Puede utilizar cualquier editor de Markdown. Por ejemplo, a menudo uso VS Code y Typora. La imagen de abajo está 11-28-18.md
editada .
[Falló la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo anti-leeching, se recomienda guardar la imagen y subirla directamente (img-UmUqdopq-1681631536330)(imgs/typora.jpg)]
Una vez hecho todo, seleccione el video que se autocut.md
empalmará y AutoCut generará autocut_merged.mp4
el archivo de subtítulos correspondiente.
Instalar
Primero instale el paquete de Python
pip install git+https://github.com/mli/autocut.git
prueba de instalación local
git clone https://github.com/mli/autocut
cd autocut
pip install .
Lo anterior instalará pytorch . Si necesita GPU para ejecutarse y la versión instalada predeterminada no coincide, puede instalar Pytorch primero. Si tiene problemas para instalar Whipser, consulte la documentación oficial .
Además, necesitas instalar 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
Instalación de la ventana acoplable
Primero clone el proyecto localmente.
git clone https://github.com/mli/autocut.git
Instalar la versión de la CPU
Vaya al directorio raíz del proyecto y cree la imagen de la ventana acoplable.
docker build -t autocut .
Ejecute el siguiente comando para crear un contenedor docker, puede usarlo directamente.
docker run -it --rm -v E:\autocut:/autocut/video autocut /bin/bash
Entre ellos -v
está el E:\autocut
mapear la carpeta que almacena el video en el host al /autocut/video
directorio . E:\autocut
Es el directorio donde el host almacena los videos. Debe cambiarse al directorio donde el host almacena los videos.
Instalar la versión GPU
El uso de la aceleración de GPU requiere que el host tenga una tarjeta gráfica Nvidia e instale el controlador correspondiente. Luego, en el directorio raíz del proyecto, ejecute el siguiente comando para crear la imagen de la ventana acoplable.
docker build -f ./Dockerfile.cuda -t autocut-gpu .
Cuando se usa la aceleración de GPU, se deben agregar parámetros para ejecutar el contenedor docker --gpus all
.
docker run --gpus all -it --rm -v E:\autocut:/autocut/video autocut-gpu
Más opciones de uso
Transcribir un video para generar .srt
y .md
dar como resultado.
autocut -t 22-52-00.mp4
-
Si no está satisfecho con la calidad de la transcripción, puede utilizar un modelo más grande, p.
autocut -t 22-52-00.mp4 --whisper-model large
El valor predeterminado es
small
. Los mejores modelos sonmedium
ylarge
, pero se recomienda GPU para una mejor velocidad. Más rápidotiny
ybase
, pero la calidad de la transcripción se verá reducida.
cortar un video
autocut -c 22-52-00.mp4 22-52-00.srt 22-52-00.md
-
La tasa de bits de video predeterminada es
--bitrate 10m
, puede aumentarla o disminuirla según sea necesario. -
Si no está acostumbrado a los archivos de formato Markdown, también puede eliminar oraciones innecesarias directamente en
srt
el archivo y simplemente no pasarmd
el nombre del archivo al cortar. eso esautocut -c 22-52-00.mp4 22-52-00.srt
-
Si solo existe
srt
el archivo y no es conveniente editarlo, puede usar el siguiente comando para generarmd
el archivo y luegomd
editarlo , pero en este momento sesrt
generará completamente de acuerdo con y no aparecerá ningún texto de solicitudno speech
como .autocut -m test.srt test.mp4 autocut -m test.mp4 test.srt # 支持视频和字幕乱序传入 autocut -m test.srt # 也可以只传入字幕文件
algunos consejos
- Las transcripciones de videos fluidos serán de mayor calidad debido a la distribución de datos de entrenamiento de Whisper. Para un video, puede seleccionar aproximadamente la oración primero y luego cortarla nuevamente en el video cortado.
Los subtítulos generados a partir del video final a menudo requieren una pequeña edición. Puede editarmd
el archivo directamente (srt
más compacto que el archivo, con video incrustado). Luego useautocut -s 22-52-00.md 22-52-00.srt
para generar subtítulos actualizados22-52-00_edited.srt
. Tenga en cuenta que si la oración está seleccionada o no, se ignorará aquí, pero todo se convertirá asrt
.- Los subtítulos generados a partir del video final a menudo requieren una pequeña edición. Pero hay demasiadas líneas en blanco
srt
dentro . Puede usarautocut -s 22-52-00.srt
para generar una versión compacta22-52-00_compact.srt
para facilitar la edición (este formato no es legal, pero los editores, como VS Code, seguirán resaltando la sintaxis). Cuando finalice la edición,autocut -s 22-52-00_compact.srt
vuelva al formato normal. - Es muy conveniente editar Markdown con Typora y VS Code. Todos ellos tienen teclas de acceso directo correspondientes para marcar una o más líneas. Pero parece que hay algo mal con la vista previa del video de VS Code.
- El video se exporta a través de ffmpeg. En el chip Apple M1, no puede usar la GPU, lo que resulta en una exportación más lenta que el software de video profesional.
problema comun
-
¿La salida tiene caracteres ilegibles?
La codificación de salida predeterminada de AutoCut es
utf-8
Asegúrese de que su editor también useutf-8
la codificación . Puede--encoding
especificar . Sin embargo, debe tenerse en cuenta que el formato de codificación al generar archivos de subtítulos y al usar la edición de archivos de subtítulos debe ser coherente. Por ejemplo usagbk
.autocut -t test.mp4 --encoding=gbk autocut -c test.mp4 test.srt test.md --encoding=gbk
Si se utilizan otros formatos de codificación (como
gbk
etc.md
para generar un archivo y se abre con Typora, Typora puede transcodificar automáticamente el archivo a otros formatos de codificación. En este momento, al editar con el formato de codificación especificado en el momento de la generación , es posible que la codificación no sea compatible. Espere un error. Por lo tanto, después de editar con Typora, puede modificarlo al formato de codificación que necesita a través de VSCode, guardarlo y luego usar la función de edición. -
¿Cómo usar la GPU para transcribir?
Cuando tiene una GPU Nvidia y está instalada la versión correspondiente de PyTorch, la transcripción se realiza en la GPU. Puede usar el comando para verificar si GPU es compatible actualmente.
python -c "import torch; print(torch.cuda.is_available())"
De lo contrario, puede instalar manualmente la versión PyTorch de GPU correspondiente antes de instalar AutoCut.
-
Al usar la GPU, se informa un error de que la memoria de video no es suficiente.
El modelo grande de susurro requiere una cierta cantidad de memoria GPU. Si no tiene suficiente memoria de video, puede usar un modelo más pequeño, por ejemplo
small
, . Si aún desea usar modelos grandes, puede forzar el uso de la CPU--device
con . Por ejemploautocut -t 11-28-18.mp4 --whisper-model large --device cpu
-
¿Se puede
pip
instalar ?Debido a que el susurro de dependencia de AutoCut no se ha publicado en PyPI, por lo que solo se puede publicar de
pip install git+https://github.com/mli/autocut.git
esta . Los estudiantes que lo necesiten pueden verificar si el modelo de susurro se puede descargar directamente desde el hub huggingface, para deshacerse de la dependencia del paquete susurro.
Dirección del proyecto: https://github.com/mli/autocut/blob/main/README.md