![[Avalonia] 剪映字幕识别/文稿匹配API调用工具](http://pic.xiahunao.cn/yaotu/[Avalonia] 剪映字幕识别/文稿匹配API调用工具)
引子作为影视后期人给视频打字幕是家常便饭的事。在前几年2021年及以前字幕识别几乎没有全靠手打短一点的就Pr里直接CtrlT边听边打了长一点的尤其是有稿子的就得用元老打轴软件 Arctime。但这很累很麻烦啊于是2021年末剪映上架了字幕识别功能。但是当时的剪映无法导出Srt识别后只能在剪映内部用为此当时甚至还有人开发专门的字幕提取工具。但后来字节放开了格局22年版本的剪映加入了Srt字幕导出功能于是字幕工作流就变成了剪映识别字幕/文稿匹配 → 导出Srt → 导入达芬奇/Pr/FCPX这套工作流一直沿用至今天对到今天依然是影视行业的标准字幕工作流虽然不再是唯一方案真的没有多少替代办法。一些吐槽虽然Pr2022开始加入了内置的语音转文字后来也支持中文但怎么说呢我用Pr 6年时至今日这个功能只留存在B站影视教学和Pr资源分享博主的嘴里我从来没用上过这个功能包括下载了带语音转文字组件版本的Pr也是极度不稳定经常无法识别或者识别效果还不如 OpenAI_Whisper。对了说到OpenAI_Whisper这玩意也是被自媒体吹的天花乱坠实际上压根不可用可能是训练语料都来自湾湾的缘故压根听不懂普通话中文而且经常飙繁体也能论证这一点。职业不是爱好爱好可以玩技术职业需要的是绝对稳定比如现在客户很急要你半小时内修改一下字幕的小问题万一它就不稳定用不了了怎么办呢造轮子那么既然剪映工作流很好用了现在为什么要开发这么一个工具呢答造轮子一方面是造轮子因为本程序用的也是剪映同款字幕识别api。另一方面现在无文稿的剪映字幕识别是SVIP功能免费用户不能用而对于我们不用剪映的影视人来说开SVIP肯定是不可能的能按量付费使用就最好了于是自己造轮子的需求就出现了。Mcc字幕识别文稿匹配工具 (MccVoxSub.EXE)通过调用火山引擎-豆包语音API实现剪映同款字幕识别、文稿匹配的功能。软件本身完全免费但需要自己注册和填写api以及给火山引擎充值。这是个自用为主的工具但我相信肯定有不少影视人跟我情况类似那么这个工具一定会很好用。技术细节首先这个工具在技术栈上很特别它是 Avalonia 技术栈开发但…基于VisualBasic.NET语言Avalonia 官方并没有VB.NET模板只是官方声称基于.NET特性理论可以实现所以我常识性用Kimi K3部署这个项目还真成了所以这甚至是一个基于VB语言的可跨平台的项目。但目前1.0版本只有win平台。字幕识别只需要只上传音频、视频调用豆包语音Api就可以实现字幕识别和剪映同款Api会自动分割文本超高准确度。这在剪映里是SVIP才能用的功能。文稿匹配除了视频音频还要上传字幕稿实现匹配文字稿自动打轴。也是剪映内置功能。软件在上传媒体文件时会对文件进行压缩编码这里用的是LibVLC库。分享一个我开发时遇到的坑NTSC导致的千分之一时间漂移问题。说白了就是直接调用火山api生成字幕后导入Pr达芬奇会发现字幕时间和视频对不上开头能对上越往后漂移越大。但是在软件内部预览、网页预览中又没有漂移。直接说怎么解决生成Srt字幕文件时需要对返回的时间辍预乘倍率时间 x 1.001这样字幕文件在专业剪辑软件里就能对齐了。具体原因怎么回事就问AI吧我懒得解释了。我直说解决办法是这样就行了。设置界面填写火山引擎API。使用 KIMI K3 辅助开发。这里顺便吐槽其实一开始想用 Tauri2.0 Rust 技术开发名叫 MccVoxStudio功能也更丰富一些还包括了语音合成这些 如下图但是结果失败了。bug一大堆K3 似乎也写不明白Rust语言……然后就弃坑了。下载软件上传到我的网站了app.catz.topMcc字幕识别文稿匹配 / 剪映同款API能力 - 小黑猫的软件工具箱以后若有更新也会在这里发布。仍存缺点这是一个竞争力很弱很边缘型的工具核心问题是火山引擎的豆包语音api价格真的很贵平均输入1分钟1毛钱。而且产生了一个矛盾问题做抖音、信息流短视频的 → 直接全流程剪映 → 必备SVIP → 用不上它做TVC、访谈课程视频的 → 使用Pr/达芬奇 → 时长价格昂贵 → 舍不得用它我明白这一点所以我做它更多也是为了测试AI进行Avalonia开发的水平。或者说也有少数情况确实用得上那就是做高端类短视频但是不走剪映流程我这种总结经验Avalonia可行但是Avalonia For VisualBasic.NET 也不行Avalonia的前端就没有针对VB做适配整个UI所有控件都要在VB逻辑代码中手动绑定。虽然可以用MVVM动态绑定但那样的话局限性又很大。后续会打算开源这个项目嗯也许这是全网第一个也是唯一一个甚至可能也是最后一个基于AvaloniaVB.NET的开源项目吧。