dnglab-online vs Adobe DNG Converter vs dnglab CLI
把 Canon CR3、Nikon NEF、Sony ARW、Fujifilm RAF 等相机原生 RAW 转成 Adobe DNG, 今天主流的三个选择是:闭源的 Adobe DNG Converter、开源的命令行工具 dnglab CLI、以及在浏览器里跑的 dnglab-online。 三者目标相同,但取舍非常不同。本页就是回答「我该选哪个」。
一句话结论
- 只有一个文件、不想装东西、任意系统、任意设备:用 dnglab-online。
- 几百到几千张文件、想批量或脚本化:用 dnglab CLI。
- 已经在用 Adobe 全家桶(Windows / macOS)、相机也在 Adobe 支持列表里:用 Adobe DNG Converter。
特性对比表
| 特性 | dnglab-online | Adobe DNG Converter | dnglab CLI |
|---|---|---|---|
| 价格 | 免费 | 免费 | 免费 |
| 开源 | 是(LGPL-2.1) | 否 | 是(LGPL-2.1) |
| 需要安装 | 否 | 是 | 是 |
| 支持 Linux / BSD | 是 | 否 | 是 |
| 支持 ChromeOS / iPad | 是 | 否 | 否 |
| 支持 Windows / macOS | 是 | 是 | 是 |
| 首次加载后离线可用 | 是 | 是 | 是 |
| 文件会上传到服务器 | 否(技术上不可能) | 否 | 否 |
| 批量 / 文件夹递归 | 否(一次一个文件) | 是 | 是 |
| 多线程 | 否(单线程 WASM) | 是 | 是(rayon) |
| 速度(相对值) | 1× | ~2–3× | ~4–10× |
| 输出格式 | Adobe DNG 1.4 | Adobe DNG 1.6 | Adobe DNG 1.4 |
| LJPEG-92 无损压缩 | 是(默认) | 是 | 是 |
| 未压缩 DNG 选项 | 是 | 是 | 是 |
| 嵌入预览图 / 缩略图 | 是 | 是 | 是 |
| 添加 DNG opcode(镜头 / 暗角校正) | 否 | 是 | 否 |
| 添加 Adobe 颜色配置文件(DCP) | 否 | 是 | 否 |
| 新相机支持节奏 | 跟随上游 rawler(社区驱动) | Adobe 周期性更新;通常滞后 4–12 周 | 跟随上游 rawler |
| 支持 CR3(佳能无反) | 是 | 是 | 是 |
| HEIF / HIF(Sony α1、α7S III) | 否(不是 RAW) | 否(不是 RAW) | 否(不是 RAW) |
| 移动端友好 | 有限(受内存约束) | 否 | 否 |
| 源码 / 文档 | GitHub | Adobe Help | GitHub |
dnglab-online — 浏览器内方案
dnglab-online 把驱动 dnglab CLI 的同一份 Rust rawler crate 编译成
WebAssembly,再以静态网页的形式发布。把 CR3 / NEF / ARW 拖进上传区,等
1–25 秒就能下载到 DNG。无需安装、无需账号、无上传、零费用。
适合场景:
- 你在 Linux、ChromeOS 或任何 Adobe DNG Converter 跑不了的平台上。
- 只需要转一两张文件,不想为此装 Rust 工具链或 Debian 包。
- 在意隐私——文件物理上无法被上传,因为根本没有后端。
- 相机刚发布、Adobe Converter 还没支持、但 dnglab 上游的相机库已经覆盖到了。
限制:
- v1 一次只处理一个文件,不支持批量 / 文件夹。
- WASM 是单线程的,所以同一台机器上比原生 dnglab CLI 慢 4–10 倍。
- 移动端浏览器在 60 MB+ 的无损 ARW 上可能内存不足。
- 不会添加 Adobe 专属的内容,比如 DCP 颜色配置文件或镜头校正 opcode——输出的是对原始 RAW 的忠实转换,而不是 Adobe 风味的版本。
Adobe DNG Converter — 标准参考实现
Adobe 官方免费桌面工具,仅有 Windows 和 macOS 版本。它是 DNG 规范的参考实现, 支持最新的 DNG 1.6,并捆绑 Adobe 自家的颜色配置文件(DCP)和镜头校正 opcode。
适合场景:
- 你在 Windows 或 macOS 上,且相机在 Adobe 支持列表里。
- 希望 DNG 嵌入 Adobe DCP 配置文件或 opcode 驱动的镜头校正。
- 需要最新 DNG 1.6 规范的特性(例如语义遮罩支持)。
限制:
- 闭源。新相机支持依赖 Adobe 的发版节奏——典型滞后 4–12 周。
- 没有 Linux 版本、没有浏览器版本,CLI 批量也不算好脚本化。
- 安装包不小(约 600 MB),对很多人来说有点重。
dnglab CLI — 重度用户首选
命令行版的 dnglab 是上游项目本体。它和 dnglab-online 共用同一份
rawler 解码器,但编译成原生多线程可执行文件。子命令包括
convert、analyze、extract、makedng。
适合场景:
- 批量处理几十到几千张 RAW。
- 想把转换嵌入到导入流水线里脚本化。
- 需要 analyze / extract 子命令来调试不被支持的相机。
- 同一台机器上想要最快的开源 RAW → DNG 路径。
限制:
- 需要安装二进制(Debian 包、AUR、Homebrew tap,或
cargo install)。 - 没有 GUI,只有一两张文件时不够顺手。
- 不会添加 Adobe DCP 配置文件或镜头 opcode。
三家输出的 DNG 是一样的吗?
功能上是的——三者输出都能被 Lightroom Classic、Lightroom CC、Camera Raw、 Capture One、darktable、RawTherapee 直接打开。去马赛克之后的像素和原始 RAW 一致。
差别在于包在像素外面的元信息:
- dnglab(CLI 和 online)写的是 DNG 1.4,保留原始 RAW 的 EXIF、白平衡中性点和上游 rawler 数据库里的相机校准矩阵。它不会注入 Adobe DCP 配置文件或 opcode 驱动的镜头校正。
- Adobe DNG Converter 写的是 DNG 1.6,带 Adobe 自家的 DCP 颜色配置、(可选)opcode 驱动的镜头校正、暗角补偿,以及 Lightroom 偏好的相机配置元数据。
如果你最终就是要在 Lightroom 里调,两条路出来的视觉效果在套用相机配置后差异 不大。如果你打算用 darktable / RawTherapee / Capture One 调,dnglab 输出反而 略有优势,因为不会带其他编辑器忽略的 Adobe 专属 opcode。
对比常见问题
dnglab-online 比桌面工具慢吗?慢多少?
是的——同一台机器上比原生 dnglab CLI 慢 4–10 倍,比 Adobe DNG Converter 慢 2–4 倍。原因是 WebAssembly 单线程,且现代浏览器对 SIMD 指令的派发不如原生代码 高效。具体到一张 30 MB CR3,就是 5–15 秒 vs 1–3 秒,单张完全够用;要批量 500 张文件,桌面方案显然更合适。
dnglab-online 真的首次加载后就完全离线吗?
是的。首次访问会下载约 6–10 MB 的 .wasm 和几百 KB 的 HTML/CSS/JS。
之后浏览器把这些缓存下来,转换过程零网络请求。你可以打开 DevTools 的 Network
面板验证——转换时不会有任何请求发出。
开源转换器拿来做归档可靠吗?
dnglab 项目的像素解码逻辑经过了大量针对 Lightroom 和 Adobe DNG Converter 输出的对比测试。Bug 报告几乎都集中在特定的新传感器模式上(例如 Canon 的预拍摄、 机内 HDR 合成),而不是基础的色彩或细节问题。为了安心,建议在编辑器里验证过 颜色和细节后再删原始 RAW。
新相机会被 dnglab 支持吗?
通常发布后几周内就能。上游 rawler 维护者和 darktable / RawTherapee 社区会 共享校准数据;只要在 dnglab/dnglab 提交一份样张,下一个 minor release 通常就会带上。Adobe 的更新节奏要慢一些(4–12 周)。
为什么 dnglab-online 没有批量模式?
v1 优先把 UI 做轻、把内存压住——一张 100 MB 的 CR3 在浏览器里瞬时就能用掉 ~700 MB。如果允许一次排队 50 个文件,多数浏览器会直接崩。Roadmap 是等浏览器 内存 API 稳定后加一个小队列(3–5 个串行,而不是并行)。当下要批量,dnglab CLI 才是正解。
相关
背景:关于 dnglab-online。 相机覆盖:支持的相机。 按格式细分的指南:Canon CR3 → DNG、 Sony ARW → DNG。