返回顶部
S

Subtitle-Extractor字幕提取器

Subtitle extractor for Bilibili, YouTube, Xiaohongshu, Douyin, and local files. Extracts native subtitles or Whisper transcription in original format. Agent handles dependency checking, file naming, and content analysis.

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

Subtitle-Extractor

字幕提取技能

从视频平台提取原生格式的字幕。支持Bilibili、YouTube、小红书、抖音以及本地视频文件。

本技能范围: 仅限字幕提取。摘要、分析、问答——均由智能体根据用户实际请求处理。



功能说明

  1. 1. 从URL检测平台类型
  2. 通过yt-dlp提取原生字幕(若无原生字幕则使用Whisper转录)
  3. 输出:原始字幕文件路径 + 视频标题/作者
  4. 智能体将字幕保存至outputs/目录,并按用户请求进行处理

依赖项

调用脚本前,智能体必须验证依赖项。如有缺失,需告知用户并提供相应的安装命令。

yt-dlp — 必需(始终需要)

bash

检查


yt-dlp --version

安装

pip install yt-dlp # 所有平台(推荐) brew install yt-dlp # macOS Homebrew winget install yt-dlp.yt-dlp # Windows WinGet scoop install yt-dlp # Windows Scoop conda install -c conda-forge yt-dlp # Conda环境

升级现有安装

pip install -U yt-dlp

ffmpeg — 仅Whisper转录时需要

仅适用于小红书、抖音、本地文件或路径B(Whisper转录)。

bash

检查


ffmpeg -version

安装

brew install ffmpeg # macOS Homebrew winget install Gyan.FFmpeg # Windows WinGet choco install ffmpeg # Windows Chocolatey scoop install ffmpeg # Windows Scoop apt install ffmpeg # Ubuntu / Debian dnf install ffmpeg # Fedora / RHEL(可能需要RPM Fusion) pacman -S ffmpeg # Arch Linux snap install ffmpeg # Ubuntu Snap

Windows用户: 安装后需重启终端以使PATH生效。
若winget不可用,请从ffmpeg.org下载并将bin/目录添加到系统PATH中。

faster-whisper — 仅转录平台时需要

仅适用于小红书、抖音、本地文件或路径B(Whisper转录)。

bash

检查


python3 -c from faster_whisper import WhisperModel; print(ok)

安装

pip install faster-whisper

配置模型大小(默认:base)

export VIDEOSUMMARYWHISPER_MODEL=base # tiny | base | small | medium | large

注意: 首次转录运行时模型文件会自动下载(base模型约150MB)。根据网络速度可能需要一分钟。

中国网络提示: 若自动下载失败(HuggingFace被屏蔽),请参阅故障排除中的Whisper模型下载失败

转录时间估算(CPU,faster-whisper):

视频时长tinybasesmallmedium
5分钟~10秒~20秒~40秒~80秒
15分钟
~30秒 | ~60秒 | ~2分钟 | ~4分钟 |
| 30分钟 | ~60秒 | ~2分钟 | ~5分钟 | ~10分钟 |

GPU可将转录速度提升5-15倍。首次运行需下载模型(base约150MB)。



Cookie配置

Bilibili — 需要Cookie

Bilibili的所有请求都需要cookie文件。脚本仅在技能目录中自动发现cookie文件(与subtitle-extractor.py和SKILL.md同目录):

任何文件名包含bilibili的.txt文件都会被自动识别——包括浏览器扩展默认导出的www.bilibili.comnetscape.txt格式。

请将cookie文件放置在技能目录中。 智能体无需手动定位或传递cookie文件(参见步骤1b)。

小红书 / 抖音 — 手动配置

bash
video-summary https://www.xiaohongshu.com/explore/xxxxx --cookies cookies.txt


export VIDEOSUMMARYCOOKIES=/path/to/cookies.txt

如何导出cookie:

  1. 1. 安装浏览器扩展:Cookie Editor(https://cookieeditor.org/)
  2. 登录平台
  3. 将cookie导出为.txt文件(Netscape格式)



智能体工作流程

执行顺序 — 不可更改

在处理任何用户请求之前,必须完整完成本技能中的步骤1-4。在智能体进行摘要、翻译、分析或用户要求的任何其他任务之前,必须先将字幕文件保存到磁盘(步骤4)。

将步骤1-4视为强制性先决条件,而非可选的辅助步骤。即使用户的最终输出格式(如markdown文件)看似不需要,也不得跳过任何步骤。

步骤1 — 检查依赖项

bash
yt-dlp --version

如果用户请求Whisper转录(关键词:whisper转录 / 用whisper / transcribe / 转录 / 语音转文字),或者平台为小红书、抖音或本地文件,还需检查:

bash
ffmpeg -version
python3 -c from faster_whisper import WhisperModel; print(ok)

如有缺失,停止并告知用户需要安装的依赖项(参见依赖项部分)。

步骤1b — Bilibili Cookie

脚本会自动发现技能目录中包含bilibili的任何.txt文件。请勿自行搜索或传递cookie文件。

仅在脚本退出并显示以下信息时采取行动:

  • - 未找到 Bilibili Cookie 文件 → 告知用户将cookie文件放置在技能目录中
  • Bilibili 412 错误:Cookie 已过期 → 告知用户重新导出

导出方法:安装Cookie Editor (https://cookieeditor.org/),登录Bilibili,导出Netscape格式 → 放入技能目录 → 重试。

步骤2 — 提取字幕

确定适用的路径,完全执行后再进入步骤3。



路径A — 原生字幕

适用场景:Bilibili或YouTube链接,且用户未提及任何转录关键词。

告知用户:正在提取字幕...

bash
python subtitle-extractor.py # 自动检测语言
python subtitle-extractor.py --lang zh-CN # 强制指定语言

解析stdout中的JSON。现在已获得步骤3所需的全部四个字段:

字段
title来自此JSON
author
来自此JSON |
| platform | 来自此JSON |
| subtitle_file | 来自此JSON |

若脚本非零退出:读取stderr,向用户报告错误,停止。



路径B — Whisper转录

适用场景:用户提及任何转录关键词,或平台为小红书/抖音。

转录关键词优先于提取字幕或字幕原文等表述——后者描述的是期望的输出内容,而非方法。

调用1 — 下载音频(本地文件跳过,直接进入调用2)

告知用户:正在下载音频,请稍候...

bash
python subtitle-extractor.py --step download-audio

解析stdout中的JSON并记录以下值:

字段
title来自此JSON
author
来自此JSON |
| platform | 来自此JSON |
| audio_file | 来自此JSON — 调用2的输入 |

若脚本非零退出:读取stderr,向用户报告错误,停止。

告知用户:音频下载完成,开始 Whisper 转录(模型: base),请稍候...

调用2 — 转录

对于URL输入,使用调用1记录的audio_file:
bash
python subtitle-extractor.py --step transcribe

对于本地文件输入(设置title = 文件名,author = local):
bash
python subtitle-extractor.py filepath> --step transcribe

解析stdout中的JSON并记录:

字段
subtitle_file来自此JSON

告知用户:转录完成!

若脚本非零退出:

  • - 读取stderr,向用户报告错误,停止
  • 若stderr包含Whisper 模型下载失败:逐字显示完整错误信息——其中包含确切的下载目录和手动操作步骤



失败规则: 请勿手动运行yt-dlp、ffmpeg或Whisper命令。除非错误信息明确指示,否则不要使用不同参数重试。

步骤3 — 确认数据

验证已从步骤2的脚本输出中收集到全部四个值:

| 字段 | 路径A来源 | 路径B来源 |
|------|-----------

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 subtitle-extractor-1776022695 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 subtitle-extractor-1776022695 技能

通过命令行安装

skillhub install subtitle-extractor-1776022695

下载

⬇ 下载 Subtitle-Extractor v1.0.0(免费)

文件大小: 12.05 KB | 发布时间: 2026-4-13 12:12

v1.0.0 最新 2026-4-13 12:12
Subtitle Extractor 1.0.0 – Initial Release

- Extracts subtitles from Bilibili, YouTube, Xiaohongshu, Douyin, and local files.
- Supports both native subtitle extraction and Whisper transcription fallback.
- Handles dependency checks (yt-dlp, ffmpeg, faster-whisper) and provides user guidance for missing components.
- Manages Bilibili cookies securely via auto-discovery in the skill directory.
- Outputs subtitle file path, video title, and author; agent saves and processes per user request.

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

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

p2p_official_large
返回顶部