尹卡卡说了啥 - 聊聊使用 AI 做视频理解

查看 6|回复 0
作者:lgc653   
背景介绍
韩国总统尹卡卡突然讲话,国内社交媒体的一群大佬也蒙了圈,这要是米国大统领突然发表讲话,凭借大家不俗的英语能力,快速拿到第一手消息不在话下,但是面对小语种,大多数人就无能为力了。等到有权威媒体报道,才知道尹卡卡冲冠一怒为红颜,为了老婆要和对手殊死一搏。

这里就要谈到 AI 的视频理解能力了,现在大品牌的 AI 都支持视频理解能力,不过相对成本比较高,主要是捕捉视频帧,然后批量提交给多模态模型理解,我这里介绍的方法是通过 ASR ( Automatic Speech Recognition )技术加上关键帧图片的的组合的方案,这个模式针对小视频比起直接视频理解没有太大优势,针对较大的视频成本优势就比较大了。
当然大品牌的 AI 可能也采用类似的技术,比如 ChatGPT 的 ASR1 分钟的语音识别费用在 4 分钱左右,但是由于 ASR 在本地部署并不需要特别好的配置就能取得顶级的效果,所以还是可以便宜不少。
技术概述
拆解一下流程
  • 使用 ffmpeg 将视频做语音和视频分离,如果背景音比较强烈可能还要用 uvr5 之类的工具获取更加干净的人声(当然你声音效果过于嘈杂也别做效果太好的指望)

  • 使用 ASR 技术将语言转成文本,这里推荐转成包含时间戳的文本,这样可以直接制作成字幕,这里有 2 种解决方案:
  • 使用 ChatGPT whisper 或类似产品的 API
  • 基于 fasterwhisper 等开源模型自己搭建转换系统
  • 将文本使用大模型进行转换、翻译等一系列操作。
  • 制作成 srt 或者 vtt 等字幕文件或其它产品形态。

    技术详解
    下载视频
    首先我们要能下载到视频,这个大家就各显神通了,相信大家都有技术储备
    获取音频
    如果没有视频,可以采用监听麦克风听录的办法
    如果有,我们通过 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 whisper

    ChatGpt 的方案需要注意的是response_format参数,建议使用 verbose_json ,这样可以获得带有每句话 start 、end 时间戳的 json ,可以精准制作字幕

    基于 fasterwhisper 自建
    这个网上流程比较多了,我就不详细讲了,只要机器不是太差,识别效果是非常优秀的,同样也支持 start 、end 的时间戳
    返回的 json 格式
    统一成如下格式
    [{"start": "0.0000", "end": "9.0000", "text": "……", "language": "en"}]
    大模型文本处理
    这个大家应该都会吧,就是把之前生成的文本发送给大模型,如果你想做的更好些,可以截取几个关键帧的图片一起提交给大模型,因为通过声音文本大模型没办法确认讲话者是谁,场景在哪里。
    难点就是在要求大模型返回 json 时,可能会有 2 种选择,一种是Function calling,另外一种是自己解析,这些都大同小异。
    生成字幕文件
    根据之前的 json 转换为字幕文件,了解一下 srt 和 vtt 格式即可,其实把 json 贴给 AI ,要它给你封装 2 个函数就行了,绝对比你干得好。
    产品实现
    根据以上的技术流程,大家可以看看效果
    转换为字幕

    结合字幕和截取的图片进行视频理解(认出了是韩国政要,但是没有认出是尹卡卡)
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部