Jasna 命令行完整指南:一条命令批量修复视频的 4 个场景与参数速查
【免费下载链接】jasnaVideo restoration tool项目地址: https://gitcode.com/GitHub_Trending/ja/jasna
Jasna 是一款开源的视频 / 图像马赛克修复工具,Jasna CLI 与图形界面同源,终端里能做的事和点按钮几乎一样。本文带你从零敲通 4 个日常场景,按"要解决的问题"拆解关键参数,最后给出 3 个进阶配方,覆盖从单片修复到整夜 Jasna 批量修复的完整路径。
一分钟建立认知:修复的主流程
这一节帮你在动手前,先看清 Jasna 拿到一个文件后内部在做什么,后面所有参数才好理解。
整条流水线只有四步:
输入文件 → 检测马赛克区域 → 逐帧修复 → GPU 编码写出--input决定走哪条路:传一个视频文件,走视频修复(默认basicvsrpp模型);传一张图片,自动改走 SD 1.5 图像修复模型(sd-15-jav),不需要任何额外参数;传一个文件夹,则按"先图片、后视频"的顺序自动排队。- 中间两步你基本不用管:检测模型(默认
rfdetr-v6)先找出每帧的马赛克位置,修复模型再对裁切出的区域逐帧重绘,其余画面原样保留。 - 输出只由
--output定:文件夹输入时它是输出文件夹,文件名按模板生成,默认{original}_out。
💡 记住这个骨架:Jasna 只重绘马赛克区域,不动其余画面。这解释了后文为什么"只修指定时间段"会快得多。
跑起来之前的硬要求
这一节帮你避开第一次运行必然碰到的三类报错,省掉反复试错的时间。
1. 显卡门槛
Jasna 依赖 GPU 编码与 TensorRT 推理,硬件要求是:
- NVIDIA:GTX 16 系列 / RTX 20 系列或更新,NVIDIA 官方工具中计算能力(compute capability)≥ 7.5;
- AMD:ROCm 实验性支持,
--device同样写cuda:N; - 显存建议 8 GB 以上。4–6 GB 也能跑,但要把片段大小压到
30起步(见后文"把显存压下来")。
2. 安装路径必须纯英文数字
Jasna 启动时会校验自己的安装路径,出现中文、空格以外的非 ASCII 字符会直接报错退出。路径形如D:\tools\jasna没问题,D:\工具\jasna不行。报错信息会原样打印当前路径,把目录挪到纯英文数字位置即可。
3. 首次运行要预热 15–60 分钟
第一次跑任务时,Jasna 要为你的显卡编译检测模型和修复模型的 TensorRT 引擎,NVIDIA 上通常耗时 15–60 分钟,期间建议关闭其他程序。结果缓存在model_weights/目录,之后的每次运行都直接复用;升级到新版本时,把旧的model_weights/复制过去即可跳过等待。
⚠️ 建议把 Jasna 放在 SSD 上:装在机械硬盘上启动和加载模型都会明显变慢,启动时会有警告提示。
四条命令跑遍日常场景
这一节按场景给出最小可运行命令,每条命令后都有白话解释,照着敲就能跑。
场景 A:修复单个视频
最常用的入口:一个视频文件进,一个修好的文件出。
jasna --input input.mp4 --output output.mkv这条命令用默认配置直接开工:basicvsrpp修复模型、rfdetr-v6检测模型、HEVC 编码,其余全部取默认值。
变体:想要更多细节可以把修复模型换成扩散模型 LTX,代价是慢很多:
jasna --input input.mp4 --output output.mkv --restoration-model-name ltx这条命令让整片视频改走 LTX 模型(仅 NVIDIA RTX),细节更多但耗时远超basicvsrpp,只建议对重点内容使用。
场景 B:修复静态图片
手里是单张图片时,不需要想模型的事——Jasna 自动路由。
jasna --input photo.png --output restored.png输入是图片时,Jasna 自动改用 SD 1.5 图像修复模型(sd-15-jav)处理,--restoration-model-name只管视频,这里不用管。
变体:一次出多张备选,自己挑最好的:
jasna --input photo.png --output restored.png --sd15-variants 3这条命令会让 SD 1.5 用连续 3 个种子各跑一遍,输出restored_v1、restored_v2、restored_v3三张图供你挑选。
场景 C:整个文件夹批量修复
一条命令吃下整目录,这是 Jasna 命令行相对 GUI 最大的红利。
jasna --input input_folder --output output_folderJasna 会扫描整个文件夹,先处理所有图片,再处理所有视频,输出文件名默认是"原文件名主干 +_out",例如abc.mp4变成abc_out.mp4。
处理前 Jasna 会先做一次输出路径检查:如果按模板算出来两个输入会写到同一个输出文件(典型如a.mp4与A.MP4),它直接报错退出并指出是哪两个文件冲突,避免一边跑一边覆盖。
变体:换个输出命名风格:
jasna --input input_folder --output output_folder --output-pattern "{original}_restored"这条命令把命名模板改成{original}_restored,于是abc.mp4输出为abc_restored.mp4;模板里只有{original}是占位符,代表输入文件名主干。
场景 D:只修指定时间段 / 边修边看
两个省时间的开关,适合"视频只有几分钟有马赛克"或"想马上看效果"的情况。
只修复指定区间:
jasna --input input.mp4 --output output.mp4 --segments "10-25,01:10-01:30.5"Jasna 只修复 10–25 秒和 01:10–01:30.5 这两段,其余部分原样复制,所以整体快得多、未修复部分保留原始质量,输出仍是完整视频。时间支持秒数或HH:MM:SS.s两种写法。注意三个限制:一次只能一个视频(不支持文件夹、图片、流媒体);输入必须是恒定帧率的 H.264 / HEVC / AV1;输出编解码器锁定为输入同款,--codec不再生效。
边修边看:
jasna --stream这条命令不产出任何文件,而是启动一个本地 HLS 流媒体服务(默认端口8765,分段时长默认4.0秒),浏览器播放器里选到哪个片段就修到哪、播到哪,支持跳转。流媒体固定使用 BasicVSR++ 与 H.264 编码。不想自动开浏览器时加--no-browser。
关键参数:按"你要解决的问题"拆解
这一节不按参数分类罗列,而是按问题找参数;没列到的长尾参数,完整清单以jasna --help和官方文档为准。
想控制显存与速度:--max-clip-size是第一旋钮
Jasna 把马赛克切成一个个"片段"批量修复,--max-clip-size(默认90)就是片段的最大帧数。片段越大结果越稳定、而且越快(重叠帧不用反复算),但显存占用越高。官方在 RTX 5090 上用同一段 1080p 视频测得:
--max-clip-size | 耗时 | 显存 |
|---|---|---|
| 30 | 51 秒 | 3.4 GB |
| 90(默认) | 34 秒 | 4.1 GB |
| 180 | 35 秒 | 5.0 GB |
| 360 | 32 秒 | 6.3 GB |
趋势是:180之后时间不再变好,只有显存继续涨;4K 视频在同片段大小下约需 1.5 倍显存。
配套两个参数:
--temporal-overlap(默认8):相邻片段共享的帧数,用来抹掉拼接处的闪烁。8–20之间效果好,必须小于--max-clip-size的一半;重叠越多越稳,但耗时越长。--denoise(默认none):对修复区域做空间降噪,low/medium/high三档;--denoise-step决定降噪发生在二级修复前(after_primary,默认)还是混合前(after_secondary)。
jasna --input input.mp4 --output output.mkv --max-clip-size 60 --temporal-overlap 12这条命令把片段压到 60 帧、重叠设为 12 帧,是显存吃紧时的典型搭配:占显存比默认少,衔接更平滑。
想决定画质与输出:--codec与--cq
--codec(默认hevc):hevc是 10-bit 的最佳平衡,不确定就选它;h264兼容性最强但同质量文件更大;av1文件最小,需要 RTX 40 系 / RX 7000 或更新的显卡硬编。--cq:质量目标,数值越低质量越好、文件越大。NVIDIA 默认值为 H.264 25、HEVC 28、AV1 35。Jasna 还会按源码率自动给输出设体积上限,低码率源不会被 CQ 拉爆。--sharpen(默认0):编码前在 GPU 上锐化画面,0到1,等价 ffmpeg 的cas滤镜,无需二次转码。--fmp4:把.mp4/.mov写成碎片化 MP4,文件边生成边能播,任务中途崩溃也保留可播状态;不能与--segments、--stream同用。--lut:加载.cube色彩 LUT,在编码前由 GPU 应用。--encoder-settings:更细的编码器参数,JSON 或逗号分隔均可,如rc-lookahead=32,bf=4。
jasna --input input.mp4 --output output.mp4 --codec h264 --cq 25这条命令把输出换成兼容性最强的 H.264,质量目标定在 25,适合要丢到老电视或剪辑软件里再处理的场合。
想让批处理更省心:命名模板与导出后操作
--output-pattern:文件夹输入时的命名模板,前文已用;图片保留源扩展名,视频在模板里带扩展名时按模板来。--post-export-action(默认none):所有任务完成后执行什么——shutdown立即关机(注意:与 GUI 不同,没有倒计时),或command运行--post-export-command指定的 shell 命令。--post-export-video-command:每个视频成功导出后单独执行一次命令,支持{input}、{output}、{output_dir}、{output_stem}、{output_suffix}五个占位符,适合逐片自动重封装或转存。- 其他常用开关:
--batch-size(默认4,检测批大小)、--fp16/--no-fp16(默认开启,半精度更省显存且通常更快)、--no-progress(日志采集时禁用进度条)、--log-level(默认error)。
jasna --input folder_in --output folder_out --post-export-action command --post-export-command "echo done"这条命令把整个文件夹修完后运行echo done,是验证"导出后操作"链路的最小写法。
💡 二级修复(--secondary-restoration的unet-4x/tvai/rtx-super-res)、检测模型、VR180、激活等参数篇幅较长,本文不展开;完整清单以jasna --help实时输出为准,说明见官方文档(见文末"延伸资料")。
三个进阶配方
这一节把前面的参数组合成三个可以直接抄的成品命令。
显存不足怎么降
顺序固定,从上往下试:
- 降
--max-clip-size。4–6 GB 显存的卡跑 1080p,从30起步(约 3.4 GB),再按上表每档的代价往上加; - 关掉二级修复(如果你开了的话),或换成更轻的方案;
- 关掉浏览器、游戏等占 GPU 的应用。
⚠️ 不要靠--no-compile-basicvsrpp省显存:实测它只省不到 0.5 GB,却让处理慢约 3 倍(33 秒 → 107 秒),几乎没有理由这么做。
jasna --input input.mp4 --output output.mkv --max-clip-size 30这条命令把片段压到最小常用档,是 4 GB 级别显存跑 1080p 的起步配置。
拉满画质
两档操作,按需求选:
第一档,降 CQ + 微调编码器前瞻:
jasna --input in.mp4 --output out.mkv --cq 22 --encoder-settings "rc-lookahead=32,bf=4"这条命令把质量目标从 HEVC 默认 28 降到 22(质量更好、文件更大),并把码控前瞻和 B 帧参数显式钉住,细节保留更完整。
第二档,叠加 RTX Super Res 二级修复:
jasna --input in.mp4 --output out.mkv --cq 22 --secondary-restoration rtx-super-res这条命令在主修复后,把修复区域用 RTX Super Res 放大 4 倍(默认--rtx-scale 4、--rtx-quality high)再混合回视频,对大面积马赛克、特写镜头和 4K 内容提升最明显。该选项仅支持 NVIDIA。
整夜无人值守后自动关机
jasna --input folder_in --output folder_out --post-export-action shutdown这条命令把整个文件夹修完、全部导出完成后立即关机,没有 GUI 里那种倒计时——执行前先用一两个小文件验证整条链路没问题。不想关机、只想完成后跑个脚本的话,换成:
jasna --input folder_in --output folder_out --post-export-action command --post-export-command "echo done"这条命令在全部任务结束后执行echo done,实际用法就是把它换成你的通知或归档命令。
遇到问题先查这里
这一节收录第一次使用最常碰到的五个问题。
Q:想看全部参数怎么办?
运行jasna --help,输出就是完整且最新的选项列表;本文的速查只是其中的常用子集。
Q:报错说"两个输入映射到同一个输出文件"?
是--output-pattern模板冲突,比如a.mp4和A.MP4按模板算出同名输出。Jasna 会打印冲突双方的文件名,改模板(如加前缀区分)即可。
Q:AMD 显卡能用吗?二级修复行不行?
AMD 是实验性支持(ROCm),--device同样写cuda:N;但二级修复(unet-4x/tvai/rtx-super-res)目前仅限 NVIDIA,AMD 只能跑主修复。
Q:--stream和--segments能一起用吗?
不能。--stream与--segments、--fmp4互斥;--segments与--retarget-high-fps、--fmp4也互斥。想边修边看就用--stream(固定 H.264 + BasicVSR++),想省时间就离线跑--segments,二选一。
Q:首次运行 15–60 分钟是在干什么?
在为你的显卡编译 TensorRT 引擎,结果缓存在model_weights/。之后的任务直接复用;换机器或升级版本时,复制旧目录的model_weights/过去即可跳过等待。
延伸资料
| 内容 | 位置 |
|---|---|
| CLI 完整参考(全部参数与示例) | docs/zh/cli.md |
| 显存与 GPU 调优(片段大小实测表) | docs/zh/tuning.md |
| 模型选择(basicvsrpp / ltx / 二级修复) | docs/zh/models.md |
区间功能(--segments细节与限制) | docs/zh/segments.md |
| 流媒体(HLS 与 Stash 集成) | docs/zh/streaming.md |
| 高级处理(CQ / LUT / 锐化 / fMP4) | docs/zh/advanced_processing.md |
CLI 参数定义(build_parser) | jasna/main.py |
| 参数帮助文本(单一来源) | jasna/cli_help.py |
| 区间解析实现 | jasna/segments.py |
核心记忆点:--input/--output定首尾,--max-clip-size管显存,--cq管画质——剩下的一律--help。
【免费下载链接】jasnaVideo restoration tool项目地址: https://gitcode.com/GitHub_Trending/ja/jasna
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考