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 生成,不会出