ISO转CHD快速指南:游戏库省空间完整方案
【免费下载链接】rommA beautiful, powerful, self-hosted ROM manager and player.项目地址: https://gitcode.com/GitHub_Trending/rom/romm
周末把散落各处的游戏搬进 romm(一个自托管的 ROM 管理器兼播放器)时,PS1 目录一眼望不到头:单张 ISO 700MB 起步,几十款下来硬盘就告急。想给游戏库减负,最直接的办法是 ISO转CHD——把光盘镜像换成 MAME 生态里的压缩格式,内容不变,体积先瘦一圈。
30 秒看懂 CHD 为什么比 ISO 省空间
ISO 是把整张光盘 1:1 原样存盘;CHD(Compressed Hunks of Data)把数据切成小块,只压缩存储非空部分,空块不占地方。
打个比方:ISO 像把整张 CD 原样打包寄出,CHD 像只留下有墨水的页面,再附一张目录。
量级上,一张 700MB 的 PS1 ISO 压完常见落在 300–500MB(随游戏内容浮动,音频轨越多的游戏越难压)。
romm 对 CHD 是"认识"的:它读取 CHD v5 文件头里内嵌的 SHA1 来确认文件身份,docs/BACKEND_ARCHITECTURE.md 的哈希处理一节有说明。
内置、第三方、在线:三条转换路线怎么选
| 路线 | 优势 | 劣势 | 适合谁 |
|---|---|---|---|
| 内置转换(romm 集成) | 集成度高、可批量、自动接管文件管理 | 定制选项有限 | 绝大多数用户 |
| 第三方工具(MAME 的 chdman) | 参数全、可写脚本批量跑 | 需单独安装,有学习成本 | 高级玩家 |
| 在线转换服务 | 免安装、跨平台 | 上传下载慢、有大小限制、隐私风险 | 只想试个水 |
多数人推荐直接用内置转换:官方 Docker 镜像已预装所需组件,改个配置就能跑,不用为一款工具单独折腾环境。
最小可行路径:从环境准备到结果验证
整个过程四步:环境准备、关键配置、执行转换、结果验证。按顺序走一遍。
环境准备:装好还是免装
Docker 部署的用户什么都不用装,官方镜像里组件已就绪;本地部署用户需要先装 MAME 工具包(提供 chdman 转换工具)。
git clone https://gitcode.com/GitHub_Trending/rom/romm cd romm docker compose up -d拉下仓库、起容器,API、扫描、定时任务这些后台服务会一并跑起来。
关键配置:三行 yaml 打开转换
在 config.yml 里打开转换开关,指定目标格式和平台:
conversion: enabled: true target_format: chd platforms: [ps, saturn, dreamcast]意思是:只对 ps、saturn、dreamcast 三个平台做转换,其他平台一个字节都不动。
执行与验证:30 秒完成一次批量转换
登录管理界面,进入文件管理模块,把列表筛选成只显示 ISO;勾选目标文件,点批量转换。单张光盘是分钟级耗时,挂后台干别的就行。
跑完后,romm 会读取新生成 CHD 文件头里的 SHA1 与库内记录比对,backend/utils/archives.py 就是这个校验逻辑所在地;再到游戏详情页确认后缀已变 .chd、大小符合预期,这次转换才算落地。
进阶选项:压缩级别、音频处理与定时任务
压缩级别怎么选
chd_compression_level 取值 1–9,越高压缩率越好、转换越慢。日常用 7 就够,9 换来的那点压缩率不值得多等一倍时间。
音频压缩与坏扇区
chd_compression_level: 7 audio_compression: flac skip_corrupted_sectors: true第一行定压缩级别;第二行让音频走 FLAC 高质量压缩;第三行在遇到损坏扇区时自动跳过,不让一个坏块毁掉整张盘。
定时自动转换新入库的 ISO
💡 库大就分批:按平台或文件大小分组,避免一次性吃满 CPU 和磁盘 IO;再挂个定时任务,让系统在空闲时段自动处理新入库的 ISO,之后就别再管它了。
FAQ:ISO转CHD 的常见疑问
问:转完还能正常玩吗?能。CHD 是 MAME 生态的主流格式,支持 CHD 的模拟器直接读取;romm 也靠文件头 SHA1 识别它。
问:转换中途文件坏了怎么办?建议先保留原 ISO,等 SHA1 校验通过再删;开了 skip_corrupted_sectors 之后,个别坏扇区会被跳过而不中断整盘。
问:压缩级别直接拉满 9 行不行?可以但不划算:压缩率提升有限,转换时间明显变长。7 是省空间和耗时之间最稳的一档。
把开关打开,等第一批任务跑完,PS1 目录瘦了一圈,游戏一个没少——剩下的,交给定时任务慢慢消化。
【免费下载链接】rommA beautiful, powerful, self-hosted ROM manager and player.项目地址: https://gitcode.com/GitHub_Trending/rom/romm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考