从视频链接提取字幕并交付为 .docx 文件。用户提供链接(如 YouTube、Bilibili 等)时使用此技能。
视频 Transscript STill.是一项面向实际任务的技能,主要用于Extract 字幕来自视频 URL,并发送干净的.docx 记录文件. 对于非中文视频,制作两个文件:原始语言+中文翻译. .;For Chine.。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
从视频 URL 提取字幕,并生成格式整洁的 .docx 转录文件。
对于非中文视频,输出两个文件:原文 + 中文翻译;
对于中文视频,仅输出一个文件。
检查脚本目录下是否存在 node_modules。若不存在,请运行:
$skillScripts = "$env:USERPROFILE.agentsskillsvideo-transcriptscripts"
if (-not (Test-Path "$skillScriptsnode_modulesdocx")) {
Push-Location $skillScripts
npm install
Pop-Location
}
在临时目录中执行(Windows 下使用 $env:TEMPvt_):
$tmp = "$env:TEMPvt_$(Get-Random)" New-Item -ItemType Directory -Force $tmp | Out-Null
YouTube 视频:
# 优先尝试人工字幕,失败后回退至自动生成字幕 yt-dlp --skip-download --write-subs --write-auto-subs --sub-langs "en,zh-Hans,zh-Hant,zh" --convert-subs srt -o "$tmpsub" ""
Bilibili 视频:
yt-dlp --skip-download --write-subs --sub-langs "zh-Hans,zh,ai-zh" --convert-subs srt -o "$tmpsub" ""
其他平台:可复用上述 YouTube 命令——yt-dlp 可自动适配大多数平台。
下载完成后,列出已获取的字幕文件:
Get-ChildItem $tmp -Filter "*.srt"
选择最优字幕文件:
.en.srt 优于 .en-orig.srt 或 .en-auto.srt)zh-Hans 或 ai-zh若未成功下载任何字幕文件:
读取 .srt 文件,移除所有时间码与序号行,仅保留实际 spoken text 行。
SRT 示例(需剔除部分):
1 00:00:01,000 --> 00:00:03,500 This is the spoken text. 2 00:00:04,000 --> 00:00:06,000 More text here.
输出要求:
- 纯文本格式
- 每个字幕块对应一个段落
- 删除段落间的空行,合并为连贯段落
- 移除 HTML 标签(如 、、 等)
请自行读取文件内容完成该解析过程,无需调用外部工具。
检测字幕语言:
翻译规范:
使用内置脚本:
脚本路径为:~/.agents/skills/video-transcript/scripts/make_docx.js
视频标题优先从 yt-dlp 输出中提取;若不可得,则对 URL 进行清洗后作为备选标题。
非中文视频(生成两个文件):
# 原文 node "~/.agents/skills/video-transcript/scripts/make_docx.js" "$tmptranscript_original.docx" "- Original" " " # 中文译稿 node "~/.agents/skills/video-transcript/scripts/make_docx.js" "$tmptranscript_zh.docx" " - 中文译稿" " "
中文视频(仅生成一个文件):
node "~/.agents/skills/video-transcript/scripts/make_docx.js" "$tmptranscript_zh.docx" "- 讲稿" " "
对于超长文本,建议先写入临时 .txt 文件再通过管道传入:
$plain | Out-File -Encoding utf8 "$tmpcontent.txt" Get-Content "$tmpcontent.txt" -Raw | node "~/.agents/skills/video-transcript/scripts/make_docx.js" "$tmptranscript_original.docx" ""
清晰告知用户输出文件路径:
C:...transcript_original.docx”C:...transcript_zh.docx”可选:展示提取文本的前 200 字作为简短预览,便于用户验证内容质量。
| 情形 | 应对措施 |
|---|---|
| 未找到字幕 | 通知用户,并建议使用 Whisper 作为替代方案 |
| 未安装 yt-dlp | 运行 yt-dlp --version 检查;若缺失,提示用户安装 |
| node/docx 报错 | 显示具体错误信息,并检查全局是否已安装 docx npm 包 |
| 私有视频或地域限制视频 | 告知用户该视频无法访问 |
$tmp 目录;或保留并明确告知用户临时路径make_docx.js 脚本会自动从全局 npm 解析 docx 包相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习