auto slicing video stream.
Project description
auto-slicing
一句话概括
自动化切片:这是一个通过ASR + LLM Agent + MCP 实现自动化录播视频切片的项目。
👐毛遂自荐
- 有一天,你挂着直播,突发奇想,幻想了,又幻想了,想成为那些
超级切片man,给你心爱的主播、你热爱的V🤳做视频切片,怎么办? - 你心有余,而没时间剪辑,甚至没学过剪辑,怎么办?
- 你想了想,鼓起勇气搞到录播准备剪辑,发现这仅仅是起点🙂↕️
- 筛选、对时间轴⌚️、整个合适的标题🙋、太复杂了😩,如果偶尔某天,自己没看直播🏃♂️,还得把整个录播看一遍再切,怎么办?😭
- 你说你爱也迷人确实很惊艳,但这还是太吃操作了,那么有没有什么简单又强势的切片方式呢?
- 有的,有的兄弟。
- 来看看
auto-slicing吧,你来搞定录播,它来搞定切片。 目前,它仍处于一个相对普通的阶段。请等待多轮优化。
👀快速开始
1. 安装相关依赖
1.1 clone本项目或者直接下载zip包
前提条件:
-
显存>=8GB,更小的本人并没有试过
-
内存>=32GB
1.2 配置python环境
python版本:理论上python 3.11~3.12均可,3.13之前遇到过一些问题,不太清楚现在是否已经修复
- 推荐使用uv安装
uv pip install -r requirements.txt
- 或者直接pip安装
pip install -r requirements.txt
注:如果安装过程中报了pillow的错误 可以
sudo apt-get install -y libjpeg-dev zlib1g-dev
1.3 配置ffmpeg
本项目剪辑部分是由zakahan/vedit-mcp实现的,该部分依赖ffmpeg实现,因此请配置ffmpeg
# ubuntu
sudo apt update
sudo apt install ffmpeg
1.4. 下载ASR模型权重
- 音频解析使用,分别是语音识别和语音中断检测,请参考
- https://github.com/FunAudioLLM/SenseVoice
- modelscope-iic/SenseVoiceSmall - 对应SENSE_VOICE_MODEL_PATH
- modelscope-icc/vad_fsmmn - 对应SENSE_VOICE_VAD_MODEL_PATH
注:此部分目前仅支持本地推理,api方式可能会在后续支持
- 另一种方式,可以选择网盘下载
通过网盘分享的文件:iic.zip 链接: https://pan.baidu.com/s/128FIp4k8qGez5pjBAP9Pbg?pwd=6rfi 提取码: 6rfi --来自百度网盘超级会员v8的分享
1.5. 配置环境变量
cd auto-slicing/src
cp .env.example .env
编辑.env文件,修改部分配置为实际情况
注:目前本脚本采用的是火山方舟平台的api,因此API_BASE和API_KEY都使用的是该平台。
OPENAI_API_BASE:当前为火山方舟平台的api-baseOPENAI_API_KEY:推荐直接使用环境变量配置,防止出现泄露问题,当然也可以直接在这里配置OPENAI_MODEL与OPENAI_MODEL_THINKING:模型名称,请根据实际情况来SENSE_VOICE_LOCAL_MODEL_PATH:修改为您所下载的sense_voice模型权重地址SENSE_VOICE_LOCAL_VAD_MODEL_PATH:修改为您所下载的vad_model权重地址KB_BASE_PATH:切片处理的基础路径,所有的文件都会相对于当前路径
注:以上路径均推荐使用绝对路径
2. 启动项目
(2.1和2.2任选一个)
2.1 脚本启动
请修改 src/main.py中的query部分,修改为你需要的
注意:raw_video必须为相对于KB_BASE_PATH的路径,这样设计是为了减少大模型在调用过程中对出现路径错误的可能性。
cd src
python main.py
2.2 webui
bash start_up.sh
进入webui即可
🫡实现介绍
整体架构图如下
具体直接看代码src/processor部分即可,这里是每个模块的入口,整体的思路在图上已经很清晰了。
✅Todo List
- 增加prompt切换,实现片头片尾的支持
- 实现对asr api的支持,脱离本地推理限制
- 扩展
vedit-mcp,目前仅支持基本的剪辑功能,需要继续提供支持 - 增加添加字幕功能
- 添加语音识别的API调用方法
- 增加封面生成功能,先搞个简陋版的
- 考虑对歌回的支持
- 考虑使用说话人分离,实现对游戏回、看视频回等声音信号不唯一情景的支持
🔥Latest News
-
2025-05-18, 无法解决streamlit的file_uploader bug,改用gradio实现
-
2025-05-08, 使用streamlit实现了简易的webui界面
我的忏悔
最近比较忙,当然这是次要原因,主要原因是我太懒,所以好久没更新了。 目前这个方案整体上我不太满意,有生之年可能会更新,但短期内估计没有可能了。Orz
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_zakahan_auto_slicing-0.1.2.tar.gz.
File metadata
- Download URL: iflow_mcp_zakahan_auto_slicing-0.1.2.tar.gz
- Upload date:
- Size: 35.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b111114bcfc7773d6d8b29f4642b0627a647e52a97d6679e318c0147f14097bf
|
|
| MD5 |
ab710e5d79a85e321f45a5cbd01d2a3e
|
|
| BLAKE2b-256 |
705ae1612f36ad1cf453af0afd4e7d1ebf44b724794fc52e0abd0cc09ef59273
|
File details
Details for the file iflow_mcp_zakahan_auto_slicing-0.1.2-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_zakahan_auto_slicing-0.1.2-py3-none-any.whl
- Upload date:
- Size: 37.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eaa9cf5e6a98a2d31cf84fe6c847e4380dc978d51e46a5ec2d2ea6ff98424050
|
|
| MD5 |
1d283c247bcd4bd551716c72a2ef6e55
|
|
| BLAKE2b-256 |
d28c79ee0afd085eba5abf172854691472c79cd5e1b13649c3c26ee37e5a0a84
|