5条命令让AutoCut剪掉视频废话,部署和回滚都是秒级操作
【免费下载链接】autocut用文本编辑器剪视频项目地址: https://gitcode.com/GitHub_Trending/au/autocut
晚上十一点,我盯着一个两小时的教学录像发愁。里面三成是口误、重复和长时间沉默,手动拖动时间轴剪到怀疑人生。后来我碰到一个叫AutoCut的工具,思路很反直觉:它先用Whisper把视频转成带时间戳的字幕,然后你像改作文一样删掉不要的句子,它替你剪出成片。说白了,就是用文本编辑器剪视频——部署上它,再随时能回滚,就是这篇文章要带你走的路。
先让它转起来:5条命令跑通一次
别急着看文档全貌,先让它跑起来再说。前提只有两个:Python 3和ffmpeg,后者负责最后真正动刀剪视频。
先装ffmpeg(Docker里已经内置,跳过即可):
# Ubuntu/Debian sudo apt install ffmpeg然后拉代码、装包,这两步装完你会得到一个全局可用的autocut命令:
# 克隆仓库并安装(会顺带装好PyTorch和Whisper依赖) git clone https://gitcode.com/GitHub_Trending/au/autocut cd autocut && pip install .装好之后,对着一个测试视频执行第一条正事命令:
# 转录视频,生成同名 .srt 和 .md 两个文件 autocut -t test001.mp4执行后你会在目录里看到test001.srt和test001.md。重点看md文件:每一行是一个句子,前面带[序号,开始时间],开头有一个"完成编辑"的勾选项。用Typora或VS Code打开它,把想保留的句子前面的方框勾上,最后一行也勾掉,然后:
# 按勾选结果剪出 _cut.mp4,并生成预览用字幕 autocut -c test001.mp4 test001.srt test001.md跑完你会拿到test001_cut.mp4。到这一步,一个完整循环已经走通了。
如果你要批量处理:挂个守护进程
单个视频手动跑没问题,但如果你每天录很多条,比如习惯把OBS录像按日期放进不同文件夹,那就用-d参数让AutoCut盯住一个目录:
# 监听 2022-11-04 文件夹,新视频自动转录并等待剪切 autocut -d 2022-11-04执行后它进入常驻状态:文件夹里每落一个新视频,就自动生成字幕;你一勾选完md,它自动剪出_cut.mp4,再汇总成合并列表供你二次拼接。这个逻辑在daemon.py里,转录和剪切分别在transcribe.py和cut.py,想看实现直接点过去。
如果你不想污染本机:Docker部署
有些同事的机器上Python环境已经一团乱,这时候Docker是最省心的路。项目自带CPU版和GPU版两份Dockerfile,在仓库根目录执行:
CPU版构建与启动
# 构建镜像(基于 python:3.9-slim,已内置ffmpeg和CPU版PyTorch) docker build -t autocut:latest .构建完你会得到一个1GB左右、开箱即用的镜像。启动时把本地视频目录映射进容器:
# 把你的视频目录挂进 /autocut/video docker run -it --rm -v /path/to/videos:/autocut/video autocut:latest /bin/bash进容器后跑autocut -t即可,和本地用法一模一样。
GPU版构建与启动
如果你有N卡,用Dockerfile.cuda构建,它基于PyTorch CUDA 11.6镜像:
# 用 GPU 版 Dockerfile 构建,运行时加 --gpus all docker build -f Dockerfile.cuda -t autocut-gpu:latest . docker run --gpus all -it --rm -v /path/to/videos:/autocut/video autocut-gpu:latest执行nvidia-smi能正常输出,就说明GPU链路通了,转录速度能快一个数量级。
如果你对转录质量不满意:换模型或换引擎
默认用的是whisper的small模型,对普通话基本够用。遇到听写不准的情况,有三档升级路线:
# 本地换更大的模型,质量更高但更慢 autocut -t video.mp4 --whisper-model large嫌本地大模型慢,可以装faster-whisper加速推理:
# 安装带 faster-whisper 的版本,再用它转录 pip install '.[faster]' autocut -t video.mp4 --whisper-mode=faster或者干脆调OpenAI的API,本机只负责剪切,转录外包出去:
# 用 OpenAI API 转录,免费额度限速 3 次/分钟 export OPENAI_API_KEY=sk-xxx autocut -t video.mp4 --whisper-mode=openai --openai-rpm=3踩坑实录:我交过的四次学费
**坑一:显存爆了,还怪显卡差。**现象是跑large模型时直接OOM。我当时的错误判断是"显存不够就买新卡",真正的解法是两条命令搞定:要么换小模型(默认small就够),要么加--device cpu强制CPU跑大模型,慢但稳。一句话记忆点:模型大小是可调参数,显卡不是。
**坑二:pip install .之后GPU却没人用。**现象是转录慢得像在CPU上跑,python -c "import torch; print(torch.cuda.is_available())"输出False。错判是"驱动坏了",真相是pip install .默认拉的是CPU版PyTorch。解法:装AutoCut之前先手动装好对应CUDA版本的PyTorch,Docker GPU版则天然规避了这个问题。记忆点:先装对PyTorch,再装AutoCut。
**坑三:剪切那一步报ffmpeg的错。**转录明明成功了,一到-c就失败。错判是"AutoCut本身有bug",实际是系统里压根没装ffmpeg——它只参与剪这一刀,不参与转录。解法就是开头那条sudo apt install ffmpeg,装完立刻恢复。记忆点:转录是AI的活,剪切是ffmpeg的活。
**坑四:字幕打开是乱码。**我在Windows的记事本里看md,全是问号。错判是"Whisper不支持中文",真相是编码:AutoCut默认输出UTF-8,生成和剪切两端的编码必须一致。解法是统一用--encoding=gbk,或者干脆都保持默认UTF-8别折腾。记忆点:两端编码必须同,默认UTF-8最省事。
一页清单:关键命令速查
| 场景 | 命令 |
|---|---|
| 装ffmpeg | sudo apt install ffmpeg/brew install ffmpeg |
| 拉代码装包 | git clone https://gitcode.com/GitHub_Trending/au/autocut && cd autocut && pip install . |
| 转录 | autocut -t video.mp4 |
| 剪切 | autocut -c video.mp4 video.srt video.md |
| 批量监听 | autocut -d 2022-11-04 |
| 大模型/加速 | --whisper-model large/--whisper-mode faster/--whisper-mode openai |
| 回退CPU | --device cpu |
| 编码统一 | --encoding=gbk |
| Docker CPU版 | docker build -t autocut:latest .→docker run -it --rm -v /path/to/videos:/autocut/video autocut:latest |
| Docker GPU版 | docker build -f Dockerfile.cuda -t autocut-gpu:latest .→docker run --gpus all ... |
| 部署回滚 | docker run ... autocut:latest换回旧tag即可,数据在挂载目录里不受影响 |
凌晨一点,test001_cut.mp4安静地躺在文件夹里,两小时的录像只剩四十六分钟的干货。现在你手里也有这条流水线了:一条命令转录、勾选、一条命令剪切,出状况就换模型、换设备、回旧镜像——下次那个让你拖时间轴到怀疑人生的视频,交给AutoCut就好。
【免费下载链接】autocut用文本编辑器剪视频项目地址: https://gitcode.com/GitHub_Trending/au/autocut
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考