Skip to main content

auto-slicing

English | 简体中文

一句话概括

自动化切片:这是一个通过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之前遇到过一些问题,不太清楚现在是否已经修复

  1. 推荐使用uv安装
uv pip install -r requirements.txt
  1. 或者直接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模型权重

注:此部分目前仅支持本地推理,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都使用的是该平台。

  1. OPENAI_API_BASE:当前为火山方舟平台的api-base
  2. OPENAI_API_KEY :推荐直接使用环境变量配置,防止出现泄露问题,当然也可以直接在这里配置
  3. OPENAI_MODEL与OPENAI_MODEL_THINKING:模型名称,请根据实际情况来
  4. SENSE_VOICE_LOCAL_MODEL_PATH:修改为您所下载的sense_voice模型权重地址
  5. SENSE_VOICE_LOCAL_VAD_MODEL_PATH:修改为您所下载的vad_model权重地址
  6. 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

Metadata

Release files for iflow-mcp_zakahan-auto-slicing 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_zakahan-auto-slicing 0.1.2
File Size Uploaded
iflow_mcp_zakahan_auto_slicing-0.1.2.tar.gz 35.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_zakahan-auto-slicing 0.1.2
File Interpreter ABI Platform
iflow_mcp_zakahan_auto_slicing-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 73.2 kB

Release files / iflow_mcp_zakahan_auto_slicing-0.1.2.tar.gz

Download URL iflow_mcp_zakahan_auto_slicing-0.1.2.tar.gz
Size 35.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b111114bcfc7773d6d8b29f4642b0627a647e52a97d6679e318c0147f14097bf
BLAKE2b-256 checksum
How to use checksums
705ae1612f36ad1cf453af0afd4e7d1ebf44b724794fc52e0abd0cc09ef59273
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / iflow_mcp_zakahan_auto_slicing-0.1.2-py3-none-any.whl

Download URL iflow_mcp_zakahan_auto_slicing-0.1.2-py3-none-any.whl
Size 37.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eaa9cf5e6a98a2d31cf84fe6c847e4380dc978d51e46a5ec2d2ea6ff98424050
BLAKE2b-256 checksum
How to use checksums
d28c79ee0afd085eba5abf172854691472c79cd5e1b13649c3c26ee37e5a0a84
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page