Jasna VR180 视频修复完全指南:分眼检测、片商投影自动路由与快速上手
【免费下载链接】jasnaVideo restoration tool项目地址: https://gitcode.com/GitHub_Trending/ja/jasna
Jasna 是面向视频修复的开源工具,对 VR180(左右眼并排的 VR 画面)有专门处理:自动识别 VR180 格式、把画面拆成左右眼分别做视频修复,再按片商规则选择马赛克展平方式,全程默认配置即可跑通。本文带你从零理解它的工作方式,并给出 GUI 与 CLI 两种动手路径。
硬修 VR180 会翻车在哪,分眼处理怎么解决
先看痛点。VR180 视频里,左眼、右眼两幅画面并排挤在同一个宽幅画幅中,典型如 3840×1920(左右各 1920×1920)。如果直接把它交给普通 2D 修复模型,模型看到的是两幅画面拼接后的变形图,马赛克检测与重建都会失准,修出来的结果往往是糊的、扭曲的。
Jasna 的做法是拆开来修,流程分三步:
- 把宽画面对半切开,得到左眼、右眼两路独立信号;
- 每只眼各自完成马赛克检测与修复,互不干扰;
- 把两眼的修复结果拼回并排画幅输出。
这一步的核心逻辑在 jasna/vr180.py 的SbsDetectionAdapter:检测框和掩码始终留在源画面坐标里,只有马赛克区域的"修复差分"会被重新贴回去,马赛克以外的像素原封不动。
记住这个结论:分眼不是为了好看,而是为了让 2D 模型看到正常比例的画面。理解了这一点,后面所有配置都好懂。
识别、拆眼、投影:决定成片质量的三个开关
Jasna 对 VR180 的处理链路上有三个决定因素:先判断"这是不是 VR",再执行"怎么拆眼",最后决定"马赛克按哪种投影展平"。
识别:自动模式靠什么判断一个视频是 VR
默认选"自动"时,Jasna 满足以下任一条件就启用分眼处理(判断逻辑在resolve_vr_mode(),日志会打印一行VR mode: requested=auto resolved=sbs/off projection=... reason=...供你确认):
| 条件 | 说明 |
|---|---|
| 严格 2:1 且高度 > 1080 | 如 3840×1920、8192×4096,直接判定为并排 VR |
| 文件名含已知片商标记 | 如FSVSS、SAVR、S1VR、VRKM |
| 文件带 VR 空间元数据 | "并排 + 等距柱状"的立体/球面投影标记 |
三条都不满足时,文件按普通平面视频处理,不会误伤。规则细节可查 docs/zh/vr180.md。
拆眼:强制分眼与偶数宽度限制
自动模式偏保守,漏认时可以用强制档位:sbs把所有文件都当 VR 拆眼处理(投影仍按片商路由),sbs-fisheye则在此基础上让所有马赛克统一走鱼眼投影。注意两条硬约束:
- SBS 处理要求帧宽度为偶数,奇数宽度会直接报错;
- 显示宽高比不在 1.90–2.10 区间时,日志会给出 unusual SBS aspect 警告。
投影:按片商自动选择马赛克展平方式
不同片商制作马赛克的方式不同,不存在一套通吃所有视频的投影参数,所以 Jasna 内置了一张片商→投影路由表(jasna/vr180.py 的STUDIO_PROJECTION)。三种投影的含义:
- raw(原始)——按画面原样使用马赛克区域,未知片商时的安全默认;
- fisheye(鱼眼)——马赛克在鱼眼视图下才显示正常的片商适用;
- gnomonic(等距/球心投影)——平坦无变形的视图,最利于 2D 修复模型。
路由规则如下(自动模式下生效):
| 来源 | 片商 | 投影 |
|---|---|---|
| 路由表 | ATVR、CJVR、IPVR、KAVR | raw |
| 路由表 | NHVR、PXVR、TMAVR | 鱼眼 |
| 路由表 | VRPRD | 等距投影 |
| 文件名含鱼眼片商标记 | FSVSS、SAVR、URVRSP、CRVR、PXVR | 鱼眼 |
投影不满意可以在区间编辑器里手动覆盖:打开修复预览,在VR 投影菜单选 自动 / 原始 / 鱼眼 / 等距投影,菜单标签会实时显示自动模式实际解析出的值;点应用后该视频保存此选择,最终处理与预览一致。提醒一点:区间编辑器预览只显示左眼,但扫描和导出处理的是双眼,不影响最终效果。
三个开关都清楚了,接下来选一条动手路线。
动手做:GUI 四步走与 CLI 一行命令
GUI 路线:四步修完一个 VR180
- 像添加普通视频一样添加 VR 视频;
- 高级设置中把VR180 模式保持自动(推荐)(设置项定义见 jasna/gui/settings_sections/advanced.py);
- 检测模型选内置的rfdetr-vr-v1——VR180 专用;
zelefans-vr-yolo-v2需单独下载,是可选备用(模型清单见 docs/zh/models.md); - 开始处理。只想修一部分?用区间编辑器指定时间段即可。
CLI 路线:用 --vr-mode 控制行为
纯命令行用户只需关心--vr-mode参数(完整用法见 docs/zh/cli.md):
jasna --input input.mp4 --output output.mp4 --vr-mode auto jasna --input input.mp4 --output output.mp4 --vr-mode sbs-fisheye四个可选值:
| 值 | 行为 |
|---|---|
auto(默认) | 自动识别 + 片商投影路由 |
off | 当普通平面视频处理 |
sbs | 强制分眼,投影仍按片商路由 |
sbs-fisheye | 强制分眼,所有区域用鱼眼投影 |
另外记住:LTX 引擎不支持 VR180 并排视频,遇到 VR 文件请搭配 BasicVSR++ 使用。
两条路线都走通后,剩下的是几个新手常见疑问。
容易踩的坑:显存、漏识别与变形疑虑
- 坑:VR 修复比 2D 更吃显存?解法:左右两路分别处理,占用确实更多。显存吃紧时优先把"最大片段长度"调小(例如 180 → 60);Jasna 还会在显存不足时自动把等待帧临时挪到内存,不用手动配置。
- 坑:我的 VR 文件没被自动识别?解法:自动模式偏保守——2:1 规则要求严格 2:1 且高度超 1080,低分辨率或比例不精确的文件会漏掉。此时在设置里改选SBS — 分眼处理强制启用(前提:帧宽度为偶数)。
- 坑:修完画面会整体变形吗?解法:不会。检测、跟踪、掩码、混合全程在源坐标进行,只有马赛克区域的修复差分经过投影变换(实现见 jasna/vr_projection.py),区域外像素原样保留。
- 坑:区间编辑器里只看到一只眼?解法:那是设计如此——预览展示左眼,处理时双眼都会修,不必担心。
这些坑基本覆盖了你上手 VR180 修复时会遇到的所有摩擦点。
收个尾
Jasna 处理 VR180 的思路浓缩成三点:自动识别(2:1 高分辨率 / 片商名 / 空间元数据三选一触发)、分眼独立修复(拆开检测修复再拼回)、片商投影路由(raw / 鱼眼 / 等距投影自动选择,可手动覆盖)。保持默认"自动"模式,配上内置的 rfdetr-vr-v1 检测模型,开箱即用。
【免费下载链接】jasnaVideo restoration tool项目地址: https://gitcode.com/GitHub_Trending/ja/jasna
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考