V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lgc653
V2EX  ›  分享发现

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

  •  
  •   lgc653 · 21 小时 36 分钟前 · 779 次点击

    背景介绍

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

    韩国总统尹卡卡

    这里就要谈到 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 个函数就行了,绝对比你干得好。

    产品实现

    根据以上的技术流程,大家可以看看效果

    转换为字幕

    image-20241204115230621

    结合字幕和截取的图片进行视频理解(认出了是韩国政要,但是没有认出是尹卡卡)

    image-20241204115319346

    8 条回复    2024-12-04 20:10:03 +08:00
    metalvest
        1
    metalvest  
       21 小时 8 分钟前
    东西很好,就是官方下载链接用百度网盘有点那什么,哪怕放个 github 的 release 链接呢
    7i587i789
        2
    7i587i789  
       20 小时 31 分钟前
    @metalvest 给度盘够不错的了。起码不是夸克这些网赚盘,有些东西我还嫌没度盘渠道
    Flobit
        3
    Flobit  
       19 小时 59 分钟前
    图一妹子挺好看的
    lgc653
        4
    lgc653  
    OP
       18 小时 54 分钟前
    感谢各位留言,也可以去 https://github.com/lgc653/courses/releases 下载,欢迎大家试用反馈。也没想过靠这个能赚钱,自己业余时间做个项目基座来跟一下技术潮流,顺便通过大家的反馈来找找方向。
    lgc653
        5
    lgc653  
    OP
       18 小时 39 分钟前
    @Flobit 叫姐姐或者阿姨比较合适
    Flobit
        6
    Flobit  
       16 小时 40 分钟前
    @lgc653 啊,已经这么大年纪了么?看不太出来呢
    digd
        7
    digd  
       16 小时 30 分钟前 via Android
    @Flobit

    尹锡悦老婆,1972 年生人,现年 52 岁。
    bojackhorseman
        8
    bojackhorseman  
       14 小时 22 分钟前 via iPhone
    @Flobit 你是真的饿了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5903 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 02:32 · PVG 10:32 · LAX 18:32 · JFK 21:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.