Jasna 是一个开源的马赛克修复工具,跑在本地 GPU 上。它有两个修复模型:免费的 BasicVSR++,和付费的 LTX。这篇讲清楚它到底怎么工作、LTX 为什么慢但效果更好、以及跑一轮要付出什么代价。
Jasna 是什么
按官方说明,Jasna 做的事情很窄:找出视频里的马赛克区域,只修复那一块,画面其他部分不动。
它不修改原始视频的构图、不动音频、不重编码无关区域。这一点决定了它的整个技术路线——不是”重生成整帧”,而是”定位 + 局部修补 + 融合”。
项目地址:
1 | https://github.com/Kruk2/jasna |
公开应用代码是 AGPL-3.0,模型和捆绑依赖各自有独立许可条款。
处理流程
默认(BasicVSR++)路径是七步,几乎全在 GPU 上跑:
1 | 1. 解码 GPU 解码(NVIDIA 用 NVDEC,AMD 用 AMF) |
几个关键设计:
片段(segment)是有上限的。 默认最多 90 帧一段,可以调。这样做的原因是显存——一次送入网络的帧数必须可控。
片段在镜头切换处强制断开。 这是个很容易被忽略但很聪明的细节:如果一段跨了两个不同镜头,修复结果会把两个场景的信息混在一起,产生诡异的画面。在切镜处断开就避免了这个问题。
片段之间有重叠。 相邻段共享少量帧,避免拼接处出现可见跳变。这个思路和音频拼接的 crossfade 是一回事。
LTX 为什么不一样
LTX 走的不是同一条路。它把视频处理四遍:
1 | 查找马赛克 → 准备 → 用扩散模型修复 → 保存 |
区别在第三步。「用扩散模型修复」意味着它不是靠一个超分网络把糊掉的块放大,而是把马赛克区域当成一个待填补的缺失部分,用扩散模型根据周围上下文重新生成细节。
两种模型的本质区别:
BasicVSR++ 是视频超分/复原网络——输入退化的画面,输出恢复版本,本质是回归。
LTX 是扩散模型条件生成——把马赛克区域当成待填补的缺失部分,根据周围上下文重新生成细节,本质是生成。
这个分野决定了所有后续差异:
“可能编”这一点要说清楚。 扩散模型补出来的细节是根据上下文推测的,不是从原始数据里恢复的。所以 LTX 出来的画面在观感上更好,但它补的东西不等于真实原貌。这一点在技术上是本质限制,不是调参能解决的。
检测环节
修复的前提是先在每一帧里准确定位马赛克。Jasna 用 RF-DETR 系列:
1 | rfdetr-v6 默认,快,适合大多数视频 |
默认检测阈值 0.35(large 和 vr 版本是 0.40),可以用 --detection-score-threshold 调整。阈值调低会多检出(也可能误检),调高则可能漏检——漏检的地方后面根本不会被修复,所以这个参数直接影响最终结果。
硬件门槛
这部分是实打实的成本,先说清楚:
LTX 要求
1 | GPU NVIDIA RTX 30/40/50 系列(20 系列测过 2080 Ti) |
模型下载体积:
1 | 标准 约 15 GB |
实测速度(1 分钟 1080p、马赛克全程在画面中的视频,标准模型):
| GPU | 标准 | 快速模式 |
|---|---|---|
| RTX 5090 | 约 5 分钟 | 约 3 分钟 |
| RTX 4090 | 约 7 分钟 | 不可用 |
| RTX 5080 | 约 10 分钟 | 约 7 分钟 |
| RTX 3090 | 约 15 分钟 | 不可用 |
| RTX 2080 Ti | 约 45 分钟 | 不可用 |
「最佳」模型约慢 1.5 倍。「大马赛克更清晰」选项(--ltx-large-canvas)对这种区域约慢 3 倍,还要额外 12 GB 空闲显存。
对比 BasicVSR++ 在同一台 RTX 5090 上跑 3 分 22 秒的整段视频:720p 用 32 秒,1080p 用 34 秒,2160p 用 63 秒。LTX 和 BasicVSR++ 之间差了一个数量级。 所以官方建议也很直白:LTX 用在”你最在意的那几段”上,不要整片跑。
一个实用策略:混合修复
既然 LTX 慢且贵,最经济的用法是只对重要区域用 LTX。
Jasna 提供了这个能力:
1 | # 只对大马赛克用 LTX,其余用 BasicVSR++ |
大马赛克面积大、信息缺失多,用 LTX 的收益最明显;小面积区域用 BasicVSR++ 质量已经够,没必要付那个时间成本。
还有区间编辑器:可以只在选中的时间段应用 LTX,其余段用默认模型。配合「修复预览」可以先看效果再决定,不用整片跑完才发现不合适。
显存不够怎么办
几个实际可用的手段:
1 | 1. 降低最大片段大小(默认 90,可以降到 60 或更低) |
显存小的卡会自动把部分模型放到系统内存里,代价是速度下降。
其它技术约束
都是官方文档里明确写的,不是猜测:
- LTX 不支持 VR180 左右并排视频
- LTX 不支持流媒体
- 用 LTX 时,二次修复和降噪会被关闭
- LTX 不支持 AMD(二次修复也仅限 NVIDIA)
- 路径里不能有中文、日文、非英文字符——这是个很常见的坑
授权与分发
Jasna 本身免费,AGPL-3.0。但模型分两档:
1 | BasicVSR++ 免费 |
许可证码一个可以激活 3 台电脑或云工作区,激活后可离线使用。官方明确警告:其它渠道卖的许可证码、修改版文件都是假的,那些密钥不能用,文件里可能夹带恶意代码。
从技术角度看这个设计的合理之处:模型训练需要租 GPU,这部分成本确实由作者承担。而软件本体开源,意味着你可以审计它到底对你的文件做了什么——对一个处理私人视频的工具来说,这点比什么都重要。
一点判断
Jasna 的技术路线本身是干净的工程:GPU 全链路、分段处理、切镜断开、重叠融合,每一步都有明确的工程理由。
但有一个问题值得想清楚:LTX 补出来的细节是生成出来的,不是恢复出来的。
这意味着它的输出在技术上更接近”合理推测”而不是”还原真相”。如果你用它来处理的内容涉及证据、鉴定或任何需要保真的场景,这个区别是致命的。
另外,这个工具的实际用途和它的技术门槛是错配的——它需要一个 8GB 以上显存的 NVIDIA 卡、几十 GB 磁盘、以及几分钟处理一分钟视频的耐心。多数人真正需要的可能只是 BasicVSR++。
上手
1 | # 基本用法 |
jasna --help 有全部选项。
第一次运行会非常慢——要为你的 GPU 做准备,15 到 60 分钟,只发生一次。这期间别开别的程序。之后把 model_weights 文件夹拷到新版本里,就不用重来一遍。
参考
1 | Jasna 项目 https://github.com/Kruk2/jasna |
以上技术细节均来自项目官方文档。数值(速度、显存、体积)为官方给出的参考值,实际结果受 GPU、驱动、视频内容影响。