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

5 月 6 日
 andyskaura
原先在 v 站发了一贴,当时只有 mac 端,没什么人用。
后来在别的帖子提了一嘴,发现还是有很多人需要的。

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

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

博客链接: https://kuraa.cc/archives/yong-aizuo-liao-yi-ge-gei-xiao-dian-ying-jia-zi-mu-de-gong-ju
4553 次点击
所在节点    分享创造
59 条回复
firefox12
5 月 6 日
@andyskaura 本地镜像起的服务 肯定是 json 结果啊, 但是结果里不是纯净的翻译结果。 所以我再调了一次大模型,让它看上次的结果里 有没有 xxx xxx 这样的关键字 有的话 就去掉。 我用的 qwen2.5 的模型,chatgpt 给的建议 发现不太好用。结果总是不太对
jtam
5 月 6 日
原来是 NSFW 的摄影师大佬,失敬
Clannad0708
5 月 6 日
op 是怎么用 ai 无人值守迭代出这个产品的?
andyskaura
5 月 6 日
@firefox12 #21
andyskaura
5 月 6 日
@Clannad0708 我这里的无人值守是指我不是很关注实现细节,全交给它了。
把整个需求直接 txt 列好了,codex 开最高权限,开始梭哈,然后开一局 csgo ,打完一局,再纠正一下。
andyskaura
5 月 6 日
@jtam 年纪大了 看 a 片都跳过啪啪啪部分。
xuromky
5 月 6 日
@andyskaura 是不是没 AMD 显卡 gpu 加速的关系,都快两个小时了,一部小电影还没结束
andyskaura
5 月 6 日
@xuromky #27 我也收到反馈了,我两台电脑,14600kf+intel 显卡 b580 和 m1 的 mac ,2 小时电影,大概 30 分钟转录完。 https://huggingface.co/ggerganov/whisper.cpp/tree/main 你方便手动下载 tiny 模型替代一下看看效果和效率?
xuromky
5 月 6 日
@andyskaura #28 选哪个呀,我的电脑配置是
andyskaura
5 月 6 日
@xuromky #29 tiny-q5—1.bin 试试,如果还是慢或者效果不好,就得找找别的方案了。
andyskaura
5 月 6 日
@xuromky #27 隔壁站那个说慢的也是你!
zyxk
5 月 6 日
我想知道, 用国内翻译模型,会不会被封号,你们都用什么翻译
@buxuku2008 #7
@andyskaura #2
firefox12
5 月 6 日
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
5 月 6 日
windows 版本在 model 目录下载了 ggml-large-v3-turbo.bin 或者 ggml-large-v3.bin 替换你默认配置的 ggml-base-q5_1.bin ,出现加载失败。
zyxk
5 月 6 日
@buxuku2008 #7 smartsub 使用了一下, 功能很完善,提一点小建议, 字幕翻译是一条一条翻译的,速度比较慢, 如果能改进一下, 批量翻译,每次翻译 20 / 30 / 50 条,速度会有 N 倍的提升。

我使用 10 分钟的中文视频测试,并翻译为英文,mac m4 提取字幕只用了 26 秒, 但是翻译用了近 5 分钟, 看了一下日志,使用 DeepSeek 请求 二或三秒 返回一次,每次只请求一句, 如果每次翻译请求 30 句,那就太棒了。
litchinn
5 月 6 日
模型对这方面的输出没有限制吗
andyskaura
5 月 6 日
@yrk20212021 我测试了 tiny 是正常的,等我回家试试体量更大模型
andyskaura
5 月 6 日
@litchinn 反正鸡鸡什么的都正常输出
andyskaura
5 月 6 日
@zyxk #35 确实,如果一句一句翻,还容易翻译不准确。用 llm 的优势就是,直接一大篇发过去,带着上下文翻译又快又准
xuromky
5 月 6 日
@andyskaura #31 哈哈哈是我,现在换了你说的这个,速度快多了 不过也要 1 个小时,翻译效果不是很好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1210426

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX