
这个工具解决什么问题
自己录屏做的教程、课程切片、口播素材,画面是现成的,可就是缺一条解说音轨和字幕。想要的效果其实很朴素:视频从头到尾有普通话女声在讲,讲的内容跟画面大致对得上,底部有同步的中文字幕,导出后能直接发出去。真动手做才发现处处是坑:先得对着视频一个字一个字写解说稿,写了半小时发现稿子念完只有两分半,视频却是三分半,中间空一大截;接着要录音,自己念一遍不满意就重来,找配音还得另外开一个网站、把稿子分句粘进去、逐句下载、再拼起来;最后是字幕,得把音频拖进剪辑软件听一句打一行时间轴,标完七十几行时间点,眼睛都花了。这一套下来,一条三分半的片子光配音加字幕就要大半天,想批量做更是没可能。
- 原来的做法:对着视频手写解说稿 → 自己录音或用在线配音站逐句合成再拼接 → 在剪辑软件里听一句打一行时间轴 → 手动把字幕对齐到画面,一条三分半的视频大约需要 3~6 小时,全程需要人盯着
- 用这个工具:选择视频 → 填一句主题让 AI 出稿(自动铺好每句的起点秒数)→ 点一下生成配音 → 点一下导出成片,字幕已经烧进画面、音轨已经换成新配音
- 省下来的:省下来的是「写稿 + 录音 + 打字幕 + 对齐」四段重复劳动:三分半的视频,人工要 3~6 小时,软件跑完大约 3~5 分钟(其中大部分是画面重新编码的等待时间),人只需要在生成的文案上做微调
技术实现
整个工具是 Windows 原生窗体程序,运行时不需要装任何东西。核心思路是「让文案和时间轴一起生成」:先把视频时长读出来,再按解说密度反推可以铺多少内容,让 AI 在这个长度约束下写稿,写完立刻按每句话的字数权重把起点秒数算好填进表格;接下来逐句合成配音,每句音频的真实时长反过来成为字幕的起止时间——这样字幕不是「事后对齐」出来的,而是从配音时长直接推导出来的,不存在累积漂移。1.1 版起文案生成升级为「两阶段画面理解」:先让视觉模型通览全片把握整体脉络,再按时间顺序分批细看、批间带「上一段讲了什么」的承接摘要,解说有开场白、有承上启下、有自然收尾,口播连贯不再一句句往外蹦。配音默认走公开的在线朗读服务(免费、无需密钥),同时保留系统自带离线语音和自定义云 TTS 两条退路。最后一步交给 ffmpeg:一条 filter_complex 链同时完成字幕烧录和多轨音频混合,一次编码出片。
- 两阶段画面理解:先通览、再逐帧细讲(1.1 新增):勾选「识别画面」后,先用 ffmpeg 按固定间隔(默认 3 秒,可调)抽关键帧,交给支持图片输入的视觉模型(推荐 kimi-k2.6)。第一阶段只给模型看均匀抽取的全局速览帧,让它概述视频整体脉络;第二阶段按时间顺序分批细看(每批最多 8 帧),每批的提示词都带上「上一批已经讲了什么」的摘要,明确要求用「接着 / 然后 / 接下来」承接上文、不重复已说内容。实测 213 秒视频抽出 40 帧、生成 40 段解说,开头「大家好,今天带大家…」、结尾「以上就是整个采集流程…」,每段都贴合当帧画面。
- 静音间隔约束:压掉口播里的长停顿(1.1 新增):视觉模型给的起点是「画面切换的时间点」,画面天然切换处可能隔着十几秒没解说,直接落地就会出现大段静音。落地后从前往后扫描,相邻两句的空档一旦超过阈值(默认 2.5 秒,设置里可调「最大静音间隔」),就把后面的句子整体前移压到阈值以内;最后一句若离片尾太远也会往后拉,收个自然的尾。纯文本路径的时间轴排布同样用这个阈值给句间停顿封顶。
- 双层防叠音闸门:句与句绝不撞在一起(1.1.1 新增):解说文案多、句子长的时候,会出现「上一句还没念完、下一句就插进来」的叠音。1.1.1 起分两层防:第一层在文案落地时,把口播时长估算改成贴近真实语速的保守口径(约 3.6 字/秒加收尾余量),逐句连锁——上一句按估算念完加 0.35 秒呼吸位,下一句才开始;如果全部内容装不进视频(口播总量超载),自动精简「和前一个画面贴得最近」的次要句子(开场白和收尾语永远保留),再把留下的句子按均匀节奏铺满全片,同时 AI 写稿时就带着「每批画面最多讲多少字」的硬预算,从源头不超载。第二层在配音全部完成后,用每段配音的真实时长再体检一遍:仍有冲突就自动后移;总量确实装不下,就把全部配音整体轻微加速(最多 1.25 倍,听感几乎无差),还不行才精简中段句子。手动在表格里挪过起点再导出,同样会过这道闸。
- 文案按「时长预算」生成,而不是写完再裁:生成前先调用 ffprobe 拿到视频总时长,乘以解说密度得到目标口播时长,再按中文口播语速(约 4.5 字/秒)折算成目标字数写进提示词,同时给出句子数区间。AI 是在「必须讲满 210 秒」这个硬约束下写稿的,所以不会出现稿子念完视频还剩一大截的情况。
- 时间轴按字数权重铺满整条视频:把每句话的字数换算成权重,用总时长减去句间空隙后按权重分配,再留出一个开场 lead-in(时长×2%,限制在 0.2~0.8 秒)避免第一句和画面同时起步。最后一句的结束时间会贴近视频结尾,实测 213.45 秒的视频,字幕最后一条结束在 213.05 秒。
- 自写 WebSocket 客户端来接在线朗读:该服务在握手阶段强制校验 User-Agent,而 .NET Framework 的 ClientWebSocket 把 User-Agent/Origin 列为受限标头,SetRequestHeader 会抛异常、静默忽略之后就是 403。因此直接用 TcpClient + SslStream 实现了 RFC6455 帧编解码(掩码、分片重组、自动回 Pong),并复刻了 Sec-MS-GEC 校验头(SHA256(5 分钟对齐的时间片 + 固定 token))。
- 推理型模型的「自我复述」清洗:某些推理型模型会把思考过程当正文返回(例如「总字数804,36句平均22.3字…」)。处理办法是三层:提示词里明令禁止输出提纲/字数统计;用高置信度关键词表过滤「总字数/自我检查/提纲」这类行;若整体行数超过上限阈值,则只截取最长的连续纯解说句区块。阈值定为 max(上限+8, 上限×1.6),避免正常波动被误判。
- ffmpeg 一条滤镜链同时烧字幕和混音:用 -filter_complex_script 传滤镜脚本(绕开 Windows 命令行长度与转义问题):subtitles 滤镜挂 force_style 指定中文字体与描边,音频侧各句用 adelay 按起点秒数错开、amix=inputs=N:normalize=0 混合后 apad 补静音对齐视频长度,最后一次性编码输出。
- 离线授权:机器码绑定 + 本地验签:授权证书是一段自包含密文,格式为 base64(salt+iv+密文).base64(HMAC-SHA256)。密钥由 PBKDF2-HMAC-SHA256 从软件密钥与随机盐派生(10 万轮,AES-256-CBC/PKCS7),机器码由本机硬件信息派生并写入密文载荷,程序启动时本地验签,全程不联网校验。
技术栈:C# / .NET Framework 4.8、WinForms 窗体(AntdUI 控件库)、OpenAI 兼容协议(chat/completions)、自实现 RFC6455 WebSocket 客户端、ffmpeg 滤镜链烧录字幕、AES-256-CBC + HMAC-SHA256 离线授权
已知局限:解说文案的质量取决于所配置的 AI 模型,推理型模型容易把输出额度花在思考过程上(可调大「最大输出」或换用非推理型模型);时间轴是按字数权重铺排的,长句与画面细节仍可能略有出入,表格支持双击直接改成片起点秒数;烧字幕需要整段重新编码,耗时与视频长度、机器性能相关;导出是单任务串行的,暂不支持批量队列。
操作教程
视频演示(1 分 28 秒,带女声解说和同步中文字幕):从「选择视频」开始,完整走一遍 填主题 → AI 生成文案 → 一键生成配音 → 导出成片 四步,最后打开输出目录看成片。演示里用的是一段 24 秒的短片,真机上 3 分钟的片子流程完全一样,只是编码等待时间更长。如果内嵌播放器加载不出来,可以 直接下载这个视频文件。
- 先解压到一个固定目录再启动
把压缩包解压到任意目录(例如 D:\MySoft\VoxDub\),双击里面的 my.vox.dub.exe 启动。不要只把 exe 单独拷出去——同目录的 .dll 是必需的运行库。
预期结果:出现「软件授权」窗口;点「试用软件」可以免费试用 3 天,试用期内功能不受限制、成片也没有水印 - 配置 AI 接口(也可以用自带示例之外的服务商)
点主界面右上角「设置」,填三样东西:接口地址、接口密钥、模型名称。接口地址填 OpenAI 兼容协议的根地址(以 /v1 结尾,例如 https://api.deepseek.com/v1),软件会自动补上 /chat/completions。填完点「测试 AI 接口」验证连通。
预期结果:提示接口连通正常;如果报错,优先检查地址是否带了多余的 /chat/completions、密钥有没有多余空格、模型名是否是服务商真实存在的 ID - 选择视频,读时长
点左上角蓝色按钮「选择视频」,用系统文件对话框选中要处理的视频(支持 mp4 / mov / mkv / avi / flv / wmv / m4v / ts / webm)。
预期结果:按钮右侧显示视频时长与分辨率;如果是第一次使用且本机还没有视频组件,软件会自动下载安装 ffmpeg(约 80 MB,有进度提示) - 让 AI 写解说稿(不配接口也可以手写)
在「解说主题/要求」里描述视频内容,例如「录屏教程,讲清楚三步操作流程,面向新手」。选好「解说密度」(默认 80%,100% 表示全程连续口播),点「AI 生成文案」。
预期结果:表格里自动填好每一段的起点秒数和解说文案,句数按视频长度铺满整条时间轴;双击单元格可以直接改成片文案或起点秒数,也可以用「新增段/删除段/上移/下移」调整 - 一键生成配音
点右侧第一个蓝色按钮「① 生成配音」。默认使用在线免费女声(设置里可切换音色、语速、音量),也可以换成系统自带离线语音或自己已有的云 TTS 接口。
预期结果:底部日志实时显示进度,例如 [7/36] 配音中(在线免费语音)…;结束后统计「成功配音 36/36 段」,表格「配音」列标出每段结果 - 导出成片
点「② 导出成片(烧字幕)」。如果只想拿到素材,改点「仅导出音轨 + 字幕」,它不重新编码画面,速度快很多。
预期结果:输出目录出现「原视频名_配音字幕版.mp4」,同时附带 captions.srt 字幕文件和 full_audio.m4a 音轨;字幕已经烧进画面、音轨已经换成新配音
整套流程只有「生成解说文案」和「在线配音」两步需要联网,其余步骤(含导出成片)完全在本机完成。不想用 AI 也可以直接在表格里手写文案,只要保证起点秒数是从小到大的,配音和字幕部分照样能用。
常见问题
技术实现与后续维护
本工具由我们自行开发并持续维护。程序的核心是四段可独立验证的链路:写稿(时长预算 + 权重排布)、配音(三路引擎 + 失败降级)、字幕(由音频时长反推起止)、出片(一条 ffmpeg 滤镜链完成烧录与混音)。每一段都有对应的自检项,发版前会跑一遍完整流水线并人工核对烧录效果。下面说明它的技术构成与可扩展方向,方便你判断是否契合自己的场景。
技术构成:
src/Program.cs—— 程序入口:装配框架配置、解析启动开关(自检 / 流水线 / 证书导入 / 版本)、构造主窗体src/Core/WsClient.cs—— 自实现的 RFC6455 WebSocket 客户端(TcpClient + SslStream),用来解决 .NET Framework 无法设置 User-Agent 标头的问题src/Core/EdgeTts.cs—— 在线朗读服务客户端:握手头构造、Sec-MS-GEC 校验头、音频帧解析、内置 15 个中英文音色src/Core/TtsService.cs—— 三路配音引擎统一入口:在线免费语音 / 系统离线语音(SAPI)/ 自定义云 TTSsrc/Core/AiClient.cs—— OpenAI 兼容客户端:文案生成、思考过程清洗、时间轴排布算法src/Core/MediaTools.cs—— ffmpeg 封装:ffprobe 读时长、SRT 生成、混音、字幕烧录、抽音轨,全部走 UTF-8 标准流src/Core/RenderPipeline.cs—— 四步流水线编排与进度回调,界面与命令行自检共用同一份逻辑src/Core/SelfTest.cs—— 无界面自检:配置 / 授权密钥 / 时间轴 / 字幕格式 / 视频组件 / 在线语音 / AI 接口 七项src/Core/VoxModel.cs、VoxSettings.cs—— 数据模型(任务 / 分段)与配置门面(cfg.ini 的 AI、TTS、字幕、输出四组配置)src/UI/MainForm.cs、BodyForm.cs、SettingsForm.cs—— 主窗壳、工作台主体(分段表格 + 操作区 + 运行日志)、设置对话框src/SoftKey.cs—— 离线授权用的软件密钥(由框架的字符串加密算法生成,不随程序明文存放)
运行环境:
运行环境:Windows 10 / 11(64 位),需要 .NET Framework 4.8(Win10 1809 及以上系统自带,无需单独安装)。运行版为解压即用的绿色包,不写注册表、不需要安装程序、不需要管理员权限。程序共约 12800 KB,其中大部分是 ffmpeg 组件(约 80 MB,首次使用时自动下载,装一次以后复用)。
可扩展方向:
- 批量队列:一次丢进多个视频,排队依次出片(当前是单任务串行)
- 字幕样式可视化预览:调字号、描边、位置时直接看到效果,而不是导出一遍再看
- 外挂字幕模式:除烧录外,支持单独导出 srt/ass 并保留原音轨(做双语字幕时更灵活)
- 接管已有配音:允许导入自己录好的音轨,由软件自动切分句子并生成对齐字幕
- 文案风格预设:把不同平台的开场/收尾套路存成模板,一键套用
本工具免费提供使用,但不对外分发源码。如果你需要在本工具基础上做功能调整、对接内部系统或长期维护,可以联系我们做二次开发,源码与工程文档可在定制合作中一并交付。
需要其它功能?可以定制
这个工具只做一件事:录好的视频没有解说也没有字幕,手动写稿、录音、一句句卡时间做字幕,一条片子要耗掉大半天。如果你的场景还需要别的处理,可以联系我们做二次开发,按你的实际数据格式和流程定制。
常见的定制需求:
- 只给视频加字幕,不做配音(保留原声,字幕按语音识别或手写稿生成)
- 固定使用某一个企业自建的 OpenAI 兼容网关和固定模型名,员工无需配置
- 按行业预置解说风格模板,例如法律科普、母婴、数码测评各自的语气与句式约束
- 批量处理整个目录的视频,输出统一命名规范并对接上传流程
- 授权改为企业多机授权或加入使用时长统计
- 联系方式:邮箱/微信见站内「联系我们」页面,或在本文下方留言
- 定制说明:请附上你的数据样例(脱敏即可)和期望结果,方便快速评估工作量
- 交付形式:定制项目可交付可执行程序,按需一并交付源码与工程文档,支持长期维护
使用说明与免责声明
- 本工具在本地处理视频:导入、配音合成、字幕烧录、导出成片都不联网,视频文件不会上传到任何服务器。需要联网的只有三处:「AI 生成文案」会把视频时长和你填写的主题文字发给 AI 接口;「在线免费语音」会把解说文字发给语音服务(可切换成本机离线语音来避免);首次使用时自动下载 ffmpeg 视频组件(约 80 MB,装一次即可)。
- 涉及文件改写的功能,请在使用前备份原始文件。
- 软件可免费试用 3 天,试用期内功能不受限制、导出成片没有水印;请勿用于倒卖或二次分发。
- 因误操作造成的数据问题请自行承担。
AI 生成的解说文案仅供参考,发布前请自行核对内容的事实准确性;请自行确保你处理的视频、文案与配音用途符合目标平台的规则与著作权要求。在线免费语音使用的是公开的语音服务,不保证长期稳定,长期使用建议配置系统离线语音或自建云 TTS 作为替代。

