macOS 桌面应用 · 识别与播放都在本地

打开视频,
字幕跟上。

LiveSub-Player 让你打开影片就能看:whisper 实时识别生成字幕, 在线免费翻译优先、本地模型兜底,原文 / 译文 / 双语一键切换。 不用找字幕站,不用调时间轴。

✓ 实时识别 · 翻译 · 双语 ✓ 在线优先 · 本地兜底 ✓ SRT / ASS 自动加载 ✓ macOS(Apple Silicon)
movie.mp4 实时生成中
语言识别 · 翻译
えっと、どこへ行くの?
那个……你要去哪?
00:2446:12
译中 原文 双语

演示可交互:点模式切换,或按 1 2 3 —— 正是播放器里的快捷键

为「看懂」而生

目标是能看懂、跟得上,不是发行级字幕——产品边界很克制

🎯

实时字幕

whisper 在后台边播边识别,进度实时可见——「正在识别 xx:xx–xx:xx」,绝不让你以为卡死。静音段自动跳过,幻觉文本多重过滤。

🔀

三模式一键切换

译文(看剧)/ 原文(对照)/ 双语(学习),按键 1 / 2 / 3 随手切。翻译未就绪时原文先上屏,看剧永不停。

🌐

混合翻译

在线免费翻译默认优先,秒回零算力;被内容过滤或断网时,自动落回本地模型——全离线、无视屏蔽。

📦

轻量安装包

安装包不到 30 MB:libmpv 运行时内嵌,模型(识别 ~466MB / 本地翻译 ~4.4GB)按需下载、断点续传。

🗺️

现成字幕优先

视频同目录有 SRT/ASS 就直接加载(自动嗅探编码,GBK 不乱码);没有的话实时字幕随时顶上。

🛡️

干净的退出

拉起的所有子进程(翻译服务、音频抽取)随主程序退出全部收割,绝不留后台。

工作原理

识别是软实时:领先播放太多自动等待,seek 直接丢弃当前窗口重启管线

实时识别

ffmpeg 管道持续抽取音频 → 静音检测过滤 → whisper(whisper.cpp GGML)逐窗推理,时间戳与画面精确对齐。

智能翻译

字幕按 3–5 句攒批送翻译:在线免费端点优先,混元 MT-7B 本地模型兜底;带持久缓存,回看零开销。

字幕上屏

译文到达前原文先显示,译文平滑替换。双语上下排布、字号描边可调,全部 DOM 渲染不糊画面。

安装

macOS(Apple Silicon):三种方式任选,装完双击即开

方式一:一键脚本(推荐)

终端执行 curl -fsSL https://raw.githubusercontent.com/wu529778790/livesub-player/main/install.sh | bash。命令行下载不带隔离标记,安装完直接打开,无任何提示。指定版本:| bash -s -- v0.2.2。

方式二:Homebrew

brew tap wu529778790/tap https://github.com/wu529778790/homebrew-tap && brew install --cask livesub-player。之后 brew upgrade --cask livesub-player 跟版本走。

方式三:手动下载

从 Releases 下载 *-macOS.zip 解压,拖进「应用程序」。浏览器下载带隔离标记,首次打开:右键 → 打开 → 再点打开(只需一次);或终端执行 xattr -cr /Applications/LiveSub-Player.app。

首次启动要下载什么?

首次使用向导会引导下载语音识别模型(~466MB,small 均衡档,也可选 base 快速档)。在线翻译开箱即用;想要全离线/无屏蔽的本地翻译,可再下载混元 MT-7B 模型(~4.4GB,断点续传)。

Windows / Linux 版呢?

安装包已可构建(CI 每次提交自动验证),播放内核接入中——先下载仅能体验界面。关注 Releases 获取更新。

和找现成字幕比,体验差在哪?

实时字幕是「能看懂、跟得上」级别:偶尔晚半拍、专有名词可能不准。有现成字幕时请优先用现成的——播放器会自动加载。

常见问题

更多细节见仓库内的技术方案文档

在线翻译被内容过滤了怎么办?

这正是本地模型存在的意义:设置页一键下载混元 MT-7B(~4.4GB),翻译完全在本地进行,离线可用、无任何内容屏蔽。

为什么安装包这么小?

识别与翻译模型加起来好几个 GB,打包进去只会劝退下载。我们只带运行时(~30MB),模型按需拉取、支持断点续传。

会采集我的数据吗?

识别永远在本地。使用在线翻译时,字幕文本会发送给翻译服务——介意的话切到「仅本地模型」引擎,全程断网也能用。

路线图

进度见 GitHub 项目与 Releases