mli /autocut

用文本编辑器剪视频

★ 7,837⑂ 828👁 77⑃ 44● 88▤ 0
PythonCreated 2022-10-29
7,837
stars
+0+0+16
828
forks
77
watchers
44
prs
88
issues
0
releases
–
discussions

README

AutoCut: 通过字幕来剪切视频

AutoCut 对你的视频自动生成字幕。然后你选择需要保留的句子,AutoCut 将对你视频中对应的片段裁切并保存。你无需使用视频编辑软件,只需要编辑文本文件即可完成剪切。

2024.10.05更新:支持 large-v3-turbo 模型,提供更快的转录速度。

shell
autocut -t xxx --whisper-model large-v3-turbo


2024.03.10更新:支持 pip 安装和提供 import 转录相关的功能

shell
 Install
pip install autocut-sub


python
from autocut import Transcribe, load_audio



2023.10.14更新:支持 faster-whisper 和指定依赖(但由于 Action 限制暂时移除了 faster-whisper 的测试运行)

shell
 for whisper only
pip install .

 for whisper and faster-whisper
pip install '.[faster]'

 for whisper and openai-whisper
pip install '.[openai]'

 for all
pip install '.[all]'


shell
 using faster-whisper
autocut -t xxx --whisper-mode=faster


shell
 using openai api
export OPENAI_API_KEY=sk-xxx
autocut -t xxx --whisper-mode=openai --openai-rpm=3


2023.8.13更新:支持调用 Openai Whisper API
shell
export OPENAI_API_KEY=sk-xxx
autocut -t xxx --whisper-mode=openai --openai-rpm=3


 使用例子

假如你录制的视频放在 2022-11-04/ 这个文件夹里。那么运行

bash
autocut -d 2022-11-04


 提示:如果你使用 OBS 录屏,可以在 设置-高级-录像-文件名格式 中将空格改成 /,即 %CCYY-%MM-%DD/%hh-%mm-%ss。那么视频文件将放在日期命名的文件夹里。

AutoCut 将持续对这个文件夹里视频进行字幕抽取和剪切。例如,你刚完成一个视频录制,保存在 11-28-18.mp4。AutoCut 将生成 11-28-18.md。你在里面选择需要保留的句子后,AutoCut 将剪切出 11-28-18_cut.mp4,并生成 11-28-18_cut.md 来预览结果。

你可以使用任何的 Markdown 编辑器。例如我常用 VS Code 和 Typora。下图是通过 Typora 来对 11-28-18.md 编辑。

!

全部完成后在 autocut.md 里选择需要拼接的视频后,AutoCut 将输出 autocut_merged.mp4 和对应的字幕文件。

 安装

首先安装 Python 包


pip install git+https://github.com/mli/autocut.git


 本地安装测试



git clone https://github.com/mli/autocut
cd autocut
pip install .



 上面将安装 pytorch。如果你需要 GPU 运行,且默认安装的版本不匹配的话,你可以先安装 Pytorch。如果安装 Whipser 出现问题,请参考官方文档。

另外需要安装 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


 Docker 安装

首先将项目克隆到本地。

bash
git clone https://github.com/mli/autocut.git


 安装 CPU 版本

进入项目根目录,然后构建 docker 映像。

bash
docker build -t autocut .


运行下面的命令创建 docker 容器,就可以直接使用了。

bash
docker run -it --rm -v E:\autocut:/autocut/video autocut /bin/bash


其中 -v 是将主机存放视频的文件夹 E:\autocut 映射到虚拟机的 /autocut/video 目录。E:\autocut 是主机存放视频的目录,需修改为自己主机存放视频的目录。

 安装 GPU 版本

使用 GPU 加速需要主机有 Nvidia 的显卡并安装好相应驱动。然后在项目根目录,执行下面的命令构建 docker 映像。

bash
docker build -f ./Dockerfile.cuda -t autocut-gpu .


使用 GPU 加速时,运行 docker 容器需添加参数 --gpus all。

bash
docker run --gpus all -it --rm -v E:\autocut:/autocut/video autocut-gpu


 更多使用选项

 转录某个视频生成 .srt 和 .md 结果。

bash
autocut -t 22-52-00.mp4


1. 如果对转录质量不满意,可以使用更大的模型,例如

    bash
    autocut -t 22-52-00.mp4 --whisper-model large
    

    默认是 small。更好的模型是 medium 和 large,但推荐使用 GPU 获得更好的速度。也可以使用更快的 tiny 和 base,但转录质量会下降。


 剪切某个视频

bash
autocut -c 22-52-00.mp4 22-52-00.srt 22-52-00.md


1. 默认视频比特率是 --bitrate 10m,你可以根据需要调大调小。
2. 如果不习惯 Markdown 格式文件,你也可以直接在 srt 文件里删除不要的句子,在剪切时不传入 md 文件名即可。就是 autocut -c 22-52-00.mp4 22-52-00.srt
3. 如果仅有 srt 文件,编辑不方便可以使用如下命令生成 md 文件,然后编辑 md 文件即可,但此时会完全对照 srt 生成,不会出

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON