利用智谱 AI 免费的 glm-4v-flash 模型,制作了个视频硬字幕提取软件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
jianchang512
V2EX    分享创造

利用智谱 AI 免费的 glm-4v-flash 模型,制作了个视频硬字幕提取软件

  •  
  •   jianchang512
    jianchang512 293 天前 3177 次点击
    这是一个创建于 293 天前的主题,其中的信息可能已经有所发展或是发生改变。
    智谱 AI 的 glm-4v-flash 模型不仅免费(仅限制调用频率,不限制次数),而且具备图像理解能力,可以作为 OCR 工具使用。虽然目前仅支持中英文识别,但对于大多数场景已经足够。

    基于此开发了一个硬字幕提取软件。



    ## 技术原理

    1. 视频切帧: 首先,使用 FFmpeg 工具将视频按 1 秒间隔切分为图像帧。按照上中下三等分根据选择取其一。选择 1 秒间隔而非逐帧提取

    2. OCR 识别: 将切分后的图像帧发送给智谱 AI 的 GLM-4V-FLASH 模型,进行 OCR 识别,提取图像中的文字。

    3. 字幕去重: 由于连续的图像帧可能包含相同的字幕内容,为了避免重复,使用 sentence-transformers 模型计算当前识别出的字幕与前一句字幕的相似度。如果相似度超过 60%,则认为两条字幕内容相同,进行去重。

    4. 生成字幕文件: 最后,将去重后的字幕文本按照对应的时间戳进行拼接,并保存为 SRT 格式的字幕文件。


    软件下载地址 https://github.com/jianchang512/stt/releases/download/0.0/GVS-0.1.7z
    5 条回复    2024-12-23 02:44:27 +08:00
    subtleworks
        1
    subtleworks  
       293 天前
    请问挂 VPN 后可以调用这个 api 吗
    jianchang512
        2
    jianchang512  
    OP
       293 天前
    国内 api 似乎都不支持国外 ip 访问
    mumbler
        3
    mumbler  
       293 天前
    字幕用 whisper 从音频提取不是更好么
    jianchang512
        4
    jianchang512  
    OP
       293 天前
    @mumbler 当然更好,也更简单,不过有些场景下希望提取硬字幕,通常在语音和字幕不是同一种语言时,例如某些国外电影资源语音非中文,但配有中文硬字幕时
    syaoranex
        5
    syaoranex  
       291 天前
    1. 1 秒间隔肯定会漏字幕。因为有一小部分字幕的持续时间不足 1 秒。现阶段成熟的制品都是用 CV 来做字幕帧判断。
    2. 从图中来看,你这个没有换行呀。OCR 的输出没有换行,最终字幕到生产上是肯定用不了的。
    3. sentence-transformers 没必要,如果第一步就用 CV 来做的话。当然去重有很多办法,没必要在本地跑模型,简单的字符串相似度检测都有比较好的效果,杀鸡没必要用牛刀。


    现在硬字幕转 SRT 的最佳流程还是 CV 截取+传统多个模型共同识别+多模型大模型审校。时间戳和转换出来的效果都很不错。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5353 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 07:27 PVG 15:27 LAX 00:27 JFK 03:27
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86