首页/新闻资讯/正文详情

RELEASE_SOURCES.md 深度解读:Jasna 发布包从 Git 提交到二进制的完整可核验链路

发布时间:2026/11/13 14:55:53 来源:云帆数科 栏目:资讯中心
RELEASE_SOURCES.md 深度解读:Jasna 发布包从 Git 提交到二进制的完整可核验链路
RELEASE_SOURCES.md 深度解读Jasna 发布包从 Git 提交到二进制的完整可核验链路【免费下载链接】jasnaVideo restoration tool项目地址: https://gitcode.com/GitHub_Trending/ja/jasnaJasna 是视频修复video restoration工具官方发布包内置自带 Python/Tk 运行时、FFmpeg 与 FFprobe 及多套第三方原生组件。RELEASE_SOURCES.md是 v0.11.1 发布包的源码对应表source correspondence记录每个输入组件的精确修订、归档哈希与许可证边界。读完后你会拿到一套从 Git 提交追踪到二进制产物的核验方法能判断这个可执行文件到底由哪些源码拼装而成。一、为什么单靠版本号不够一个二进制只印着v0.11.1无法表达它内部由五类输入混合而成Jasna 公共应用源码基础版本 native-LTX 延续改动私有保护组件源码不发布被修改或打补丁的第三方依赖PyAV、VALI fork、mmengine 补丁两套互不相同的 FFmpeg 构建wheel 内嵌库 vs 内置命令行工具构建环境CPython 源码归档与工具链。文档开篇就声明不要仅凭版本号推断二进制对应关系Do not infer binary correspondence from the version number alone。构建收据build receipts标识精确的原生源码与工具链冻结收据freeze receipts标识冻结应用输入资质报告qualification reports把打包的可执行文件与原生库绑定到各自源码修订版。本文按核验维度逐项拆解这份清单的证据链。二、证据链拆解按核验维度组织维度一应用本体与基础 tag 的偏移量核心事实发布包 v0.11.1基础版本加 native-LTX 延续改动文档第一页明确Linux 与 Windows 的 native-LTX 延续包含超出v0.11.1tag 的改动精确打包输入记录在构建收据中。源码交叉印证jasna/init.py 第 3 行当前版本是0.12.0pyproject.toml 第 7 行同步version 0.12.0jasna/ltx/model_files.py 第 33 行_MODEL_BRANCHES (0.12.0,)而 docs/en/development.md 说明 0.11.3 及更早发布沿用各自main分支 URL——版本推进与模型分支注册是发布流程的一部分pyproject.toml 第 39 行 NVIDIA pin 已是torch2.12.1cu130AMD extras 指向torch2.14.0rocm10.1.0第 57 行与 v0.11.1 发布时点未必相同。这意味着清单是随发布快照冻结的它锁定那次构建用了什么而不是描述仓库主干现状。验证方法只有两步对照 git tagv0.11.1与文档记录的输入逐一取差集再检查pyproject.toml、jasna/__init__.py、git tag、RELEASE_SOURCES.md四处是否同版本任何一处不一致即说明清单落后于构建。维度二第三方依赖的来源分类分类的关键不是版本号而是依赖相对上游被修改了多少——未修改的才能直接对标上游 tagfork 与补丁必须给出各自的精确锚点依赖修改状态文档记录的锚点pyproject.toml 中的 pinPyAV未修改tagv18.1.0commit7e3d950a8b72062502c1a60d672f8ca565313af5av18.1.0第 13 行VALIKruk2 公共 fork含 Jasna 解码定制commit0e5c01ee57222a8ef4f9c7591284c4324bb3fba5Apache-2.0python_vali4.8.8第 53 行仅基线RF-DETR未修改1.8.3/3bd6bffbcb13cac3a5b1c37da5a0fd5453b50c86rfdetr1.8.3第 61 行amd extrasmmengine仓库内补丁patches/fix_loading_mmengine_weights_on_torch26_and_higher.diffmmengine0.10.7第 20 行VALI 一行最值得展开pyproject.toml 第 49-52 行注释写明VALI 解码后端需要容错 forkcodeberg.org/Kruk2/valiDecodeSingleSurfaceAsyncDetailed使用官方 PyPI wheel 时读取器在打开时回退到 PyAV发布构建在keytool/wheels/的 fork wheel 之上安装此 pin。所以发布版实际链接的是 fork wheel4.8.8只是 PyPI 基线占位。mmengine 补丁patches/fix_loading_mmengine_weights_on_torch26_and_higher.diff改四处torch.load加weights_onlyTrue第 8 行mmengine/dist/dist.py加from __future__ import annotationsmodel/__init__.py与model/wrappers/__init__.py把MMFullyShardedDataParallel导出条件从torch ≥ 2.0改为≥ 2.0 且torch.distributed.is_available()第 33-34、50-51 行。消费点在 jasna/models/basicvsrpp/inference.py 第 59 行load_checkpoint(model, checkpoint_path, map_locationcpu, loggerlogger)。链路是 mmengine 0.10.7 补丁 发布版受限加载策略 → BasicVSR 权重安全加载pyproject.toml 第 27-28 行对ultralytics8.4.96,8.5的注释旧版本无法在发布版受限加载策略下重建 YOLO 检查点说明同一条策略还管着 YOLO 检查点。维度三原生库与工具链的双构建源及 GPL 许可证推论链核心事实Linux 发布包里有两套 FFmpeg构建来源完全不同不能默认同源位置构建来源FFmpeg 源码修订许可证推论PyAV / VALI wheel 内嵌库pyav-ffmpeg8.1.2-1tagn8.1.2commit38b88335f99e76ed89ff3c93f877fdefce736c13GPLv3组合负载内置ffmpeg/ffprobe工具BtbNlinux64-gpl-8.1构建ffmpeg-n8.1.2-34-g9b6c8969e0commit9b6c8969e05b4f0b29f0f85cd501be6b3e582e6btag 后 34 个提交构建显式启用 GPLGPLv3 推论的链条是pyav-ffmpeg 构建脚本请求 x264/x265 与--enable-version3wheel 内置并链接了 GPL 许可的 x264 库因此 Jasna 将 PyAV/VALI 的组合 wheel 负载combined wheel payload按 GPLv3 分发而 FFmpeg 自身运行时元数据把库标识为LGPLv3-or-later——同一 wheel 内存在两套许可证层级assets/THIRD_PARTY_LICENSES.md 的 Bundled native components 表把这个推论固化为GPLv3 for the combined payload; FFmpeg reports LGPLv3-or-laterassets/licenses/README.md 则列出对应文本GPL-3.0.txt覆盖 GPLv3 的 FFmpeg 库与命令行工具LGPL-3.0.txt覆盖 LGPL-3.0-or-later 的库代码BSD-3-Clause.txt覆盖 PyAV。注意n8.1.2-34-g9b6c8969e0的命名那是 8.1.2 tag之后34 个提交、HEAD 为9b6c8969e0的构建不是纯 n8.1.2 快照——这正是文档必须把精确 commit 写出来的原因。BtbN GPL 变体使用--enable-gpl --enable-version3 --disable-debugWindows 包用发布构建者选定的 GPLv3 FFmpeg 8 安装若与 Linux 构建不同发布前必须把ffmpeg -version输出、源码修订、configure 行与归档哈希补进发布说明。维度四构建环境与输入哈希的可核验锚点核心事实Linux 发布版从官方源码归档构建 CPython 3.13.14归档Python-3.13.14.tar.xz的 SHA-256 为639e43243c620a308f968213df9e00f2f8f62332f7adbaa7a7eeb9783057c690assets/licenses/README.md 中Python-3.13.txt即 CPython 3.13 许可证文本构成解释器级追溯闭环。文档同时给出两份 FFmpeg 归档哈希构成发布审计的完整输入集归档SHA-256ffmpeg-manylinux-x86_64.tar.gzpyav-ffmpeg 8.1.2-1665b4903251dc753725e9cf64615c1af7708b932fb26bf16356acc77d76e95f8ffmpeg-n8.1.2-34-g9b6c8969e0-linux64-gpl-8.1.tar.xzBtbN09fc77be269c7053e438b7e96548e4af97604faf96a42c4a3c56a1ad74c22c0a应用依赖与全部精确直接版本约束在 pyproject.toml二进制包还会把每个已安装 Python 发行版的许可证文件复制到licenses/python-packages/——这是完整许可证集的落地方式。验证方法独立下载三份归档重算 SHA-256 并与文档比对再核对ffmpeg -version输出哈希或版本行任一不符即构建输入发生过漂移。三、源码活证据文档声明 vs 实现行为jasna/media/video_decoder.py 的_ValiFrameSource构造时先检查vali.PyDecoder是否有DecodeSingleSurfaceAsyncDetailed方法缺失即抛VideoDecodeError并提示需要容错 fork——这是文档该 fork 包含 Jasna 解码定制声明的直接消费点。构造函数创建PyDecoder后立即解码第一帧整个构造就是 VALI 可用性检查VALI 无法处理的容器/编码在此抛出调用方不会提交到该后端此后的损坏包在 fork 内部跳过受连续包容差限制超限才抛错与 PyAV 路径行为一致。第 161-162 行把 I/O 超时设为_VALI_IO_TIMEOUT_MS 60000传给PyDecoder注释说明原因VALI 默认 3 秒中止 open/read对需要更长时间唤醒的休眠 HDD 不够。jasna/license_api.py 的protection_available()用find_spec检测jasna.protection并要求spec.origin非空——未初始化的 git 子模块只是空命名空间不算实现require_protection()缺失时抛ProtectionUnavailableError。pyproject.toml 的包发现规则exclude [jasna.protection.keytool*, jasna.protection.tests*]说明私有构建驱动不会进入公开 wheel。jasna/_frozen.py 处理冻结构建的真实工程问题torch import 时做源码内省inspect.getsource编译产物没有.py源码包装器吞掉OSErrortorch.compile在二进制中改为进程内编译worker 池会重新拉起 jasna 二进制强制compile_threads 1并基于 torch 版本重写codecache.torch_keyTriton 从triton_prebuilt/加载预编译 C 辅助模块。这解释了为什么对应表要区分Windows 冻结收据与Linux 构建要求全新应用冻结。tests/test_public_source.py模拟没有私有子模块的公开检出验证五类可观测行为protection_available()返回 Falsejasna.protection.license_store不进入sys.modules公开启动可正常导入CLI 的--help/--version正常输出--machine-key、--activation-key fake、--license-code fake以退出码 1 结束stderr 含 official Jasna release 且断言不含Tracebackopen_tensors、LtxModelFiles.from_dir、SD 1.5 检查点读取、unet-4x 引擎编译全部抛ProtectionUnavailableError在打开数据之前失败GUI 激活对话框保持禁用test_public_activation_dialog_stays_disabled。另有两个边界用例test_frozen_missing_protection_cannot_use_public_fallback确认sys.frozen环境下缺失私有模块如实报告不走公开回退tests/test_pyproject.py 参数化断言每个.fatbin/.hipfb都作为包数据发布与运行无需 GPU 编译器的声明一致。四、可复现性边界边界声明很直白公开 tag 含 Jasna 公共应用源码、公共补丁与上述对应关系但整应用构建驱动whole-application build driver与保护实现留在私有保护项目中。因此公开检出能复现自由工作流不能逐位复现启用支持者功能的官方可执行文件——这不是口头承诺tests/test_public_source.py的五个用例就是它的自动化证明。docs/en/development.md 划定了免费范围公开检出可运行 GUI、CLI 与免费 BasicVSR激活与加密的 unet-4x、SD 1.5、LTX 模型需要官方发布版LTX 试用模式用随机权重不真正恢复视频。NVIDIALinux构建验证uv venv --python /usr/bin/python3.13 --no-managed-python --no-python-downloads .venv source .venv/bin/activate uv pip install -e .[nvidia,dev] --extra-index-url https://download.pytorch.org/whl/cu130 python -m jasna --input in.mp4 --output out.mp4AMDWindowsROCm 10.1$I https://stable.repo.amd.com/rocm/whl-next/ $D device-gfx1100,...,device-gfx1201 pip install --index-url $I torch[$D]2.14.0rocm10.1.0 torchvision[$D]0.29.0a0rocm10.1.0 uv pip install -e .[amd,dev]装完用python -c import torch, torchvision; assert torch.version.hip; print(ROCm OK)确认 ROCm 生效保持完整版本后缀development.md第 88 行防止其他厂商的 wheel 满足 pin。jasna/media/*.cu已预编译进同目录.fatbin/.hipfb日常运行无需 CUDA 工具链改过.cu后用scripts/build_fatbins.sh重建。五、该文档在发布流程中的位置它是强制产物而非事后记录。docs/en/development.md 的 Release checklist 四条pyproject.toml、jasna/__init__.py、git tag 与RELEASE_SOURCES.md同版本且该文件必须与构建实际使用的 PyAV、VALI、FFmpeg、Python 及其他依赖修订一致解包后的包必须含LICENSE、LICENSING.md、NOTICE、RELEASE_SOURCES.md、assets/THIRD_PARTY_*.md与licenses/每个捆绑模型哈希匹配 assets/THIRD_PARTY_MODELS.md每个分卷归档与其.sha256文件一起上传。LICENSING.md 把精确的自定义依赖修订、FFmpeg 构建、补丁、模型哈希与源码链接全部指到RELEASE_SOURCES.md与两份第三方通知文件README.md 的 Licensing 一节同样以它作为发布源码对应的权威入口。六、分角色收束普通用户 把RELEASE_SOURCES.md与 assets/THIRD_PARTY_LICENSES.md、assets/THIRD_PARTY_MODELS.md 一起读即可确认每个原生组件与模型的精确来源、许可证与哈希。开发者/打包者 发布前逐项核对两个 FFmpeg 构建、VALI fork wheel 对 PyPI 基线的覆盖、Windowsffmpeg -version记录义务——清单第一检查项是四处版本号一致。审计者 用665b4903…、09fc77be…、639e4324…三个 SHA-256 独立下载归档重算哈希按自由工作流可复现、支持者二进制不可逐位复现划定审计范围。版本号只告诉你这是什么时刻的 JasnaRELEASE_SOURCES.md才告诉你这个 Jasna 由哪些可核验的输入拼装而成。【免费下载链接】jasnaVideo restoration tool项目地址: https://gitcode.com/GitHub_Trending/ja/jasna创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

部署安装jdk8\redis\mysql8\nginx
部署安装jdk8\redis\mysql8\nginx

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 14:55:53

.NET CORE+SQL+QUASARUI
.NET CORE+SQL+QUASARUI

· 2026/11/13 8:57:41

Python 面向对象编程:方法、属性、继承与多态详解
Python 面向对象编程:方法、属性、继承与多态详解

一、为什么需要面向对象面向对象程序设计(OOP)的核心思想是把数据和操作数据的行为封装在一起,用“对象”来模拟现实世界中的实体。Python 是一门支持多范式编程的语言,但它的面向对象特性非常自然、灵活,几乎一切皆对… · 2026/11/11 20:37:50

沙田电工证到哪里复审 郑州报考避坑指南
沙田电工证到哪里复审 郑州报考避坑指南

沙田电工证到哪里复审 郑州报考避坑指南 你是不是也遇到过这样的问题: 不知道去哪报名怕被中介坑 ?尤其是像 沙田电工证到哪里复审 这种具体问题,一不小心就掉进中介的陷阱里,花冤枉钱还办不好证?今天就来聊聊 郑州报考避坑指南… · 2026/11/13 14:55:48

椒江电工证复审去哪?真实经历告诉你怎么找地方
椒江电工证复审去哪?真实经历告诉你怎么找地方

椒江电工证复审去哪?真实经历告诉你怎么找地方 刚拿到电工证,还没来得及高兴,就被公司要求 复审 ,否则直接停岗,这下可急坏了。我是从安阳转岗过来的,以前在机械厂做装配工,现在转行做电工, 急需特种作业证才能上岗找工作… · 2026/11/13 14:55:48

资兴考电工证怎么考?实操考试心里没底怕挂科?电子证书一目了然
资兴考电工证怎么考?实操考试心里没底怕挂科?电子证书一目了然

资兴考电工证怎么考?实操考试心里没底怕挂科?电子证书一目了然 实操考试心里没底怕挂科,这几乎是每个准备考电工证的人心里的坎儿。特别是在资兴,电工证考试不光是门槛,更是未来发展的敲门砖。很多人担心考不过,或者考过了又怕电子证书不被认可,其实你… · 2026/11/13 14:55:48

新乡电工证在哪里怎么考?怕考不过白交培训费?看完这篇不踩坑
新乡电工证在哪里怎么考?怕考不过白交培训费?看完这篇不踩坑

新乡电工证在哪里怎么考?怕考不过白交培训费?看完这篇不踩坑 怕考不过白交培训费?新乡电工证在哪里考?多少钱?这些问题你是不是也问过?别急,今天就把你最关心的点讲透,看完再报名,不花冤枉钱。 一、新乡电工证在哪里考?流程全公开… · 2026/11/13 14:55:48

南宁电工证复审报名千万别踩坑,怕考不过白交培训费
南宁电工证复审报名千万别踩坑,怕考不过白交培训费

南宁电工证复审报名千万别踩坑,怕考不过白交培训费 你是不是也担心南宁电工证复审报名搞不好,钱白花了还考不过?别急,我来给你讲讲,这事儿真不是随便找个人就能搞定的。咱们今天就从头聊到尾,教你一步步避开那些坑,把证拿到手,别让培训费打了水漂。… · 2026/11/13 14:55:48

从化如何考电工证良心建议:工地太忙根本没时间复习考试
从化如何考电工证良心建议:工地太忙根本没时间复习考试

从化如何考电工证良心建议:工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这是多少特种作业人员的真实写照。你可能正在从化的工地忙碌,手上满是油污,脑子里却想着怎么考个电工证,可时间一压,复习就成了一件遥不可及的事。别急,这里有一条… · 2026/11/13 14:54:47

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/12 14:09:01

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/13 5:40:45

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/12 23:27:43

维修电公用考电工证吗 在哪考最靠谱
维修电公用考电工证吗 在哪考最靠谱

维修电公用考电工证吗 在哪考最靠谱 工地太忙根本没时间复习考试,你是维修电工,天天在项目上跑,连抽个空背个题都难。那问题来了—— 维修电公用考电工证吗 ?答案是: 必须考 。尤其是在当前施工行业,没有电工证,连进场都可能被拦下。而且,… · 2026/11/13 0:00:08

电工证是不是可以登高?含金量和证书范围你必须知道的事
电工证是不是可以登高?含金量和证书范围你必须知道的事

电工证是不是可以登高?含金量和证书范围你必须知道的事 证书过期了不知道怎么复审延期,这事儿很多人遇到过,尤其是像你这样在郑州金水区做劳务班组负责人,手里握着几十个工人的证书,稍微一疏忽,就可能影响工程进度和公司信誉。特别是电工证是不是可以登… · 2026/11/13 0:00:08

鸡西电工证哪家下证快官方报名入口怎么找
鸡西电工证哪家下证快官方报名入口怎么找

鸡西电工证哪家下证快官方报名入口怎么找 你是不是也担心 学历不高怕报不上名 ?别急,今天我就来跟你说说, 鸡西电工证哪家下证快 ,还有 官方报名入口 到底怎么找,别让那些“代办”“代考”耽误了你的机会。… · 2026/11/13 0:00:08

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:12:21

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:11:51

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/12 21:15:21

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码