V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Haixiang
V2EX  ›  分享创造

前端程序员 Vibe Coding 了一个字幕识别的 Mac App ( Swift ),感慨良多~

  •  
  •   Haixiang ·
    haixiangyan · 1 天前 · 575 次点击

    灵感

    其实也不是什么灵感,就是自己用 Final Cut Pro 用多了。一直搞不懂为什么果子不做一个字幕识别的功能出来。哪怕收费的也可以啊。

    市面上的字幕识别软件也有,例如 Arc Time ,剪映,讯飞等。但他们一般只导出 srt 文件。

    而 srt 文件导入到 FCP 后,作为字幕组件,FCP 竟然不支持调整样式,难顶。

    所以最后自己搞了个字幕识别的 Mac App (因为要用到离线识别,所以只能用 Mac App 了)。

    下载体验地址: https://video-caption.site/

    文章最后写了一下在开发这款 App 的一些感想,想了解的可以直接拉到最后~

    预览

    预览视频链接

    功能

    离线识别

    使用 Whisper 模型的能力来进行音频转文本。

    效果一般般,只能说到能说,但肯定无法直接媲美剪映。同时 Whisper 需要用到本地计算资源,所以识别的速度取决于电脑性能。当然,如果只识别几分钟的视频,而且用个基础的 base 模型,速度还是够用的。

    在线识别

    因为离线能力一般般,所以就顺手加上了在线识别功能。当然,我觉得各大平台和软件都有了,甚至做得应该比我好,我只是额外提供一下在线识别能力,用的是剪映同款的火山引擎音频识别。

    因为这里要调 API ,所以不可避免要收费,不过,我觉得目前定价 10 分钟视频就 1 块,应该还好?一年 48 周,一周一条视频,也不超过 50 块。

    因为要做收费,所以也得做个登录功能来给大家记账。为了方便大家,这里用的是微信登录,并不是想单独整活。

    导入 Final Cut Pro

    目前提供了导出为 SRT 文件,以及生成 fcpxml 文件。选择“导入 FCP”后,会自动生成 fcpxml 文件,同时导入字幕项目。每条字幕在 FCP 里就是一个标题。

    后面大家就可以批量针对字幕进行样式调整了。

    调整好样式后,可以把当前字幕项目“新建复合片段”,在 FCP 里变成一条新素材,再复制到你自己的项目里就 OK 。

    P.S. 所以可能出现导入后看不到字幕的情况,这是因为 FXP 字幕默认是黑色的,可以在背后加个背景或者加到自己的项目中就能看到了。

    其他功能

    还有一些我自己想的,方便大家的功能:

    1. 字幕历史记录。可以复用以前的字幕。
    2. 将 SRT 文件转为 FCP 标题,导入到自己项目中。本质上就是用你的 srt 生成一个 fcpxml ,后续流程和 “导入 Final Cut Pro” 一样

    End

    当做完这个 App 的时候真的很感慨 AI 的能力竟然如此强大。我自己是个前端程序员,并无任何客户端开发能力。可以说整个项目我都没怎么写过代码。全靠 cursor 开发。

    以前的我也属于那种”守旧派“,觉得别人一直在吹 AI ,我偏要做”众人皆醉,我独醒“的那个人。用一个电影来举例就是《我,机器人》里的那个警探。一方面面临 AI 随时能替代我这样的”页面仔“的恐惧,另一方面又因为厌恶它们对职场的冲击,而不愿意使用或者信任它们。仿佛我极不情愿地被 AI 时代推着往前走的感觉。

    但当我越来越使用 cursor 去实现的时候,我的态度开始转变,就像那位警探一样。从最初的不信任,到把它变成工具,现在我自己对它的感情就像是我的虚拟同事一样。有的时候真的会被 AI 整难受,骂了它一个早上...

    当然,我不是那种吹嘘”AI 就能搞定的“那类人。因为在做这个 App 的时候,我依然跟 Cursor 聊了 1-2 个月(当然是下班闲着的时间了),才聊出来的。所以,我并不认可那些”全给 AI 做,很快就搞定“的言论。AI 是可以提速,但依然有很多问题需要自己面对:

    1. 维护问题。虽然我测过很多遍了,但如果现在有一个线上问题,可能我是没办法及时修复的,因为我对代码是 0 感知。就算要用 AI 来修 Bug ,AI 要花很多 token 去阅读上下文以及代码,才能解决问题。一旦问题多起来,自己全然不理解的话,维护成本( Money )只会越来越高,人力成本变成了金钱成本。
    2. Money 问题,别看我用 AI 用得很爽。整个前后端,服务,咨询消耗的 token 已经爆炸。那个月从原来的 Pro 升级为 Pro+,再升级到 Ultra 。每次问 Cursor 的时候,感觉我的心在滴血,惨~ 我也试过别的 AI model ,但目前来说 Opus 是比较强的。
    3. 上瘾问题。由于所有代码都是 AI 生成的,一旦 token 消耗完了,自己没有能力接管的话,就只能坐以待毙:自己上,实现没 AI 好。放弃?钱都花出去了,就差一点了。最终带来的结果就是你得不断地使用 AI ,不断地砸钱进去。这确实有点像是 Du Pin:一旦停止了,就会出现戒断反应。

    实际上 AI 确实只是工具,拼到底的是执行能力以及解决问题的能力。在做这个 App 时,我也遇到了很多需要人为解决的问题:

    1. 微信支付。 a. 支付需要申请为商家 -> 商家需要个体户/公司。问题:个体户和公司的区别是什么,但这里的区别我想要的是经验上的坑的区别,不单只是条款上的区别。又去了解了一些财务知识。 b. 成立公司/个体户 -> 需要各种备案,提供材料,而且这些材料和流程并不是流水那样的,还有一些相互依赖。 c. 开通收款,如果是公司,还得去银行开个对公账号 b. 成立公司/个体户后,备案主体也得换,换了又得重新备案...
    2. 天杀的微信的开发平台 vs 开发平台 vs 小程序开发平台各管各的功能。
    3. ...

    可以看到,以上这类问题根本无法用 AI 100% 帮你解决,你要做的就是去学习,重新思考,执行,落地。这也是我想表达的:拼到底的是执行能力以及解决问题的能力。

    感想写了好多(非 AI ),大家可以酌情看看,路过方便也可以体验一下 App 哈哈。

    1 条回复    2026-01-17 18:23:40 +08:00
    craftsmanship
        1
    craftsmanship  
       1 天前 via Android
    🐮👍
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   835 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 20:07 · PVG 04:07 · LAX 12:07 · JFK 15:07
    ♥ Do have faith in what you're doing.