V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
andyskaura
4.64D

用 AI 做了一个给小电影加字幕的工具

  •  
  •   andyskaura · 2 days ago · 3048 views
    原先在 v 站发了一贴,当时只有 mac 端,没什么人用。
    后来在别的帖子提了一嘴,发现还是有很多人需要的。

    于是五一抓紧时间完善了一下。

    写完只想说,ai 更新太快,刚开始调研需求时,还处于 web 上一问一答的古法 ai 时代,等落地时已经是无人值守时代了。

    博客链接: https://kuraa.cc/archives/yong-aizuo-liao-yi-ge-gei-xiao-dian-ying-jia-zi-mu-de-gong-ju
    Supplement 1  ·  1 day ago
    经过昨天大家伙儿反馈,主要集中在 whisper 转录慢。
    梭哈时没有考虑太多,计划从两个方向进行优化:
    1.使用 fast-whisper 替换原生 whisper
    2.whisper 开启 gpu 加速(开发时完全没去了解这些,所以默认的跑在 cpu 上:))

    花一点点时间 vibe 出来的东西能带来价值,真的挺开心的。
    感谢大家使用
    55 replies    2026-05-07 10:32:31 +08:00
    xuromky
        1
    xuromky  
       2 days ago
    OP 建议用什么翻译模型,我来试试
    andyskaura
        2
    andyskaura  
    OP
       2 days ago
    @xuromky 其实都可以,7b 本地都够用了。llm 做翻译就是手拿把掐。
    不过老旧的笨模型好像序列化输出可能会有问题。
    idblife
        3
    idblife  
       2 days ago
    点赞,我一直想做一个呢,这下省时间了,哈哈。
    除了小电影外,有些冷门的美剧/电影没有字幕,也需要这个工具。
    mywaiting
        4
    mywaiting  
       2 days ago
    项目简介的图片,这刚一点开,后面就不知不觉站了几个同事了~~啧啧啧~~
    xuromky
        5
    xuromky  
       2 days ago
    @andyskaura 这样填对吗 还是需要加上 v1
    andyskaura
        6
    andyskaura  
    OP
       2 days ago
    @xuromky #5 一般是得有 v1 的,得看你那个提供商给的 openai 格式的接口是啥
    buxuku2008
        7
    buxuku2008  
       2 days ago   ❤️ 1
    感谢作者开源,用 tauri 来做非常棒,我之前也做了一个类似这样的工具,生成字幕,翻译,校对,字幕合成这些功能都集成有了。
    https://github.com/buxuku/smartsub
    andyskaura
        8
    andyskaura  
    OP
       2 days ago
    @mywaiting 很有效果嘛
    heganyuliang
        9
    heganyuliang  
       2 days ago
    这类工具市场上有不少,对我来说最大的痛点是不支持 AMD 显卡的 GPU 加速哈哈
    andyskaura
        10
    andyskaura  
    OP
       2 days ago
    @buxuku2008 你这个功能完成度好像比我的高不少啊
    buxuku2008
        11
    buxuku2008  
       2 days ago
    @andyskaura 也是一步步迭代过来的。之前也考虑过采用 tauri + whisper-rs 进行重构,但没精力搞。可以作为你的一个借鉴参考。
    andyskaura
        12
    andyskaura  
    OP
       2 days ago
    @buxuku2008 #11 好的,感谢,目前已满足我对 nas 小姐姐的需求,有你这个项目,更不会迭代了
    xuromky
        13
    xuromky  
       2 days ago
    @heganyuliang +1,我的也是 AMD 的显卡,现在处理速度好慢
    mywaiting
        14
    mywaiting  
       2 days ago   ❤️ 1
    @andyskaura 该说不说 V2 这里加个 [NSFW] 在标题里,推广项目感觉更有效果~~[逃]~~
    ala2008
        15
    ala2008  
       2 days ago   ❤️ 1
    感觉不错,可惜我需要的是在线翻译啊,一般不下载本地看🤣
    JYii
        16
    JYii  
       2 days ago
    去年年初就准备买硬盘组 nas ,到今天,购物车里 4t 的价格翻了 2.5 倍。
    lagrange7
        17
    lagrange7  
       2 days ago
    不错,下个试试。给你点 star 了
    idblife
        18
    idblife  
       2 days ago
    @andyskaura
    有自动升级功能没?
    没有的话等有了我再安装,比较懒。。。
    firefox12
        19
    firefox12  
       2 days ago
    弱问一下 拿 llm 本地翻译, 我这么写的 把下面的英语翻译成中文 直接给中文 不要给任何信息,下面就是一段英语。 翻译出来的结果 有时候正确,有时候 他会把思考的步骤 返回出来 比如说 这句话原意是什么 可以这么思考 。。。。。 我就是用大模型做一个翻译,这个该如何解决?因为再试一次可能对 也可能不对。正确的打开方式是什么?
    andyskaura
        20
    andyskaura  
    OP
       2 days ago
    @firefox12 response_format={'type': 'json_object'} 铁汁,你得用序列化输出啊
    firefox12
        21
    firefox12  
       2 days ago
    @andyskaura 本地镜像起的服务 肯定是 json 结果啊, 但是结果里不是纯净的翻译结果。 所以我再调了一次大模型,让它看上次的结果里 有没有 xxx xxx 这样的关键字 有的话 就去掉。 我用的 qwen2.5 的模型,chatgpt 给的建议 发现不太好用。结果总是不太对
    jtam
        22
    jtam  
       2 days ago
    原来是 NSFW 的摄影师大佬,失敬
    Clannad0708
        23
    Clannad0708  
       2 days ago
    op 是怎么用 ai 无人值守迭代出这个产品的?
    andyskaura
        24
    andyskaura  
    OP
       2 days ago
    @firefox12 #21
    andyskaura
        25
    andyskaura  
    OP
       2 days ago
    @Clannad0708 我这里的无人值守是指我不是很关注实现细节,全交给它了。
    把整个需求直接 txt 列好了,codex 开最高权限,开始梭哈,然后开一局 csgo ,打完一局,再纠正一下。
    andyskaura
        26
    andyskaura  
    OP
       2 days ago
    @jtam 年纪大了 看 a 片都跳过啪啪啪部分。
    xuromky
        27
    xuromky  
       2 days ago
    @andyskaura 是不是没 AMD 显卡 gpu 加速的关系,都快两个小时了,一部小电影还没结束
    andyskaura
        28
    andyskaura  
    OP
       2 days ago
    @xuromky #27 我也收到反馈了,我两台电脑,14600kf+intel 显卡 b580 和 m1 的 mac ,2 小时电影,大概 30 分钟转录完。 https://huggingface.co/ggerganov/whisper.cpp/tree/main 你方便手动下载 tiny 模型替代一下看看效果和效率?
    xuromky
        29
    xuromky  
       2 days ago
    @andyskaura #28 选哪个呀,我的电脑配置是
    andyskaura
        30
    andyskaura  
    OP
       2 days ago
    @xuromky #29 tiny-q5—1.bin 试试,如果还是慢或者效果不好,就得找找别的方案了。
    andyskaura
        31
    andyskaura  
    OP
       2 days ago
    @xuromky #27 隔壁站那个说慢的也是你!
    zyxk
        32
    zyxk  
       2 days ago
    我想知道, 用国内翻译模型,会不会被封号,你们都用什么翻译
    @buxuku2008 #7
    @andyskaura #2
    firefox12
        33
    firefox12  
       2 days ago
    OLLAMA_URL = "http://127.0.0.1:11434/api/generate"
    MODEL = "qwen2.5:7b"

    RETRY = 3
    SLEEP = 1


    # ===== 调用本地大模型 =====
    def translate(text, mode="movie"):
    if not text:
    return None

    if mode == "movie":
    prompt = f"把下面的英文句子描述翻译成简体中文,保持简洁自然。记住我的要求,前面的部分不要重复, 只给出后面的翻译 :\n{text}"
    print(prompt)
    for i in range(RETRY):
    try:
    response = requests.post(OLLAMA_URL, json={
    "model": MODEL,
    "prompt": prompt,
    "stream": False
    }, timeout=120)

    result = response.json()
    return result.get("response", "").strip()

    except Exception as e:
    print(f"翻译失败,第{i+1}次重试:", e)
    time.sleep(2)

    return None
    我是用本地模型,效果不行,有的好,有的会有思考过程的结果
    yrk20212021
        34
    yrk20212021  
       2 days ago
    windows 版本在 model 目录下载了 ggml-large-v3-turbo.bin 或者 ggml-large-v3.bin 替换你默认配置的 ggml-base-q5_1.bin ,出现加载失败。
    zyxk
        35
    zyxk  
       2 days ago
    @buxuku2008 #7 smartsub 使用了一下, 功能很完善,提一点小建议, 字幕翻译是一条一条翻译的,速度比较慢, 如果能改进一下, 批量翻译,每次翻译 20 / 30 / 50 条,速度会有 N 倍的提升。

    我使用 10 分钟的中文视频测试,并翻译为英文,mac m4 提取字幕只用了 26 秒, 但是翻译用了近 5 分钟, 看了一下日志,使用 DeepSeek 请求 二或三秒 返回一次,每次只请求一句, 如果每次翻译请求 30 句,那就太棒了。
    litchinn
        36
    litchinn  
       2 days ago
    模型对这方面的输出没有限制吗
    andyskaura
        37
    andyskaura  
    OP
       2 days ago
    @yrk20212021 我测试了 tiny 是正常的,等我回家试试体量更大模型
    andyskaura
        38
    andyskaura  
    OP
       2 days ago
    @litchinn 反正鸡鸡什么的都正常输出
    andyskaura
        39
    andyskaura  
    OP
       2 days ago
    @zyxk #35 确实,如果一句一句翻,还容易翻译不准确。用 llm 的优势就是,直接一大篇发过去,带着上下文翻译又快又准
    xuromky
        40
    xuromky  
       2 days ago
    @andyskaura #31 哈哈哈是我,现在换了你说的这个,速度快多了 不过也要 1 个小时,翻译效果不是很好
    hardyfish
        41
    hardyfish  
       2 days ago
    看日本老师在线片,有中文翻译解决方案不?
    andyskaura
        42
    andyskaura  
    OP
       2 days ago
    @xuromky #40 是的 所以还得是默认的模型,不然转录出来很怪。我再找找有没有加快的方式吧
    lambdaX999
        43
    lambdaX999  
       2 days ago
    你们都是科技加持,只有我去考了日语等级
    mrabit
        44
    mrabit  
       2 days ago
    @litchinn 部分模型还是会有敏感词的 目前用过最宽松的 应该就是 grok 了
    andyskaura
        45
    andyskaura  
    OP
       2 days ago
    @lambdaX999 撕国一列
    xuromky
        46
    xuromky  
       2 days ago
    @andyskaura #42 为什么这么多 translation: send error: channel closed
    andyskaura
        47
    andyskaura  
    OP
       2 days ago
    @xuromky #46 这像是 api 调用失败了,不断地再重试
    xuromky
        48
    xuromky  
       2 days ago
    @andyskaura #47 好吧 话说你推荐的 GLM-4.7-Flash 模型是官方申请的吗 我找不到
    andyskaura
        49
    andyskaura  
    OP
       2 days ago
    19cm
        50
    19cm  
       2 days ago
    不错, 原来 v 站有老哥发了个收费的
    19cm
        51
    19cm  
       2 days ago
    如果老哥对成人这块特别有热情,可以跟我交流,我写了个成人网站的插件,功能挺多的
    snowfuck
        52
    snowfuck  
       2 days ago
    老哥可以的,最重要是动起手来!
    qfdk
        53
    qfdk  
    PRO
       1 day ago
    哈哈 可以可以, 其实我的 voila 是可以有实时字幕模式的, 只不过不能翻译 这个有点儿遗憾.回头接一个翻译接口吧,这样估计也就舒服了不用等的喔
    buxuku2008
        54
    buxuku2008  
       1 day ago
    @zyxk 支持批量翻译的,在翻译服务商设置的下面
    zyxk
        55
    zyxk  
       1 day ago
    @buxuku2008 #54
    已经找到, 感谢
    这个工具简直完美
    m4 mini 使用全本地模型,large-v3-turbo 识别 + gemma4-e2b 翻译 2 小时影片只需要 10 分钟
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1579 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 119ms · UTC 16:40 · PVG 00:40 · LAX 09:40 · JFK 12:40
    ♥ Do have faith in what you're doing.