关于 wjs-teaching-english
这项技能将一个英文单词制作成 HLS 视频课程,适用于英语学习者和内容创作者。它把生成的开场与行动提示卡片和通过 search-app 找到的匹配片段组合起来。
主要功能
- 01制作单词主题 HLS 课程
- 02编写简短课程内容
- 03使用 Volcano TTS 生成语音
- 04查找匹配的 season2 片段
- 05将卡片编码为匹配片段格式
适用场景
- 01为目标英文单词制作视频课程
- 02剪辑包含指定单词的电影片段合集
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jianshuo/ claude-skills --skill wjs-teaching-english安装后在 Claude Code 中输入/wjs-teaching-english确认已加载。
详细介绍
将一个英语单词讲解成视频精选集
将一个英语单词制作成独立完整的 HLS 教学视频:
intro.ts (word /IPA/ · 中文 gloss · usage + Volcano TTS)
⋯ EXT-X-DISCONTINUITY
[supercut] every season2 clip where the word is spoken (search-app /api/playlist, COS URLs)
⋯ EXT-X-DISCONTINUITY
cta.ts (关注王建硕 + Volcano TTS)
= search-app/out/<word>.m3u8
不会生成 MP4——只有两张卡片会渲染为很小的 .ts,并重新编码以匹配精选集的编解码器,从而能在任何 HLS 播放器中播放。
前置条件(检查一次即可)
- PATH 中有
ffmpeg/ffprobe(Homebrew)。 - Python
volcengineSDK(在 mirarequirements.txt中声明,用于 TTS):python3 -c "import volcengine"。如果缺少,请征求用户同意安装pip3 install volcengine==1.0.58(这是仓库中固定版本的依赖)。 - 已部署的搜索应用
https://search-app-three-kappa.vercel.app(默认值)。如果在本地运行,可通过SEARCH_APP_BASE=http://localhost:3000覆盖(需要 Node ≥ 23.6 +npm start)。
步骤
-
获取单词。 一个英语单词(或短语)。如果用户给出的是句子,请选出目标单词。
-
编写迷你课程 JSON。 由你(Claude)撰写——无需使用词典 API。 内容要准确、简洁。保存到临时文件,例如
/tmp/lesson.json:{ "word": "love", "ipa": "/lʌv/", "pos": "v. / n.", "gloss": "爱,热爱", "usage": "下面是它在真实电影里的说法", "tts_text": "love. 爱。" }tts_text会在片头卡片上朗读——内容仅保留单词 + 简短的中文释义(Volcano 能很好地朗读中英文混合文本)。usage是卡片上显示的一行短句(≤ ~20 个字符在低分辨率下效果最佳)。
-
构建:
cd /Users/jianshuo/code/mira/search-app python3 scripts/build_lesson.py --word love --lesson /tmp/lesson.json实用标志:
--speaker zh_female_qingxin(默认值)、--limit 300(片段数上限)、--no-tts(静音卡片)、--base <url>、--out <dir>。 -
报告打印出的输出路径(
search-app/out/<word>.m3u8)和片段数量。交付内容为.m3u8及其同级文件<word>.intro.ts/<word>.cta.ts;out/已加入 Git 忽略列表。
说明
- 如果该单词没有对应片段,脚本会以 "no clips match" 退出且不会写入任何文件——请告知用户,并建议换用更常见的单词。
- 片头/CTA 会按照精选集中第一个片段的分辨率/编解码器/帧率进行编码,因此第一次不连续处无需重新初始化解码器(可避免
bufferAppendError)。 - 若要在本地播放:使用
ffplay search-app/out/<word>.m3u8,或通过 HTTP 提供out/文件夹并在任意 HLS 播放器中打开(Safari 原生支持播放.m3u8)。
评论
支持 Markdown