The project's README from github.com/JiaFeiMiao-K-Cat/DiscImageStudio. As one markdown file: README.md.

Windows 桌面版支持设计与刻录,Linux 和 macOS 的实验性命令行版可离线生成 CD、DVD 和蓝光镜像。


Disc Image Studio 可将一张图片转换成符合 CD、DVD 与单层 BD-R 光盘物理层约束的数据,刻录后将使光盘盘面呈现肉眼可见的图案。



Windows 下载 win-x64.exe 后可直接运行。Linux 或 macOS 请下载与 CPU 匹配的实验性 CLI 压缩包,解压后运行 ./disc-image-studio --help。这些发布包均自带 .NET 运行时。 GitHub Releases
在主页选择 CD、DVD 或蓝光,指定输出位置后创建工程。
在设计页导入图片,用图层完成排版,并在右栏「影调」模块调整抖动、伽马、亮度与灰阶档位。
在预览页核对盘面投影,在导出页生成 ISO / RAW / WAV+CUE,或使用即时刻录功能直接写入空白盘片。
即时刻录为实验性功能,请只使用可报废的测试介质。
0D / AA,DVD 扰码域使用 A5 / 92。详见 PHYSICAL_MODEL_AUDIT.md。0/255 黑白二阶 PNG;支持打开或拖入原图、并排预览及无损 PNG 导出。详见使用与构建说明。Disc Image Studio 提供了一套智能且精准的辅助标定流程,相较人工肉眼识别标定,辅助标定算法将可确定的盘面物理数据精确度从 10-6 提升到了 10-14。校准前采用恒定轨距,十字线的径向线条出现明显弯曲;使用辅助标定得到的三次轨距参数重新生成并刻录后,线条更接近径向直线。
| 校准前 · 恒定轨距 | 校准后 · 三次轨距 |
|---|---|
![]() |
![]() |
P20261004-133519.jpg |
P20261004-135416.jpg |
流程与参数说明见辅助标定说明。
IOpticalDiscModule 接入,统一命令目录与任务契约,详见架构说明。global.json 锁定 10.0.x);自行构建的非自包含 GUI 需要 .NET 10 Windows 桌面运行时。Release EXE 已包含运行时,无需另行安装 .NET。dotnet build DiscImageStudio.slnx --configuration Release
dotnet run --project src/DiscImageStudio.App --configuration Release
构建回归检查:
dotnet run --project src/DvdImageSolver --configuration Release -- selftest
dotnet run --project tests/DiscImageStudio.ArchitectureTests --configuration Release
版本规则、CI 生成 EXE、Release 草稿检查、MSIX 打包与签名流程见发布指南。
Linux(glibc)可选 linux-x64 或 linux-arm64。Apple Silicon Mac 选 osx-arm64,Intel Mac 选 osx-x64。CLI 在本地生成镜像,实际写盘可交给支持相应镜像或音轨的刻录软件。
使用 .NET 10 SDK 从源码运行 CLI
dotnet run --project src/DiscImageStudio.Cli -c Release -- --help
CLI 可读取 PNG、JPEG、BMP 和 GIF,使用动画图片的第一帧。下面的例子用两扇区音轨验证安装,同时生成配套 CUE。
./disc-image-studio cd-generate --input picture.png --output sample.wav --sectors 2
| 命令 | 说明 |
|---|---|
solve |
使用固定快速纹理映射(CW 方向)生成 DVD 镜像,黑白纹理可选抖动混合 |
encode |
将单个 DVD ECC 块编码为 NRZI 通道电平 |
calibrate |
标定投影:按生成几何从 DVD 源图片取样,按实测几何投到盘面 |
simulate |
按实测半径对生成的 DVD ISO 做读回模拟 |
selftest |
运行 DVD 引擎的确定性回归自检 |
cd-generate |
无随盘文件时生成 WAV + CUE / RAW 音轨;指定 --data-dir 时生成 CD 数据盘 ISO |
cd-preview-warp |
标定投影:按实测几何投影 CD 源图片 |
cd-preview-track |
按标定几何渲染已有的 WAV 或 RAW CD-DA 音轨(读回模拟) |
bd-generate |
生成完整 BD-R ISO,并写出 <iso>.json sidecar |
bd-info / bd-probe / bd-encode |
导出 BD 参数、原始负载探针或单个 ECC 簇诊断 |
各命令的完整参数见对应文档。
src/DiscImageStudio.Cli/ Linux 和 macOS 离线命令行入口
src/DiscImageStudio.ImageIO/ WIC 和跨平台图像编解码
src/DiscImageStudio.Core/ 介质无关的模块契约、工程/预设模型、任务与命令目录
src/DiscImageStudio.Imaging/ CD/DVD/BD 共用的图片预处理与抖动辅助
src/DiscImageStudio.Burning/ Windows IMAPI2 设备枚举、流缓冲与安全刻录层
src/DiscImageStudio.Cd/ CD-DA 生成核心与 CD 模块
src/DiscImageStudio.Dvd/ DVD 引擎适配模块
src/DiscImageStudio.BluRay/ BD-R 几何、17PP/ECC、3T/6T 映射、流式生成与 ISO
src/DiscImageStudio.Iso/ UDF 2.01 / ISO9660 写入器
src/DiscImageStudio.App/ WPF GUI、统一命令行与商店资源
src/DvdImageSolver/ 保持隔离的 DVD 编码/求解引擎
tests/ 无第三方测试框架的架构回归测试
packaging/ MSIX 清单与打包脚本
tools/ 独立辅助工具与资产生成脚本
docs/ 架构、引擎、预设、发布等文档
| 文档 | 内容 |
|---|---|
| ARCHITECTURE.md | 模块抽象、层间边界与扩展规则 |
| LOCALIZATION.md | 界面语言配置、系统语言回退与翻译资源维护 |
| DVD_ENGINE.md | DVD NRZI 图像约束求解器的约定、编码链与自检覆盖 |
| CD_AUDIO_COMPATIBILITY.md | CD 音轨格式、字节序与重影排查 |
| ADDING_BLURAY.md | 蓝光模块的物理模型、生成/刻录链路与扩展点 |
| DISC_PRESETS.md | 可编辑盘片预设的分层 JSON 格式与合并规则 |
| CALIBRATION.md | 照片矫正(框选盘片实体最外缘与中心孔边缘)、曲线标定与 DVD 三次轨距拟合 |
| PHYSICAL_MODEL_AUDIT.md | CD / DVD 生成物理模型复核 |
| VALIDATION.md | 各轮构建、回归与实盘测试的本地验证记录 |
| RELEASING.md | GitHub Release、MSIX 打包、签名测试与商店提交流程 |
| CHANGELOG.md | 版本变更记录 |
Disc Image Studio 的实现与物理模型主要参考以下规范:
| 介质 | 标准与版本 | 本项目采用的范围 |
|---|---|---|
| CD-R | ECMA-394,第 1 版,2010 年 12 月 — Recordable Compact Disc Systems CD-R Multi-Speed(官方 PDF) | CD-R 介质、多速录制及 CD-DA 兼容关系;本项目生成 CD-DA 音轨。 |
| DVD 公共格式 / DVD-ROM | ECMA-267,第 3 版,2001 年 4 月 — 120 mm DVD – Read-only disk(官方 PDF) | DVD 数据帧、ECC、EFMPlus 编码及附录 G 转换表;可记录盘的介质规则另参考 ECMA-359。 |
| DVD-R | ECMA-359,第 1 版,2004 年 12 月 — 80 mm (1,46 Gbytes per side) and 120 mm (4,70 Gbytes per side) DVD Recordable Disk (DVD-R)(官方 PDF) | 单层 DVD-R 的几何、扇区、纠错和编码;标准包含单面及双面介质,双面不等于双层。 |
| BD-R | ISO/IEC 30190:2021,第 3 版,2021 年 1 月 — 120 mm 单层(25.0 GB)及双层(50.0 GB)可记录 BD 的信息交换与存储规范 | 实验模式采用单层 25 GB 的轨道、扇区布局、纠错和编码;目前不支持双层盘。 |
CD 公共编码部分还参考了 ECMA-130,第 2 版(CD-ROM,1996)。
欢迎报告问题与提交代码。开发环境搭建、模块边界规则、测试要求与 Pull Request 流程见贡献指南。
项目采用 GNU GPL v3.0 or later(GPL-3.0-or-later)。CD 交织实现包含从 CDImage 移植并修改的代码,整体分发沿用兼容的 GPL 授权;分发二进制或修改版时须遵守对应源代码等要求。第三方字体与组件遵循各自许可证,详见 授权说明 和 第三方声明;应用"关于"页也可离线查看完整文本。
感谢 arduinocelentano 的 CDImage 项目,它展示了通过生成 CD 音轨在盘面形成可见图像的方法。本项目的 CD 交织实现由其相关代码移植并继续修改,CD 盘面绘图思路也受其启发。CDImage 原作者及贡献者的工作为本项目提供了重要基础。