Title: 【案例】qwen-subtitle:视频字幕智能纠错 + 克隆原声多语言出海配音 · Issue #18 · modelstudioai/modelstudioai.github.io · GitHub
Open Graph Title: 【案例】qwen-subtitle:视频字幕智能纠错 + 克隆原声多语言出海配音 · Issue #18 · modelstudioai/modelstudioai.github.io
X Title: 【案例】qwen-subtitle:视频字幕智能纠错 + 克隆原声多语言出海配音 · Issue #18 · modelstudioai/modelstudioai.github.io
Description: 我做了什么 开发了 qwen-subtitle —— 给视频做字幕智能纠错 + 多语言出海配音的工具,全程由百炼 CLI 驱动,已开源(MIT):https://github.com/oil-oil/qwen_subtitle 录屏 / 教程 / 讲解类视频的字幕,无论哪家 ASR,专有名词永远会被听错:Claude 听成 cloud、Codex 听成 class q、html2pptx 听成 html to ppt。靠手工维护术语表去替换既累又补不全。 核心洞察:录屏...
Open Graph Description: 我做了什么 开发了 qwen-subtitle —— 给视频做字幕智能纠错 + 多语言出海配音的工具,全程由百炼 CLI 驱动,已开源(MIT):https://github.com/oil-oil/qwen_subtitle 录屏 / 教程 / 讲解类视频的字幕,无论哪家 ASR,专有名词永远会被听错:Claude 听成 cloud、Codex 听成 class q、html2pptx 听...
X Description: 我做了什么 开发了 qwen-subtitle —— 给视频做字幕智能纠错 + 多语言出海配音的工具,全程由百炼 CLI 驱动,已开源(MIT):https://github.com/oil-oil/qwen_subtitle 录屏 / 教程 / 讲解类视频的字幕,无论哪家 ASR,专有名词永远会被听错:Claude 听成 cloud、Codex 听成 class q、html2pptx 听...
Opengraph URL: https://github.com/modelstudioai/modelstudioai.github.io/issues/18
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"【案例】qwen-subtitle:视频字幕智能纠错 + 克隆原声多语言出海配音","articleBody":"## 我做了什么\n\n开发了 **qwen-subtitle** —— 给视频做**字幕智能纠错 + 多语言出海配音**的工具,全程由百炼 CLI 驱动,已开源(MIT):**https://github.com/oil-oil/qwen_subtitle**\n\n录屏 / 教程 / 讲解类视频的字幕,无论哪家 ASR,**专有名词永远会被听错**:`Claude` 听成 `cloud`、`Codex` 听成 `class q`、`html2pptx` 听成 `html to ppt`。靠手工维护术语表去替换既累又补不全。\n\n核心洞察:**录屏视频里,正确的词往往就明明白白写在屏幕上**。所以让**视觉模型 qwen-vl 按时间戳去看那一帧,读屏幕上真实写着的字来纠正**——这是纯语音工具永远做不到的。纠错后还能翻译成多语言、用从视频里克隆出的**原声**配音,做电商 / 跨境带货出海。\n\n## 使用的工具\n\n- 百炼 CLI(`bl`)\n- Skill 名称:**qwen-subtitle**(开源,自带 SKILL.md,Claude Code / Codex 即取即用)\n- 用到的百炼模型与命令(5 步全程 `bl`):\n\n| 步骤 | 能力 | 模型 | bl 命令 |\n|---|---|---|---|\n| 1 听写 | 语音识别(句+词级毫秒时间戳) | fun-asr | `bl speech recognize` |\n| 2 看屏纠错 ★ | 标错 + 看帧定夺 | qwen3.7-max + qwen3-vl-plus | `bl text chat` / `bl vision describe` |\n| 3 顺滑 | 算法断句 + 去水词 | qwen-plus | `bl text chat` |\n| 4 翻译 | 字幕 / 配音稿 | qwen-mt-turbo / qwen-plus | `bl text chat` |\n| 5 克隆配音 | 声音复刻 + 合成 | cosyvoice-v2 | `bl file upload` / `bl speech synthesize` |\n\n## 效果展示\n\n\n\n*自带本地预览页:右上角语言 tab 一键切换字幕 + 视频音轨(中文原声 / 英·日·韩克隆配音);左边视频烧入对应语言字幕、与帧同步。*\n\n**纠错实测**:7 分钟录屏(78 句),全片 14 处修改 **13 处正确**,典型如 `cloud→Claude`、`class q→Codex`、`html to ppt→html2pptx`——都是单通道字幕工具修不了的同音术语错,且每处都带**画面证据**(`report.md`)。取不到画面证据的句子**保留原文 + 标记待人工确认,绝不让模型盲猜**(零误改优先)。\n\n**多语言出海**:英文克隆配音 + 西/葡多语言字幕端到端跑通。配音用 **CosyVoice 从视频里克隆的原声**(中/英/日/韩),字幕支持 qwen-mt 的 92 语种。**有配音的语言,字幕 = 配音同一份文案,一字不差**。\n\n一条命令跑完:`python3 scripts/subfix.py \u003cvideo.mp4\u003e` → `python3 scripts/dub_multi.py \u003cvideo.mp4\u003e --transcript ... --langs en,ja,es`\n\n## 踩坑记录\n\n- **`bl text chat --output json` 不能加 `--quiet`**:加了会返回数组、把 JSON 解析坏掉;不加才是标准 `{choices:[{message:{content}}]}`。\n- **VL 会幻觉 / 过度纠正**(把\"超级麦吉\"改成\"超级码力\"、给 `ooxml` 补成 `ooxml.md`):加了一组**零误改闸门**才稳——VL 只认画面上能逐字读到的字(禁图标/logo 推断),最小替换、发音一致,标错阶段别把通顺的中文名当音译错。\n- **声音克隆百炼 CLI 暂无对应命令**:走原始 DashScope API——`bl file upload --model cosyvoice-v2` 拿 `oss://` URL → `POST .../audio/tts/customization` 复刻,**必须加请求头 `X-DashScope-OssResourceResolve: enable`** 才能解析 OSS → 拿 voice_id → `bl speech synthesize --voice \u003cid\u003e`。\n- **配音\"听着没说完 / 音画对不上\"**:① 按**整句**念不按字幕碎段;② 字幕与配音用**同一份译文**;③ `atempo` 只压缩不拉慢(上限 1.5)。\n","author":{"url":"https://github.com/oil-oil","@type":"Person","name":"oil-oil"},"datePublished":"2026-06-28T08:25:47.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/18/modelstudioai.github.io/issues/18"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:9001186e-f99f-905c-9a8c-2a8c3f25de20 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B588:10637F:23C8F3E:2FAF89F:6A5206B0 |
| html-safe-nonce | 3ce3c6bfa4986b78bc2893023f29654336642dc0aeffbd685c31e27341ef0d13 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNTg4OjEwNjM3RjoyM0M4RjNFOjJGQUY4OUY6NkE1MjA2QjAiLCJ2aXNpdG9yX2lkIjoiODc2MjAyOTY0Njk1NzExOTE1MiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | b03f9e812e71cc05538eb42031663dcaa20f0484dc9cc81793130b7cde48acab |
| hovercard-subject-tag | issue:4761591101 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/modelstudioai/modelstudioai.github.io/18/issue_layout |
| twitter:image | https://opengraph.githubassets.com/b5c4244e15dbfc74a6a548f53010dce6eddcdbe74dcbe65af36360121d8d6e9d/modelstudioai/modelstudioai.github.io/issues/18 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/b5c4244e15dbfc74a6a548f53010dce6eddcdbe74dcbe65af36360121d8d6e9d/modelstudioai/modelstudioai.github.io/issues/18 |
| og:image:alt | 我做了什么 开发了 qwen-subtitle —— 给视频做字幕智能纠错 + 多语言出海配音的工具,全程由百炼 CLI 驱动,已开源(MIT):https://github.com/oil-oil/qwen_subtitle 录屏 / 教程 / 讲解类视频的字幕,无论哪家 ASR,专有名词永远会被听错:Claude 听成 cloud、Codex 听成 class q、html2pptx 听... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | oil-oil |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| go-import | github.com/modelstudioai/modelstudioai.github.io git https://github.com/modelstudioai/modelstudioai.github.io.git |
| octolytics-dimension-user_id | 283556804 |
| octolytics-dimension-user_login | modelstudioai |
| octolytics-dimension-repository_id | 1263703297 |
| octolytics-dimension-repository_nwo | modelstudioai/modelstudioai.github.io |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1263703297 |
| octolytics-dimension-repository_network_root_nwo | modelstudioai/modelstudioai.github.io |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7aed05249554b889eb33d002851a973eebcc7e91 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width