Jasna 视频马赛克修复指南:GPU 加速、免费模型选型与显存调优实战
【免费下载链接】jasnaVideo restoration tool项目地址: https://gitcode.com/GitHub_Trending/ja/jasna
Jasna 是一款免费开源(AGPL-3.0)的 GPU 加速视频马赛克修复工具,从解码、检测到修复、编码全链路跑在 GPU 上,同时支持 NVIDIA(GTX 16 系起)与 AMD(RX 7000/9000,实验性)。读完本文,你能按显存档位选对参数、跑通第一个修复任务,并在遇到问题时自行定位。
先对号入座:你的情况该读哪里
不同起点的人没必要从头读到尾。按你现在的状态跳读,门槛列是硬条件,不满足先解决它:
| 你是谁 | 重点读 | 硬门槛 |
|---|---|---|
| 新手(还没跑起来过) | 跑通第一个修复任务、Jasna 内部流程一览 | NVIDIA GTX 16 系 / RTX 20 系及以上(计算能力 ≥ 7.5),或 AMD RX 7000/9000(实验性);安装路径必须纯英文 |
| 进阶(已跑通,想更快更省) | 修复模型怎么选、按现象调参 | 想上 LTX:RTX 30/40/50 系、≥ 8 GB 显存 + 16 GB 内存、25 USD 档许可证 |
| AMD 或低显存用户 | AMD 差异说明、显存不够怎么压 | AMD 需 Adrenalin 26.8.1+ 驱动,Linux 另装 AMF 运行库;4–6 GB 显存从剪辑 30 起步 |
| 特殊场景(区间 / 流媒体 / VR / 云) | 特殊场景速查 | 区间输入须为恒定帧率的 H.264/HEVC/AV1;云 GPU 需开通云权限的许可证 |
一句话收口:先看门槛,再跳章节,不必线性通读。
如何跑通 Jasna 第一个修复任务
两条路径都只保留最少步骤。
GUI 路径:
- 下载与系统、显卡匹配的发行包,解压到纯英文路径(如
D:\Tools\jasna); - 启动:Windows 双击
jasna.exe;Linux NVIDIA 运行jasna;Linux AMD 先装 AMF 运行库再运行run_jasna_amd.sh; - 把视频拖进队列(或点"添加文件"),保持默认设置;
- 点界面底部的▶,等它跑完。
CLI 路径:只记这一条命令——对单个视频执行默认 BasicVSR++ 流程:
jasna --input input.mp4 --output output.mkv图片输入自动改用 SD 1.5 模型;文件夹输入批量处理(先图片后视频),详见 docs/zh/cli.md。
⚠️首次任务有一次性成本,NVIDIA 上约 15–60 分钟。期间 Jasna 把你的 GPU 专属 TensorRT 引擎编译出来(请关闭其他应用、别动电脑);LTX 模型(约 15 GB)与 SD 1.5 模型(约 6.9 GB)也是首次用到时才下载。
跳过等待的办法:编译产物全部落在model_weights文件夹里。以后升级 Jasna,把这个文件夹复制到新版本目录,编译时间直接省掉;AMD 不做编译,无此等待。
⚠️ 安装路径只能含纯 ASCII 字符:
C:\Users\张三\Downloads\jasna这类路径会在启动检查时直接报错退出,整个文件夹搬到英文路径即可。校验逻辑在 jasna/os_utils.py 的check_ascii_install_path,每次启动都会跑。
一句话收口:路径纯英文 + 默认设置 + 熬过一次编译,任务就跑通了。
Jasna 内部流程一览:解码到编码的六个环节
整条流水线是四个并行线程循环(解码检测 → 主修复 → 二次修复 → 合成编码,见 jasna/pipeline_threads.py),对应六个环节。理解各自管什么,后面调参才知道动哪一段:
- GPU 解码——把视频在 GPU 上解出来:NVIDIA 走 NVDEC,AMD 走 AMF,另有软件解码兜底。对应参数:
--device。 - 逐帧找马赛克——用检测模型扫出每一帧的马赛克区域。对应参数:
--detection-model、--detection-score-threshold。 - 时间维跟踪与分组——同一块马赛克沿时间轴被跟踪,帧被归组为"剪辑",长度上限由
--max-clip-size控制;遇到硬切镜头剪辑强制收尾,保证一个剪辑不混入两个镜头。对应参数:--scene-detection(开)、--max-detection-gap、--min-detection-duration。 - BasicVSR++ 修复——每个剪辑按 256×256 图像序列修复,相邻剪辑刻意留少量重叠,避免接缝跳变。对应参数:
--max-clip-size、--temporal-overlap、--enable-crossfade。 - 可选二次修复——UNet 4x / RTX Super Res / TVAI 把修复块放大到 512×512 或 1024×1024 再锐化,NVIDIA 独占。对应参数:
--secondary-restoration。 - 合成回原帧 + GPU 编码——只替换马赛克区域的像素,其余原样保留;编码用 NVENC 或 AMF,音频默认直接复制,仅当输出容器装不下原音轨时才重编码(判断逻辑在 jasna/media/audio_utils.py)。对应参数:
--codec、--cq、--sharpen。
显存吃紧时,Jasna 会自动把排队中的帧挪到系统内存、需要时再搬回(jasna/vram_offloader.py),全程无需手动干预。
⚠️LTX 不走这条流水线:它要把视频完整过四遍——找马赛克、准备、扩散模型修复、保存——所以慢得多,但能补出更真实的纹理。
一句话收口:默认参数管的就是这六段,动哪个参数前先看它管哪一段。
修复模型怎么选:BasicVSR++ 还是 LTX
默认推荐:绝大多数视频用免费的BasicVSR++就够了;只有当你对个别关键场景的质感有更高要求、且显卡是 RTX 30/40/50 系(8 GB 显存起、16 GB 内存),才值得上 LTX;修复静态图片则自动走 SD 1.5。
| 维度 | BasicVSR++(默认) | LTX | SD 1.5(仅图片) |
|---|---|---|---|
| 速度 | 快(1080p 整片 3:22 视频约 34 秒,RTX 5090) | 很慢(1 分钟 1080p 素材约 1–10 分钟,见下表) | 单张数十秒级 |
| 画质 | 良好 | 纹理更细腻自然 | 实验性,单张差异大 |
| GPU | 全部受支持显卡 | RTX 30/40/50(2080 Ti 仅验证过);Linux 下兼容 Radeon RX 7000/9000 与 R9700;Windows AMD LTX 为测试版 | 约 7 GB 显存 |
| 费用 | 免费 | 支援者专属(25 USD 档,含 UNet 4x 与 SD 1.5) | 支援者专属(15 USD 档起) |
| 文件体积 | 随包附带 | 标准约 15 GB、快速模式约 9 GB、更高画质档每档再约 13 GB | 约 6.9 GB |
LTX 耗时实测(1 分钟 1080p、马赛克持续出现、标准画质档):
| GPU | 标准 | 快速模式(--ltx-fast,仅 RTX 50 系) |
|---|---|---|
| RTX 5090 | 约 1 分钟 | 不到 1 分钟 |
| RTX 4090 | 约 1.5 分钟 | 不可用 |
| RTX 5080 | 约 2 分钟 | 约 1.5 分钟 |
| RTX 3090 | 约 3 分钟 | 不可用 |
| RTX 2080 Ti | 约 10 分钟 | 不可用 |
画质档位倍率:--restoration-model-name取ltx(标准)/ltx-4step(良好,慢约 1.5 倍)/ltx-8step(高,慢约 2.5 倍)/ltx-undistilled(顶级,慢约 5 倍)。决定上 LTX 前,先跑一次--ltx-trial——它无需模型和许可证,只做速度实测、不产出修复视频。
检测模型决定"找马赛克"这一步的效果,权重放进model_weights/后会被自动发现:
| 模型名 | 来源 | 分辨率 | 推荐阈值 | 适用场景 |
|---|---|---|---|---|
rfdetr-v6(默认) | 随包 | 576 | 0.35 | 绝大多数视频 |
rfdetr-v6-large | 另下载(NVIDIA 用.onnx、AMD 用.pt) | 768 | 0.40 | 4K 素材、更高检测精度 |
rfdetr-vr-v1 | 随包 | 768 | 0.40 | VR180 视频 |
zelefans-vr-yolo-v2 | 另下载 | — | 0.25 | VR180 的另一选项 |
lada-yolo-v2/lada-yolo-v4 | 随包 | — | 0.25 | 2D 动画素材,或 AMD 上求快 |
rfdetr-v5 | 随包 | 768 | 0.25 | 旧版仍可用(批大小恒为 4) |
阈值经--detection-score-threshold(0–1)调整:调低检得更多,调高检得更少。
⚠️ LTX 的三条硬限制:不支持 VR180 左右并排视频、不支持流媒体模式、使用时二次修复与降噪自动关闭。另外 0.12 起从 0.11.3 复制来的 LTX 模型文件需要重新下载,原许可证码与共享 VAE 文件仍可复用。
官方基准(RTX 5090、Linux、BasicVSR++、3:22 全长视频,时间越短越好):
| 输入 | Lada 0.11.0 | Jasna v0.9.1 | 相对速度 |
|---|---|---|---|
| 720p H.264 | 01:47 | 00:32 | 3.4 倍 |
| 1080p H.264 | 02:02 | 00:34 | 3.6 倍 |
| 2160p H.264 | 04:56 | 01:03 | 4.7 倍 |
同条件显存(典型 / 峰值,GB):v0.9.0 的 1080p 为 9.3 / 10.1,v0.9.1 降到 4.8 / 5.6;2160p 从 11.4 / 15.4 降到 7.2 / 10.9。完整测试设置与复现脚本见 benchmarks/2026-07-26_release_matrix.md 与 scripts/benchmark_releases.py。
一句话收口:拿不准就用免费默认组合,LTX 只留给关键场景。
按现象调参:显存不够怎么压、漏检误检怎么调
不按参数逐个讲,直接对现象找参数:
| 你遇到的现象 | 该动哪个参数 | 动到多少 |
|---|---|---|
| 马赛克被漏掉 | --detection-score-threshold | 在模型推荐值基础上调低(rfdetr-v6默认 0.35) |
| 正常区域被误判成马赛克 | --detection-score-threshold | 调高;或调高--min-detection-duration(默认 2 帧)丢短促误检 |
| 显存不足 / 卡死 | 按顺序:①--max-clip-size② 关或换轻的二次修复 ③ 关浏览器、游戏等占 GPU 的程序 | 90 → 60 → 30 逐档降;4–6 GB 显存从 1080p + 剪辑 30 起步 |
| 片段接缝处闪烁 | --temporal-overlap | 8–20 区间内加;必须满足 2 × overlap < max-clip-size |
| 剪辑边界有轻微跳变 | --enable-crossfade | 保持开启(复用已处理帧,零额外开销) |
| 输出文件比源大得离谱 | --cq | NVIDIA:H.264 25 / HEVC 28 / AV1 35 起往高调;AMD:H.264 24 / HEVC 25 / AV1 16 起 |
| 60 fps 素材耗时翻倍 | --retarget-high-fps | 隔帧处理(60 → 30、59.94 → 29.97),音画同步不变 |
| 修复区域看起来偏软(大马赛克、特写、4K) | --secondary-restoration | rtx-super-res(免费、极快)/unet-4x(接近 TVAI iris-2 质量且更快)/tvai(需付费 Topaz Video,仅 Windows) |
| 修复区域有噪点 | --denoise | low/medium/high,只清理修复区域;--denoise-step控制放二次修复前(默认)或后 |
| 输出想再锐一点 | --sharpen | 0.2–0.5温和,0 关闭 |
剪辑大小对耗时的影响不是线性的——小剪辑只会更慢(重叠帧在每个剪辑里都重复处理)。1080p、重叠 8、RTX 5090 实测:
| 最大剪辑大小 | 30 | 60 | 90 | 180 | 360 | 720 |
|---|---|---|---|---|---|---|
| 耗时 | 51 秒 | 40 秒 | 34 秒 | 35 秒 | 32 秒 | 33 秒 |
| 显存 | 3.4 GB | 3.7 GB | 4.1 GB | 5.0 GB | 6.3 GB | 8.0 GB |
180 是收益拐点:再往上时间不再变好、只吃显存;4K 素材同剪辑大小下显存约 ×1.5。关闭模型编译(--no-compile-basicvsrpp)只省不到 0.5 GB 显存、却慢约 3 倍(同素材 33 秒 / 5.0 GB vs 107 秒 / 4.6 GB),几乎没有正当理由。
⚠️ 时间重叠必须满足
2 × temporal_overlap < max_clip_size,否则启动即报错;8–20 是推荐区间,超过 20 通常无收益。
参数默认值集中速查(完整选项以jasna --help与 docs/zh/cli.md 为准):
| 选项 | 默认值 | 一句话作用 |
|---|---|---|
--device | cuda:0 | GPU 选择;AMD 经 ROCm 也按cuda:N命名 |
--batch-size | 4(AMD 为 8) | 检测批大小;rfdetr-v5恒为 4 |
--fp16/--no-fp16 | 开 | 半精度,省显存且通常更快 |
--max-clip-size | 90 | 单次修复帧数上限 |
--temporal-overlap | 8 | 相邻剪辑共享帧数,隐藏接缝 |
--enable-crossfade | 开 | 剪辑边界交叉淡化 |
--detection-model | rfdetr-v6 | 检测模型 |
--max-detection-gap | 2 | 同位置马赛克漏检最多补 N 帧,0 关闭 |
--min-detection-duration | 2 | 短于 N 帧的检出按误检丢弃,0 关闭 |
--scene-detection | 开 | 硬切处结束所有剪辑 |
--denoise | none | low/medium/high,只清理修复区域 |
--denoise-step | after_primary | 二次修复前(默认)或after_secondary移到最后 |
--codec | hevc | h264兼容性最好(8-bit);av1文件最小(需 RTX 40 系 / RX 7000 及以上) |
--cq | NVIDIA:H.264 25 / HEVC 28 / AV1 35;AMD:H.264 24 / HEVC 25 / AV1 16 | 越低质量越高、文件越大 |
--sharpen | 0 | 0 关闭 ~ 1 最强 |
--ltx-seed | 20260923 | LTX 随机种子,控制可复现性 |
--sd15-steps/--sd15-strength/--sd15-seed/--sd15-variants | 25 / 0.6(上限 0.7)/ 0 / 1 | SD 1.5 图片修复;variants 产出name_v1…vN供挑选 |
--stream-port/--stream-segment-duration | 8765 / 4.0 | HLS 流媒体端口与分段时长(秒) |
--log-level | error | debug/info/warning/error |
CQ 合法范围:NVIDIA H.264/HEVC 为 1–51、AV1 为 1–63;AMD H.264/HEVC 为 0–51、AV1 为 1–51。Jasna 还会按源码率自动给输出设maxrate(bufsize为其 2 倍)防止低码率源被过度放大:NVIDIA H.264 输出为源码率 2.0 倍、HEVC 源 1.25 倍、其余组合 1.0 倍;自行指定maxrate可覆盖。
一句话收口:现象对参数,一档一档动,别一次改多个。
区间、流媒体、VR180 与云 GPU 速查
| 场景 | 触发条件 | 最小启动方式 | 硬性限制 |
|---|---|---|---|
| 区间处理(只修部分场景) | 马赛克只出现在部分场景;或想让 LTX 只跑关键片段(未选中区间原样复制,输出仍是全片长) | GUI 点队列条目的剪刀按钮开区间编辑器,按帧选区间、逐区间指定 BasicVSR++ 或 LTX,可用内置马赛克扫描(RTX 5090 约 2000 FPS)自动定位;CLI 用--segments "10-25,01:10-01:30.5" | 一次一个视频(不支持文件夹 / 图片 / 流媒体);输入须为恒定帧率的 H.264/HEVC/AV1,输出 MP4/MOV/MKV 且编解码器恒等于输入;不能与--stream、--retarget-high-fps、--fmp4、--ltx-auto-split组合;区间之间少量帧会被重编码 |
| 流媒体(边修边看 / Stash) | 想先确认效果不落盘;或挂 Stash 按需修复 | jasna --stream,自动开浏览器播放器可拖进度;--stream-port(8765)、--stream-segment-duration(4.0 秒)、--no-browser可调;Stash 用专用 v0.30.1-jasna 版并设JASNA_CLI_PATH、JASNA_WORKING_DIR两个环境变量 | 恒用 BasicVSR++ 与 H.264,LTX 不可用;首次必须先用 Stash 实际会用的相同设置流式跑通一个短视频预热,否则 Stash 超时放弃(日志出现timeout waiting for jasna-cli to become healthy) |
| VR180 | 文件把左右眼并排放进宽帧(如 3840×1920、8192×4096),Jasna 拆开分别修复再拼回 | VR180 模式保持自动(高度 > 1080 的 2:1 视频、文件内 VR 元数据或已知片商名都会自动识别),检测模型换内置rfdetr-vr-v1;自动认不出时用--vr-mode sbs-fisheye(取值auto/off/sbs/sbs-fisheye),投影方式(原样 / 鱼眼 / 球心)按片商自动选、也可在区间编辑器修复预览旁手动切换 | LTX 不支持 VR180 并排视频,只能用 BasicVSR++ |
| 云 GPU(RunPod / Vast / Docker) | 本地显卡太慢或没有显卡,租云 GPU 跑批量 | 申请开通云权限后,Linux NVIDIA 官方 CLI 在容器内以 root 登录,装依赖、解压到/root,设XDG_CONFIG_HOME=/root/jasna-config后以--license-code+--cloud-workspace激活;激活前可先用tools/ffmpeg编码自检一秒,没打出OK就换机器 | 驱动 ≥ 580、磁盘 ≥ 80 GB、必须设NVIDIA_DRIVER_CAPABILITIES=all、固定/etc/machine-id;--pid=host的 Docker 容器不可用;RunPod 上 LTX 不可用(BasicVSR++ 可用);每次启动前先重新export XDG_CONFIG_HOME,删 Pod 前把jasna-config私有备份 |
细节与坑位见 docs/zh/segments.md、docs/zh/streaming.md、docs/zh/vr180.md、docs/zh/cloud.md。想让文件夹里每个视频"大马赛克走 LTX、其余走 BasicVSR++",用自动分配:jasna --input videos/ --output restored/ --restoration-model-name ltx --ltx-auto-split 12(12 指马赛克最长边占视频高度的百分比,建议从 12% 起步)。
一句话收口:特殊玩法各有一条最短启动方式和一张硬限制表,先核限制再开工。
故障自诊断:报错或现象对照表
| 报错或现象 | 大概率原因 | 处理动作 |
|---|---|---|
| 首次任务卡在开头 15–60 分钟不动 | NVIDIA 一次性 TensorRT 编译(检测 + 修复模型) | 正常现象:期间负载拉满、model_weights目录在增长;等待即可,之后所有任务复用产物,升级时复制该目录 |
| 启动即报路径错误 | 安装路径含非 ASCII 字符(中文 / 日文 / 重音字母),check_ascii_install_path每次启动校验 | 整个 Jasna 文件夹挪到纯英文路径(如D:\Tools\jasna);顺带确认是本地盘(NTFS / ext4 / Btrfs / XFS / ZFS)而非网络盘 |
| 显存不足(out of memory 或明显卡死) | 剪辑过大或二次修复太吃显存 | ①--max-clip-size90 → 60 → 30 逐档降;② 关二次修复或换 RTX Super Res;③ 关浏览器、游戏等占 GPU 程序;排队帧自动挪系统内存(vram_offloader)是兜底 |
| 驱动检查不通过 / 提示版本过低 | 驱动低于阈值 | NVIDIA 升到 Windows 610+ / Linux 580+;AMD 需 Adrenalin 26.8.1+,Linux 另装 AMF 运行库;更新后从头部菜单重跑系统检查,无需重装 Jasna |
| AMD 上检测阶段很慢 | RF-DETR 在 AMD 走 torch 模型,比 NVIDIA 的 TensorRT 引擎慢 | --detection-model换lada-yolo-v4换回速度;AMD 默认批大小自动取 8 |
| LTX 模型下载一直失败 | 连不上 Hugging Face | Jasna 会自动切 hf-mirror.com;仍失败就手动下载 3 个文件(所选模型 1 个 +vae.safetensors.enc+vae-decoder.safetensors.enc),文件名保留.enc,放入model_weights/ltx-restore/(目录不存在就新建),详见 docs/zh/models.md |
| 60 fps 素材处理时间翻倍 | 帧数翻倍,工作量自然翻倍 | 加--retarget-high-fps隔帧处理(60 → 30、59.94 → 29.97),处理量减半且音画同步不变;不能与--segments、--stream组合 |
云机报Failed to open hevc encoder | 该机硬件编码器损坏 | 直接换机器 |
云机报unsigned or modified Jasna runtime | 用非 root 用户解压 | 换 root 重新解压到/root |
云机报libGL.so.1: cannot open shared object file | 缺图形库依赖 | 补跑安装命令里的apt-get install -y zstd wget libgl1 libglib2.0-0一行 |
云机报No activation found/Cloud workspace identity is missing | 启动前漏了export XDG_CONFIG_HOME=/root/jasna-config | 补export后重启 Jasna |
Stash 报timeout waiting for jasna-cli to become healthy | 首次未预热(第一次要为 GPU 准备文件,耗时很长) | 先用 Stash 实际会用的相同设置流式跑通一个短视频;仍失败先检查JASNA_CLI_PATH |
Windows 上 LTX 因 ESET 起不来,日志提到ebehmonl.dll/ebehmoni.dll | ESET 深度行为检查拦截 | 把 Jasna 文件夹加入 ESET 排除项;换新版后需再加一次 |
云机提示enable cloud activation | 许可证未开通云权限 | 向许可证来源申请开通"云权限" |
一句话收口:九成问题落在编译等待、路径字符、显存三件事上,先查这三处。
现在可以做什么:行动清单
- ✅ 核对三件硬门槛:显卡在支持列表(GTX 16 系 / RTX 20 系起,或 AMD RX 7000/9000)、驱动达标(NVIDIA Windows 610+ / Linux 580+;AMD Adrenalin 26.8.1+ 加 AMF)、安装路径为纯 ASCII 的本地 SSD(NTFS / ext4 / Btrfs / XFS / ZFS)。
- 用默认设置跑通第一个任务(GUI 拖入点 ▶,或 CLI 一条命令),熬过一次 15–60 分钟的编译;以后每次升级只复制
model_weights文件夹。 - 按显存档位锁定参数:10 GB 左右用默认值(剪辑 90、重叠 8);追求质量加
--max-clip-size 180+ 二次修复 + 低 CQ;4–6 GB 显存固定从剪辑 30 起步。 - 需要 LTX 时先跑
--ltx-trial测速,确认许可证与 8 GB 显存 / 16 GB 内存;只对关键片段用 LTX,其余交给 BasicVSR++(可用区间编辑器或--ltx-auto-split分流)。
延伸阅读:LICENSING.md · docs/zh/cli.md · docs/zh/models.md · docs/zh/tuning.md · docs/zh/segments.md · docs/zh/streaming.md · docs/zh/cloud.md · docs/zh/vr180.md · README.zh.md
免费路径(BasicVSR++ + rfdetr-v6)足以覆盖绝大多数马赛克修复:路径是纯英文、熬过一次编译之后,剩下的就只是对号入座。
【免费下载链接】jasnaVideo restoration tool项目地址: https://gitcode.com/GitHub_Trending/ja/jasna
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考