auto-slicing

auto-slicing is a Python library designed for automated slicing of data, allowing efficient segmentation and processing of datasets. It is particularly useful in data analysis and machine learning preprocessing, enabling users to easily slice datasets and extract only the necessary parts. With a user-friendly API and a wealth of features, developers can perform data processing tasks swiftly.

GitHub Stars

13

User Rating

Not Rated

Favorites

0

Views

29

Forks

1

Issues

0

README
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方式可能会在后续支持

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_MODELOPENAI_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界面