基于 FFmpeg 与 PySceneDetect 的视频分割工具,支持按时长 / 按数量 / 按时间点切割,以及 AI 场景检测智能分割,一键批量把视频切成多个片段。
- 按时长分割:每段固定时长(如每 10 分钟一段)
- 按数量分割:将视频等分成 N 段
- 按时间点分割:手动指定切割点(如
00:10:00, 00:20:00) - 智能场景分割:自动检测场景,按镜头把视频切成片段(推荐)
- 无损快速:基础分割支持 FFmpeg 流复制(
-c copy),速度快、无画质损失 - 批量处理:支持同时选中多个视频批量分割
- 自动参数表单:盒子根据参数自动生成界面,随分割模式联动显隐,无需手写窗口
- 定时任务:可被盒子定时调度,无人值守自动分割
- 自定义输出目录:可指定输出位置,留空则自动在视频旁创建「<视频名>_分割」文件夹
本脚本的运行环境、依赖组件及参数窗口均依赖「不忙脚本盒子」,建议仅通过盒子安装和使用。
前置条件:安装好 不忙脚本盒子
- 打开盒子 → 脚本市场 → 搜索 「视频分割」
- 点击「安装」
-
卡片启动
- 打开盒子,点击「视频分割」脚本卡片
- 在弹出表单的数据输入区选择要分割的视频
- 选择分割模式、填写参数后点击「执行」
-
右键启动
- 在文件管理器中选中视频文件
- 右键 → 选择「视频分割」
- 盒子弹出参数表单并自动预填选中的文件,确认后点击「执行」
-
快捷键启动
- 为脚本设置全局快捷键,选中视频后按下即可执行
-
定时任务
- 在盒子中为脚本创建定时任务,在表单里选择视频并配置分割参数
- 到点自动无人值守分割
- 分割模式
- 按时长:每段秒数,如
600= 每 10 分钟一段 - 按数量:等分份数,至少 2 段
- 按时间点:逗号分隔的切割点,如
600,1200或00:10,00:20 - 智能分割:自动检测场景,适合按镜头拆分的视频(推荐)
- 按时长:每段秒数,如
- 切割精度(基础分割)
- 精确转码:重新编码视频,段长精确到秒(默认)
- 快速流复制:无损、速度快,但只能在关键帧处切割,段长有偏差
- 智能分割算法
- 内容检测器:普通拍摄 / 剪辑视频
- 自适应检测器:运动剧烈或动画类视频
- 阈值检测器:有淡入淡出、黑屏转场的视频
- 灵敏度留空时按算法默认值(内容 27 / 自适应 3 / 阈值 16),数值越大分割越少
- 输出目录:留空则自动在原视频旁创建「<视频名>_分割」文件夹
本脚本已声明为节点,可被其他脚本通过盒子本地 API 联动调用。
调用示例
import json, sys, requests
payload = json.load(open(sys.argv[1], encoding="utf-8"))
env = payload["environment"]
r = requests.post(f"{env['api_base']}/api/link", json={
"script_id": "d6115731-e9ce-4a3a-9b61-945406dd0cde",
"data": {"target_paths": ["C:/video.mp4"]},
"params": {"mode": "smart", "detector": "content"},
}, timeout=3600)
body = r.json()
result = body["result"] # 信封
segment_files = result["segment_files"]返回业务键
| 键 | 类型 | 说明 |
|---|---|---|
output_dirs |
list | 各视频片段输出目录列表 |
segment_files |
list | 全部片段文件路径列表 |
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10+(64 位) |
| 运行环境 | Python 3.8+、FFmpeg(含 ffprobe;盒子安装时自动配置) |
