← 返回 Skills 市场
lhx121619

百度智能云VOD字幕擦除

作者 lhx121619 · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ⚠ suspicious
121
总下载
0
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install baidu-vod-desubtitle
功能描述
百度智能云VOD字幕擦除工具。支持从本地或网盘选取视频进行字幕擦除,支持全局/对白/自定义区域三种模式,支持批量处理文件夹中的视频,处理后可下载到本地或上传到网盘。当用户提及"字幕擦除"、"擦除字幕"、"去除字幕"时触发。
使用说明 (SKILL.md)

百度智能云 VOD 字幕擦除 Skill

智能识别并擦除视频中的字幕区域,支持多种擦除模式和高级配置。

⚠️ 强制执行流程

禁止直接执行命令!必须按以下流程引导用户:

1. 识别意图 → 判断擦除类型(字幕/Logo/时间范围)
2. 收集参数 → 使用 Question 工具询问用户
3. 确认配置 → 展示参数让用户确认
4. 用户确认 → 才能执行命令

错误示例(禁止):

用户: 帮我擦除这个视频的字幕
Agent: [直接执行 python3 desubtitle.py video.mp4 --mode global]  ❌

正确示例:

用户: 帮我擦除这个视频的字幕
Agent: 请选择处理方式:
  [1] 单个视频
  [2] 批量处理文件夹
用户: 1
Agent: 请选择擦除方式:
  [1] 全局擦除 - 自动识别所有字幕区域
  [2] 对白擦除 - 只擦除底部对白字幕
  [3] 自定义区域 - 指定坐标擦除
用户: 1
Agent: 请提供视频文件路径:
用户: /Downloads/video.mp4
Agent: [执行命令]  ✓

触发规则

满足以下任一条件时触发:

  1. 用户提及"字幕擦除"、"擦除字幕"、"去除字幕"
  2. 用户需要处理视频中的字幕
  3. 用户需要查询或删除字幕擦除任务

Agent 参数收集指南

核心原则

  1. 简洁优先:直接询问处理方式,不绕弯子
  2. 最小必要:只收集必要参数,其他使用默认值
  3. 渐进式:从简单到复杂,避免一次性问太多
  4. 推荐优先:给出推荐选项,而非开放式问题

第一步:识别用户意图

根据用户描述,识别属于哪种场景:

用户描述关键词 场景类型 推荐操作
"擦除字幕"、"去除字幕"、"消字幕" 字幕擦除 询问处理方式和擦除方式
"擦除Logo"、"去除水印"、"去掉角标" 区域擦除 直接使用 manual 模式
"只擦除某一段"、"前几分钟" 时间范围 manual + time-range
"查任务"、"任务状态" 任务查询 --list/--query
"删除任务" 任务删除 --delete

第二步:收集必要参数

第一步:询问处理方式

交互模板:

用户: 帮我把这个视频的字幕擦除

Agent: 请选择处理方式:
  [1] 单个视频 - 处理单个视频文件
  [2] 批量处理文件夹 - 处理文件夹中的所有视频

用户: 1 或 2

第二步:收集视频路径

场景 A:单个视频

交互模板:

Agent: 请提供视频文件路径:

用户: /Downloads/video.mp4

场景 B:批量处理文件夹

交互模板:

Agent: 请提供文件夹路径(将处理该文件夹下所有视频文件):

用户: /Downloads/videos/

Agent: 正在扫描文件夹中的视频文件...
找到 5 个视频文件:
  1. video1.mp4
  2. video2.mp4
  3. video3.mp4
  4. video4.mp4
  5. video5.mp4

确认处理这些视频吗?

扫描文件夹的实现:

使用 Glob 工具扫描常见视频格式:

Glob: \x3C文件夹路径>/**/*.mp4
Glob: \x3C文件夹路径>/**/*.mkv
Glob: \x3C文件夹路径>/**/*.avi
Glob: \x3C文件夹路径>/**/*.mov
Glob: \x3C文件夹路径>/**/*.webm

第三步:询问擦除方式

交互模板:

Agent: 请选择擦除方式:
  [1] 全局擦除 - 自动识别并擦除所有字幕区域(推荐)
  [2] 对白擦除 - 只擦除底部对白字幕,保留其他文字
  [3] 自定义区域 - 手动指定坐标擦除

用户: 1

擦除方式说明:

方式 命令参数 适用场景
全局擦除 --mode global 综艺、广告、不确定字幕位置、想擦除所有字幕
对白擦除 --mode dialog 电影、电视剧、访谈、只需擦除底部对白字幕
自定义区域 --mode manual --areas "x,y,w,h" Logo、水印、角标、特定位置

场景 C:区域擦除(Logo/水印)

必须收集

  1. 视频来源
  2. 擦除区域坐标

交互模板:

用户: 帮我去掉视频左上角的Logo

Agent: 请提供Logo区域的坐标(格式: x,y,宽度,高度):
  - x: Logo左边距离视频左边的像素
  - y: Logo上边距离视频上边的像素
  - 宽度: Logo的宽度
  - 高度: Logo的高度

提示:可以用视频播放器截图,在图片编辑器中查看像素坐标。

用户: 50,30,200,80

Agent: 收到,Logo区域: (50,30) 宽200 高80
确认执行吗?

用户: 确认

Agent: [执行: --mode manual --areas "50,30,200,80"]

场景 D:时间范围擦除

必须收集

  1. 视频来源
  2. 擦除区域坐标
  3. 开始时间
  4. 结束时间

交互模板:

用户: 只擦除视频前30秒的字幕

Agent: 好的,时间范围擦除需要指定区域坐标。
请提供字幕区域的坐标(格式: x,y,宽度,高度):

用户: 0,900,1920,60

Agent: 收到,将擦除前30秒的区域 (0,900,1920,60)。
确认执行吗?

用户: 确认

Agent: [执行: --mode manual --areas "0,900,1920,60" --time-range 0 30000]

第三步:确认配置

收集完参数后,展示配置让用户确认:

单个视频:

Agent: 确认以下配置:
  - 视频文件: /Downloads/video.mp4
  - 擦除方式: 全局擦除
  - 输出目录: ./output

确认执行吗?

批量处理:

Agent: 确认以下配置:
  - 处理模式: 批量处理
  - 视频数量: 5 个
  - 擦除方式: 全局擦除
  - 输出目录: ./output

确认执行吗?

参数收集决策树

用户请求
    │
    ├─ 查询任务? ──────────────────────► --list / --query
    │
    ├─ 删除任务? ──────────────────────► --delete
    │
    └─ 处理视频?
         │
         ├─ 处理方式?
         │    ├─ 单个视频 ──► 获取视频文件路径
         │    └─ 批量处理 ──► 获取文件夹路径 → 扫描视频文件 → 展示列表确认
         │
         ├─ 擦除什么?
         │    ├─ "字幕" ──► 询问擦除方式
         │    │    ├─ 全局擦除 ──► --mode global
         │    │    ├─ 对白擦除 ──► --mode dialog
         │    │    └─ 自定义区域 ──► --mode manual + 询问坐标
         │    │
         │    ├─ "Logo/水印" ──► --mode manual + 询问坐标
         │    │
         │    └─ "某段时间" ──► --mode manual + areas + time-range
         │
         └─ 确认执行
              │
              ├─ 来自网盘? ──► 询问是否上传回网盘
              │
              └─ 执行命令

推荐参数组合

组合 1:全局擦除(推荐)

python3 scripts/desubtitle.py \x3C视频> --mode global

适用场景:综艺、广告、不确定字幕位置、想擦除所有字幕 特点:智能识别并擦除所有字幕区域

组合 2:对白擦除

python3 scripts/desubtitle.py \x3C视频> --mode dialog

适用场景:电影、电视剧、访谈节目 特点:只擦除底部对白字幕,保留其他文字

组合 3:自定义区域擦除

python3 scripts/desubtitle.py \x3C视频> --mode manual --areas "x,y,w,h"

适用场景:去除特定位置的Logo、水印、角标

组合 4:批量处理

python3 scripts/desubtitle.py video1.mp4 video2.mp4 video3.mp4 --mode global

适用场景:批量处理多个视频文件 特点:所有视频使用相同的擦除模式


常见问题处理

Q1:用户不知道选哪种擦除方式

Agent: 请选择擦除方式:
  [1] 全局擦除 - 自动识别并擦除所有字幕区域(推荐)
  [2] 对白擦除 - 只擦除底部对白字幕,保留其他文字
  [3] 自定义区域 - 手动指定坐标擦除

用户: 不知道选哪个

Agent: 建议选择 [1] 全局擦除,会自动识别所有字幕区域,适用于大多数场景。

Q2:用户不知道坐标

用户: 我要擦除Logo,但不知道坐标

Agent: 您可以:
  1. 用视频播放器截图
  2. 在图片编辑器(如PS、画图)中打开截图
  3. 查看Logo左上角的坐标(x,y)和尺寸(宽,高)

或者告诉我Logo的大概位置:
  [1] 左上角
  [2] 右上角
  [3] 左下角
  [4] 右下角

用户: 右上角

Agent: 请告诉我Logo大概占视频宽高的比例?
  例如:宽200像素,高50像素

用户: 宽150,高40

Agent: 好的,右上角Logo,宽150高40。
假设视频是1920x1080,Logo坐标大约是:
  x=1770, y=0, width=150, height=40

确认使用这个坐标吗?

Q3:批量处理时文件夹中没有视频

Agent: 正在扫描文件夹中的视频文件...
未找到视频文件。请确认文件夹路径正确,且包含以下格式的视频:
  .mp4, .mkv, .avi, .mov, .webm

请重新提供文件夹路径:

执行命令模板

单个视频

export BAIDU_VOD_AK='xxx' && export BAIDU_VOD_SK='xxx' && \
python3 scripts/desubtitle.py \x3C视频路径> --mode \x3C模式>

批量处理

export BAIDU_VOD_AK='xxx' && export BAIDU_VOD_SK='xxx' && \
python3 scripts/desubtitle.py \x3C视频1> \x3C视频2> \x3C视频3> --mode \x3C模式>

完整命令(所有参数)

export BAIDU_VOD_AK='xxx' && export BAIDU_VOD_SK='xxx' && \
python3 scripts/desubtitle.py \x3C视频路径> \
  --mode \x3Cglobal|dialog|manual> \
  --model \x3Cv3|v4> \
  --areas "x,y,w,h" \
  --time-range \x3C开始ms> \x3C结束ms> \
  --output-dir \x3C输出目录> \
  --upload-netdisk \
  --netdisk-dir \x3C网盘目录>

示例对话

示例 1:单个视频

用户: 帮我把 /Downloads/movie.mp4 的字幕擦除

Agent: 请选择处理方式:
  [1] 单个视频
  [2] 批量处理文件夹

用户: 1

Agent: 请选择擦除方式:
  [1] 全局擦除 - 自动识别并擦除所有字幕区域(推荐)
  [2] 对白擦除 - 只擦除底部对白字幕,保留其他文字
  [3] 自定义区域 - 手动指定坐标擦除

用户: 2

Agent: 确认配置:
  - 视频文件: /Downloads/movie.mp4
  - 擦除方式: 对白擦除
  - 输出目录: ./output

确认执行吗?

用户: 确认

Agent: 正在处理...
[执行: --mode dialog]
✓ 处理完成,结果已保存到: ./output/desubtitled_movie.mp4

示例 2:批量处理

用户: 帮我擦除一个文件夹里所有视频的字幕

Agent: 请选择处理方式:
  [1] 单个视频
  [2] 批量处理文件夹

用户: 2

Agent: 请提供文件夹路径:

用户: /Downloads/videos/

Agent: 正在扫描文件夹中的视频文件...
找到 3 个视频文件:
  1. ep01.mp4
  2. ep02.mp4
  3. ep03.mp4

请选择擦除方式:
  [1] 全局擦除(推荐)
  [2] 对白擦除
  [3] 自定义区域

用户: 1

Agent: 确认配置:
  - 处理模式: 批量处理
  - 视频数量: 3 个
  - 擦除方式: 全局擦除
  - 输出目录: ./output

确认执行吗?

用户: 确认

Agent: 正在批量处理...
[执行: ep01.mp4 ep02.mp4 ep03.mp4 --mode global]
✓ 全部处理完成

示例 3:Logo擦除

用户: 帮我去掉视频左上角的Logo

Agent: 请提供Logo区域的坐标(格式: x,y,宽度,高度):

用户: 20,20,180,60

Agent: 确认配置:
  - 擦除区域: (20,20) 宽180 高60
  - 擦除方式: 自定义区域

确认执行吗?

用户: 确认

Agent: [执行: --mode manual --areas "20,20,180,60"]
✓ 处理完成

前置条件

1. VOD 凭证

export BAIDU_VOD_AK="your_access_key"
export BAIDU_VOD_SK="your_secret_key"

获取方式:

  1. 登录 百度智能云控制台
  2. 开通 智能点播平台 VOD
  3. 安全认证 获取 AK/SK

2. 网盘功能(可选)

如需从网盘下载或上传到网盘,需要:

  1. 安装 bdpan CLI
  2. 执行 bdpan login 登录

处理时间

  • 单个视频:约 5-15 分钟(取决于视频长度)
  • 批量处理:按视频数量累计
  • 可使用 --no-wait 参数不等待,稍后查询任务状态

注意事项

  1. 文件大小限制:单个文件 ≤ 5GB
  2. 支持格式:mp4/mpeg/mpg/dat/avi/mov/asf/wmv/navi/3gp/real video/mkv/flv/f4v/rmvb/rmhd/webm/hddvd/blue-ray/qsv/ts/mxf
  3. 费用:按处理时长计费
  4. 白名单:字幕擦除需要白名单权限,如提示"权限不足"请联系百度智能云开通

API 参考

安全使用建议
This skill appears to implement a real Baidu VOD subtitle-removal tool, but its metadata fails to declare the BAIDU_VOD_AK and BAIDU_VOD_SK environment variables that the code requires. Before installing or running: (1) don't provide your primary Baidu credentials unless you trust the author — use a limited-scope/test account if possible; (2) review the full scripts (they upload local files to https://vod.bj.baidubce.com and can upload/download from your netdisk); (3) be aware the 'confirmation' flow in SKILL.md is only guidance — an agent or user could invoke the script directly; (4) ensure Python dependencies (requests, etc.) are installed in an isolated environment; (5) ask the publisher for a source/homepage or a signed release to improve trust, and request that metadata be corrected to list required env vars and dependencies.
功能分析
Type: OpenClaw Skill Name: baidu-vod-desubtitle Version: 1.0.2 The skill is a legitimate tool for interacting with Baidu Cloud's VOD subtitle removal service. The Python scripts (desubtitle.py and common.py) implement standard BCE v1 authentication and orchestrate video processing tasks, including file uploads and status polling. The SKILL.md file contains proactive safety instructions that force the AI agent to confirm parameters with the user before execution. While it interacts with the 'bdpan' CLI via subprocess, it does so using argument lists without shell=True, mitigating common injection risks. No malicious behavior, such as secret exfiltration or unauthorized remote execution, was detected.
能力评估
Purpose & Capability
The code implements a Baidu VOD desubtitle tool (uploads media, creates tasks, queries/deletes tasks) which matches the description. However the registry metadata claims no required environment variables while both SKILL.md and the code require BAIDU_VOD_AK and BAIDU_VOD_SK. That metadata omission is an incoherence that affects trust decisions.
Instruction Scope
SKILL.md instructs the agent to collect local file paths (including Glob scans), possibly download from/upload to user netdisk, and export BAIDU_VOD_AK/BAIDU_VOD_SK prior to running. It also contains a 'must follow' confirmation flow but that is purely advisory — nothing in the code enforces interactive confirmation, so an agent or user could run uploads without the visible confirmation step. The instructions reference environment variables that are not declared in the skill metadata.
Install Mechanism
No install spec (instruction-only) and no remote downloads are used, which reduces supply-chain risk. However the Python code imports third-party libraries (requests) but the metadata only lists python3; the skill does not declare Python package dependencies, so runtime errors or implicit installs could occur.
Credentials
The code requires sensitive credentials (BAIDU_VOD_AK and BAIDU_VOD_SK) to upload user media and manage tasks. Those env vars are referenced throughout SKILL.md and code, but the registry lists 'Required env vars: none' — an explicit mismatch. The skill also relies on access to local file paths and (optionally) the user's Baidu netdisk via a bdpan CLI, both of which are sensitive operations appropriate for the declared purpose but worth explicit user consent.
Persistence & Privilege
always:false and no special system-wide privileges are requested. The skill does not claim to persist itself or modify other skills. Autonomous invocation is allowed (platform default) but not by itself a reason to flag.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install baidu-vod-desubtitle
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /baidu-vod-desubtitle 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.2
**新增:支持批量处理文件夹中的视频。** - 增加了“批量处理文件夹”功能,可一次性处理整个文件夹下的所有视频。 - 交互流程更简洁,优先推荐“单个视频”或“批量处理”选项。 - 擦除方式选择更加明晰:全局擦除、对白擦除、自定义区域。 - 场景问答和参数收集交互模板调整,显式引导用户批量或单个处理路径填写。 - 处理流程和案例对话均已支持文件夹批量处理。
v1.0.1
- 增加 metadata 字段,明确声明对 python3 执行环境的依赖(openclaw 标准格式)。 - 其他流程与参数说明保持不变。
v1.0.0
baidu-vod-desubtitle v1.0.0 - 首次发布百度智能云VOD字幕擦除工具,支持智能识别并擦除视频字幕。 - 支持三种擦除模式:全局、对白、手动自定义区域。 - 可处理本地视频或百度网盘视频,结果可下载或上传回网盘。 - 实现完善的参数收集与确认交互流程,确保用法安全合规。 - 新增多场景指导模板(如Logo、水印、时间范围等擦除)。 - 文档详细说明执行流程、参数建议及常见问答。
元数据
Slug baidu-vod-desubtitle
版本 1.0.2
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 3
常见问题

百度智能云VOD字幕擦除 是什么?

百度智能云VOD字幕擦除工具。支持从本地或网盘选取视频进行字幕擦除,支持全局/对白/自定义区域三种模式,支持批量处理文件夹中的视频,处理后可下载到本地或上传到网盘。当用户提及"字幕擦除"、"擦除字幕"、"去除字幕"时触发。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 121 次。

如何安装 百度智能云VOD字幕擦除?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install baidu-vod-desubtitle」即可一键安装,无需额外配置。

百度智能云VOD字幕擦除 是免费的吗?

是的,百度智能云VOD字幕擦除 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

百度智能云VOD字幕擦除 支持哪些平台?

百度智能云VOD字幕擦除 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 百度智能云VOD字幕擦除?

由 lhx121619(@lhx121619)开发并维护,当前版本 v1.0.2。

💬 留言讨论