返回顶部
f

ffmpeg-add-subtitle添加字幕

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
124
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

ffmpeg-add-subtitle

开始使用

欢迎!我来帮你使用 FFmpeg 为视频添加字幕——无论是永久烧录还是作为可切换轨道附加。告诉我你的视频文件和字幕来源,让我们开始吧!

试试这样说:

  • - 将 SRT 字幕烧录到我的 MP4 视频中,并保持原始音频质量
  • 将软字幕 VTT 轨道附加到 MKV 文件,无需重新编码视频流
  • 使用自定义字体为视频添加带样式的 ASS 字幕,并将其放置在画面顶部

建立连接

在处理任何用户请求之前,先建立与后端 API 的连接。显示一个简短的提示状态,如正在连接...。

如果环境中存在 NEMO_TOKEN,直接使用它并创建一个会话。否则,获取一个免费的入门令牌:

  • - 确保 ~/.config/ffmpeg-add-subtitle/clientid 中存在客户端标识符(如果需要,创建一个 UUID)
  • 使用 X-Client-Id 头部向 https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token 发送 POST 请求
  • 响应中包含一个 token,附带 100 个免费积分,有效期为 7 天——将其用作 NEMOTOKEN

然后创建会话,向 https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemoagent 发送 POST 请求,使用 Bearer 授权和请求体 {taskname:project,language:en}。响应中的 session_id 在后续所有请求中都需要使用。

告诉用户你已经准备就绪。将技术细节保留在聊天之外。

精确地将字幕嵌入任何视频

给视频添加字幕听起来很简单——直到你盯着 FFmpeg 文档,试图弄清楚为什么你的 SRT 文件没有渲染,或者为什么字体看起来不对,又或者为什么软字幕没有在你的媒体播放器中显示。这正是这个技能要解决的问题。

使用 FFmpeg 添加字幕技能,你可以通过两种不同的方式嵌入字幕:作为硬编码烧录(永久嵌入视频帧中)或作为软字幕流(观众可以切换开启或关闭的独立轨道)。这两种方法都有实际应用场景,这个技能可以帮助你选择正确的方式并正确执行。

无论你是本地化课程视频、为短片添加字幕、为纪录片添加翻译字幕,还是为社交媒体准备无障碍内容,这个技能都能生成你需要的精确 FFmpeg 命令——包含正确的滤镜、编解码器标志和文件路径处理——让你第一次就能获得干净的结果。

路由字幕烧录请求

当你提交字幕嵌入任务时,该技能会解析你的输入,确定你是通过 libass 滤镜将字幕直接硬编码到视频流中,还是将软字幕轨道作为独立的复用流附加,然后相应地进行路由。

用户说...操作跳过 SSE?
export / 导出 / download / send me the video→ §3.5 导出
credits / 积分 / balance / 余额
→ §3.3 积分 | ✅ |
| status / 状态 / show tracks | → §3.4 状态 | ✅ |
| upload / 上传 / 用户发送文件 | → §3.2 上传 | ✅ |
| 其他所有内容(生成、编辑、添加背景音乐等) | → §3.1 SSE | ❌ |

FFmpeg 云 API 参考

后端会启动一个隔离的 FFmpeg 处理节点,负责字幕编解码器映射、滤镜图构建和容器复用——支持 SRT、ASS、VTT 和 PGS 格式,适用于 MP4、MKV 和 MOV 容器。转码任务在服务器端运行,因此你的本地机器永远不会接触比特流。

技能归属——运行时从此文件的 YAML 前置元数据中读取:

  • - X-Skill-Source:ffmpeg-add-subtitle
  • X-Skill-Version:来自前置元数据 version
  • X-Skill-Platform:从安装路径检测(~/.clawhub/ → clawhub,~/.cursor/skills/ → cursor,否则 unknown)

所有请求必须包含:Authorization: Bearer 、X-Skill-Source、X-Skill-Version、X-Skill-Platform。缺少归属头部将导致导出失败,返回 402。

API 基础地址:https://mega-api-prod.nemovideo.ai

创建会话:POST /api/tasks/me/with-session/nemoagent — 请求体 {taskname:project,language:} — 返回 taskid、sessionid。

发送消息(SSE):POST /runsse — 请求体 {appname:nemoagent,userid:me,sessionid:,newmessage:{parts:[{text:}]}},附带 Accept: text/event-stream。最大超时时间:15 分钟。

上传:POST /api/upload-video/nemoagent/me/ — 文件:multipart -F files=@/path,或 URL:{urls:[],sourcetype:url}

积分:GET /api/credits/balance/simple — 返回 available、frozen、total

会话状态:GET /api/state/nemoagent/me//latest — 关键字段:data.state.draft、data.state.videoinfos、data.state.generated_media

导出(免费,不消耗积分):POST /api/render/proxy/lambda — 请求体 {id:render_,sessionId:,draft:,output:{format:mp4,quality:high}}。每 30 秒轮询 GET /api/render/proxy/lambda/,直到 status = completed。下载 URL 在 output.url 中。

支持的格式:mp4、mov、avi、webm、mkv、jpg、png、gif、webp、mp3、wav、m4a、aac。

SSE 事件处理

事件操作
文本响应应用 GUI 翻译(§4),呈现给用户
工具调用/结果
内部处理,不转发 | | heartbeat / 空 data: | 继续等待。每 2 分钟:⏳ 仍在处理... | | 流关闭 | 处理最终响应 |

约 30% 的编辑操作在 SSE 流中不返回文本。发生这种情况时:轮询会话状态以验证编辑是否已应用,然后向用户总结更改。

后端响应翻译

后端假设存在 GUI。将这些翻译为 API 操作:

后端说你执行
click [button] / 点击通过 API 执行
open [panel] / 打开
查询会话状态 |
| drag/drop / 拖拽 | 通过 SSE 发送编辑 |
| preview in timeline | 显示轨道摘要 |
| Export button / 导出 | 执行导出工作流 |

草稿字段映射:t=轨道,tt=轨道类型(0=视频,1=音频,7=文本),sg=片段,d=时长(毫秒),m=元数据。

时间线(3 条轨道):1. 视频:城市延时摄影(0-10 秒)2. 背景音乐:Lo-fi(0-10 秒,35%)3. 标题:都市梦想(0-3 秒)

错误处理

代码含义操作
0成功继续
1001
令牌错误/过期 | 通过 anonymous-token 重新认证(令牌 7 天后过期) | | 1002 | 未找到会话 | 新建会话 §3.0 | | 2001 | 无积分 | 匿名用户:显示带有 ?bind= 的注册 URL(需要时从 create-session 或 state 响应中获取 )。已注册用户:在您的账户中充值积分 | | 4001 | 不支持的文件 | 显示支持的格式 | | 4002 | 文件过大 | 建议压缩/裁剪 | | 400 | 缺少 X-Client-Id | 生成客户端 ID 并重试(参见 §1) | | 402 | 免费计划导出被阻止 | 订阅层级问题,非积分问题。注册或升级您的计划以解锁导出功能。 | | 429 | 速率限制(1 个令牌/客户端/7 天)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 ffmpeg-add-subtitle-1775898325 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 ffmpeg-add-subtitle-1775898325 技能

通过命令行安装

skillhub install ffmpeg-add-subtitle-1775898325

下载

⬇ 下载 ffmpeg-add-subtitle v1.0.0(免费)

文件大小: 5.18 KB | 发布时间: 2026-4-12 09:57

v1.0.0 最新 2026-4-12 09:57
ffmpeg-add-subtitle 1.0.0

- Initial release of FFmpeg Subtitle Embedder.
- Supports adding subtitles to video files by burning in (hardcoding) or attaching as soft subtitle tracks.
- Compatible with SRT, ASS, VTT, and other subtitle formats.
- Gives control over subtitle font, timing, position, and encoding.
- Integrates with FFmpeg Cloud API for server-side processing, uploads, session management, and exports.
- Provides workflow for connecting, job routing, session state tracking, and handling common errors.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部