DiscImageStudio: burn visible artwork onto CDs, DVDs and Blu-ray discs
简体中文 | 繁體中文 | English | 日本語 全能的光盘盘面可见图像生成与刻录工具 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 1. 新建工程 在主页选择 CD、DVD 或蓝光,指定输出位置后创建工程。 2. 设计盘面 在设计页导入图片,用图层完成排版,并在右栏「影调」模块调整抖动、伽马、亮度与灰阶档位。 3. 预览与导出 在预览页核对盘面投影,在导出页生成 ISO / RAW / WAV+CUE,或使用即时刻录功能直接写入空白盘片。 即时刻录为实验性功能,请只使用可报废的测试介质。 功能 光盘数据生成 CD 支持:支持任何 CD 。您可导出带格式头的 WAV 音轨及配套 CUE,兼容 cdrecord, ImgBurn等刻录软件;也允许导出 RAW 音轨。详见 CD 刻录兼容说明。 DVD 支持:支持任何 DVD。您可导出 ISO 镜像。 蓝光支持:支持任何单层 BD-R 25 GB,支持纯绘图与 UDF 2.01 文件。详见 ADDING_BLURAY.md。 随盘文件:CD/DVD/蓝光可在设计页直接选择要保存的文件夹及内圈/外圈位置,也可在导出页调整;设置随工程保存。 文件区域预览:混合盘的设计投影和成品读回用黄色标出文件区(含文件系统)。 介质灰度方案:CD 与 DVD 均使用黑白二阶,CD 使用 0D / AA,DVD 扰码域使用 A5 / 92。详见 PHYSICAL_MODEL_AUDIT.md。 灰度抖动工具:独立程序也可将原图处理为 0/255 黑白二阶 PNG;支持打开或拖入原图、并排预览及无损 PNG 导出。详见使用与构建说明。 盘片预设:内置数个品牌的光盘参数,覆盖 CD/DVD/BD。您也可将自己标定好的数据贡献给我们,详见预设维护说明。 辅助标定 Disc Image Studio 提供了一套智能且精准的辅助标定流程,相较人工肉眼识别标定,辅助标定算法将可确定的盘面物理数据精确度从 10-6 提升到了 10-14。校准前采用恒定轨距,十字线的径向线条出现明显弯曲;使用辅助标定得到的三次轨距参数重新生成并刻录后,线条更接近径向直线。 流程与参数说明见辅助标定说明。 刻录 镜像文件输出:您可以导出完整 ISO / RAW 文件并使用合适的刻录软件手动刻录。 即时流式刻录(实验性):CD、DVD 与 BD-R 边生成边刻录,不保存完整镜像;BD-R 走 MMC 顺序写入。 不要使用非空白介质! 应用形态 多语言界面:点击右上角「设置」按钮,在「通用 → 语言」选择简体中文、繁體中文、English、日本語或跟随系统,保存并重启应用后生效。语言和主题默认均跟随系统,已保存的明确选择继续保留;跟随系统时区分简体和繁体中文,日文系统使用日文,其他系统语言使用英文。 双入口:不带参数将打开 GUI;带参数则进入统一命令行。 模块化:CD、DVD 与蓝光通过 IOpticalDiscModule 接入,统一命令目录与任务契约,详见架构说明。 系统与设备要求 桌面版需要 Windows 10 2004(2004/20H1,19041)及以上,或 Windows 11。 构建:.NET 10 SDK(global.json 锁定 10.0.x);自行构建的非自包含 GUI 需要 .NET 10 Windows 桌面运行时。Release EXE 已包含运行时,无需另行安装 .NET。 “即时刻录”功能需要一台 Windows 可识别的 CD / DVD / BD 刻录机与空白盘片;BD-R 需要支持顺序写入的单层空白盘。 构建与运行 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 各命令的完整参数见对应文档。 源码结构 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/ 架构、引擎、预设、发布等文档 文档 参考标准 Disc Image Studio 的实现与物理模型主要参考以下规范: CD 公共编码部分还参考了 ECMA-130,第 2 版(CD-ROM,1996)。 刻录与介质安全须知 Disc Image Studio 不安装驱动或服务;“即时刻录”功能使用了 Windows 自带的 IMAPI2,拒绝非空白介质。 “即时刻录”功能已有部分实盘反馈,对不同设备、介质与刻录入口的验证覆盖仍有限,属于实验性功能,请只使用可报废的测试介质。刻录中断、断电或生成速度不足仍可能使盘片报废! 实际可见效果取决于盘片、刻录机、固件与写入策略。 混合文件夹会在开始刻录前扫描目录并固定布局;期间源文件大小改变会安全终止任务,已开始写入的盘片仍可能报废。 BD-R 顺序写入不提供备用区重映射;中断后同一盘片通常不能继续写入。 隐私与安全 Disc Image Studio 不联网、不上传文件、不收集遥测,详见隐私政策。 发现安全问题请不要在公开 Issue 中披露,按安全政策使用 GitHub 私密报告。 贡献 欢迎报告问题与提交代码。开发环境搭建、模块边界规则、测试要求与 Pull Request 流程见贡献指南。 许可证 项目采用 GNU GPL v3.0 or later(GPL-3.0-or-later)。CD 交织实现包含从 CDImage 移植并修改的代码,整体分发沿用兼容的 GPL 授权;分发二进制或修改版时须遵守对应源代码等要求。第三方字体与组件遵循各自许可证,详见 授权说明 和 第三方声明;应用"关于"页也可离线查看完整文本。 致谢 感谢 arduinocelentano 的 CDImage 项目,它展示了通过生成 CD 音轨在盘面形成可见图像的方法。本项目的 CD 交织实现由其相关代码移植并继续修改,CD 盘面绘图思路也受其启发。CDImage 原作者及贡献者的工作为本项目提供了重要基础。 Star History