SuperAPI AI 工具集

yt2bb

设计与创作

查看项目

更新于 10-15 16:42

技能介绍

用途:把 YouTube 视频(单个或播放列表)改编为适合 Bilibili 发布的版本,生成硬编码英中双语字幕的视频,并产出上传用元数据,便于把英文内容面向中文观众二次利用。

六步流程:

  1. 下载:用 yt-dlp 获取视频,示例命令 yt-dlp --cookies-from-browser chrome -f "bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4]" -o "${slug}/${slug}.mp4" "URL"。
  2. 转写:先 python3 "$SKILL_DIR/srt_utils.py" check-whisper 检测平台与推荐 whisper 后端和模型,再用 whisper 生成 SRT;支持 mlx-whisper(macOS Apple Silicon)、whisper-ctranslate2(CUDA/CPU)、openai-whisper(通用)。模型可选 tiny、medium、large-v3。 2.5 校验修复:srt_utils.py validate / fix。
  3. 翻译:按 Netflix 简体中文风格规范逐条 1:1 翻译为中文 SRT,每行最多 16 个全角字符,批量处理,不合并或拆分条目。
  4. 合并:srt_utils.py merge 生成双语 SRT;可跑 lint 检查阅读速度、时长、行长、间隔等 Netflix 规范项。 4.5 样式:srt_utils.py to_ass 把 SRT 转为 ASS,预设 netflix、clean、glow,或提供自定义 .ass 样式文件(须含 EN 和 ZH 样式)。
  5. 烧录:用 ffmpeg 的 ass= 滤镜把字幕硬编码进视频,示例 ffmpeg -i "${slug}/${slug}.mp4" -vf "ass='${slug}/${slug}_bilingual.ass'" -c:v libx264 -crf 23 -preset medium -c:a copy "${slug}/${slug}_bilingual.mp4"。
  6. 发布信息:根据字幕内容生成 publish_info.md,包含中文标题 5 个变体、约 10 个标签、简介和章节时间戳,面向 Bilibili 观众。

产出目录含源视频、源语言 SRT、中文 SRT、双语 SRT、双语 MP4 与 publish_info.md。

限制与注意事项:依赖 yt-dlp、whisper、ffmpeg 及 Python 环境;下载可能因 cookie 或限流失败,需处理 cookie 或加 sleep 参数;字体缺失(如 PingFang SC)可能影响渲染,可按平台替换;翻译条目数与源不一致会导致 merge 失败,可用 --pad-missing 填充;CPS 超限通常需回到翻译步骤改写,而非延长字幕时长。平台兼容性、收费与具体效果资料未提供。