韩国总统尹卡卡突然讲话,国内社交媒体的一群大佬也蒙了圈,这要是米国大统领突然发表讲话,凭借大家不俗的英语能力,快速拿到第一手消息不在话下,但是面对小语种,大多数人就无能为力了。等到有权威媒体报道,才知道尹卡卡冲冠一怒为红颜,为了老婆要和对手殊死一搏。
这里就要谈到 AI 的视频理解能力了,现在大品牌的 AI 都支持视频理解能力,不过相对成本比较高,主要是捕捉视频帧,然后批量提交给多模态模型理解,我这里介绍的方法是通过 ASR ( Automatic Speech Recognition )技术加上关键帧图片的的组合的方案,这个模式针对小视频比起直接视频理解没有太大优势,针对较大的视频成本优势就比较大了。
当然大品牌的 AI 可能也采用类似的技术,比如 ChatGPT 的 ASR1 分钟的语音识别费用在 4 分钱左右,但是由于 ASR 在本地部署并不需要特别好的配置就能取得顶级的效果,所以还是可以便宜不少。
拆解一下流程
首先我们要能下载到视频,这个大家就各显神通了,相信大家都有技术储备
如果没有视频,可以采用监听麦克风听录的办法
如果有,我们通过 ffmpeg 就可以分离音频,我们可以叫 AI 教教我们
将 C:\Users\lgc653\Downloads\HarvardXSOC1.longx-V004200.mp4 的音频分离出来
AI 告诉我们
ffmpeg -i "C:\Users\lgc653\Downloads\HarvardXSOC1.longx-V004200.mp4" -q:a 0 -map a "C:\Users\lgc653\Downloads\HarvardXSOC1_audio.mp3"
这里用两种方案都可以,偶尔用用直接上 API ,长期使用建议自己搭建
ChatGpt 的方案需要注意的是response_format参数,建议使用 verbose_json ,这样可以获得带有每句话 start 、end 时间戳的 json ,可以精准制作字幕
这个网上流程比较多了,我就不详细讲了,只要机器不是太差,识别效果是非常优秀的,同样也支持 start 、end 的时间戳
统一成如下格式
[{"start": "0.0000", "end": "9.0000", "text": "……", "language": "en"}]
这个大家应该都会吧,就是把之前生成的文本发送给大模型,如果你想做的更好些,可以截取几个关键帧的图片一起提交给大模型,因为通过声音文本大模型没办法确认讲话者是谁,场景在哪里。
难点就是在要求大模型返回 json 时,可能会有 2 种选择,一种是Function calling,另外一种是自己解析,这些都大同小异。
根据之前的 json 转换为字幕文件,了解一下 srt 和 vtt 格式即可,其实把 json 贴给 AI ,要它给你封装 2 个函数就行了,绝对比你干得好。
根据以上的技术流程,大家可以看看效果
转换为字幕
结合字幕和截取的图片进行视频理解(认出了是韩国政要,但是没有认出是尹卡卡)
1
metalvest 14 天前
东西很好,就是官方下载链接用百度网盘有点那什么,哪怕放个 github 的 release 链接呢
|
3
Flobit 14 天前
图一妹子挺好看的
|
4
lgc653 OP 感谢各位留言,也可以去 https://github.com/lgc653/courses/releases 下载,欢迎大家试用反馈。也没想过靠这个能赚钱,自己业余时间做个项目基座来跟一下技术潮流,顺便通过大家的反馈来找找方向。
|
8
bojackhorseman 14 天前 via iPhone
@Flobit 你是真的饿了
|