本仓库用于记录并复现实验:在 Apple Silicon macOS 上通过 gcenx/wine 运行 Dolby Encoding Engine(Windows x64)。
补充:FEX 容器路线用于降低对 Rosetta 2 的依赖,提前应对苹果未来可能弃用 Rosetta 2 的风险。
English README: README.en.md 免责声明 / Disclaimer: DISCLAIMER.md 许可证 / Licenses: LICENSE, LICENSE-docs
GitHub Packages 页面会显示仓库 README;请按下列镜像入口选择对应路线。 兼容性说明(全局):已实测兼容 Dolby Media Encoder(GUI)内置 CLI 子集(
dee_ddpjoc_encoder.exe、dee_ddp_encoder.exe、dee_convert_sample_rate.exe、mp4muxer.exe、mp4demuxer.exe),覆盖 Box64/FEX/Rosetta2 容器与非容器wine64;不代表 Dolby Media Encoder 全部工具均已验证。
| 路线 | 推荐镜像 | 平台 | 本地镜像体积(docker images) |
压缩后体积(GHCR manifest) |
|---|---|---|---|---|
| FEX Bundled(内嵌 RootFS) | ghcr.io/sakuzypeng/dee-fex-bundled:phase2-balanced-v6 |
linux/arm64 |
441MB |
142.6 MiB |
| Box64 | ghcr.io/sakuzypeng/dee-box64-lab:latest |
linux/arm64 |
773MB |
226.3 MiB |
| Rosetta 2(legacy) | ghcr.io/sakuzypeng/dee-wine-minimal:legacy-rosetta2-latest |
linux/amd64 |
442MB |
116.1 MiB |
说明:压缩后体积按镜像
manifest的config + layers大小汇总;实际拉取流量会受 layer 复用与本地缓存影响。 统计口径:本地镜像体积来自docker images;压缩后体积来自 GHCRmanifest(按目标平台汇总)。 变更说明:外置 RootFS 的dee-fex-lab已下线,主线仅保留 FEX Bundled。
- 镜像:
ghcr.io/sakuzypeng/dee-fex-bundled:phase2-balanced-v6ghcr.io/sakuzypeng/dee-fex-bundled:phase2-balanced(稳定别名,当前指向v6)
- 拉取:
docker pull ghcr.io/sakuzypeng/dee-fex-bundled:phase2-balanced-v6
- 最短自检:
IMAGE_TAG=ghcr.io/sakuzypeng/dee-fex-bundled:phase2-balanced-v6 ./scripts/run_dee_with_fex_bundled.sh --help
- v6 回补 DME 所需的 Wine
avrt.dll,并内置小型诊断工具集:mediainfo、file、binutils、xxd、jq、ripgrep、python3-minimal、strace、lsof、curl、patchelf及常用解压工具。 未加入完整 FFmpeg、GDB、编译器或pip。 - 运行时载荷自检:
IMAGE_TAG=ghcr.io/sakuzypeng/dee-fex-bundled:phase2-balanced-v6 \ ./scripts/check_fex_bundled_payload.sh
- 诊断与回归记录:DEE_FEX_Bundled_Diagnosis.md
- 历史实验记录(外置 RootFS):DEE_Docker_FEX_Experiment.md
- 镜像:
ghcr.io/sakuzypeng/dee-box64-lab:latest - 拉取:
docker pull ghcr.io/sakuzypeng/dee-box64-lab:latest
- 最短自检:
IMAGE_TAG=ghcr.io/sakuzypeng/dee-box64-lab:latest ./scripts/run_dee_with_box64.sh --help
- 详细指南:DEE_Docker_Box64_Experiment.md
- 可回退标签:
full-latest、slim-latest(latest始终指向最近一次完整验收通过版本)
- 镜像:
ghcr.io/sakuzypeng/dee-wine-minimal:legacy-rosetta2-latest - 拉取:
docker pull ghcr.io/sakuzypeng/dee-wine-minimal:legacy-rosetta2-latest
- 最短自检(需挂载 DEE 目录):
docker run --rm --platform linux/amd64 \ -v /path/to/dolby_encoding_engine:/dee \ ghcr.io/sakuzypeng/dee-wine-minimal:legacy-rosetta2-latest \ --help
- 详细指南:DEE_Docker_Minimal_Wine.md
- 新增统一入口:
scripts/run_dme_cli.sh - 新增快捷脚本:
scripts/run_dme_ddpjoc.shscripts/run_dme_ddp.shscripts/run_mp4muxer.sh
- 模式切换:
DME_MODE=box64|fex|fex-bundled|host(默认box64) - 可选 alias(本机):
alias dme-joc='./scripts/run_dme_ddpjoc.sh' alias dme-ddp='./scripts/run_dme_ddp.sh' alias mp4muxer='./scripts/run_mp4muxer.sh'
- 示例:
DME_MODE=box64 dme-joc --help DME_MODE=fex mp4muxer --help DME_MODE=fex-bundled dme-joc --help DME_MODE=host dme-ddp --help
- FEX Bundled 默认使用稳定别名;也可固定到 v6:
DME_MODE=fex-bundled \ IMAGE_TAG_FEX_BUNDLED=ghcr.io/sakuzypeng/dee-fex-bundled:phase2-balanced-v6 \ dme-joc --help
mp4muxer原生替换(便于后续自编译版本):MP4MUXER_NATIVE_BIN=/path/to/native/mp4muxer \ DME_MODE=box64 mp4muxer --help
MP4MUXER_NATIVE_BIN启用时,会自动把y:/...或z:/workspace/...参数转换为宿主机路径。- 默认行为:若存在
../upstream/dlb_mp4base/make/mp4muxer/macos/mp4muxer_release,mp4muxer会自动优先使用原生二进制。 - 关闭自动优先:
AUTO_NATIVE_MP4MUXER=0 DME_MODE=box64 mp4muxer ...
- 中文(主文档):DEE_Encoding_on_macOS_with_gcenx_wine.md
- FEX 容器指南(中文):DEE_Docker_FEX_Experiment.md
- Box64 容器指南(中文):DEE_Docker_Box64_Experiment.md
- 容器化方案(Docker + 自编译精简 Wine,非 FEX,依赖 Rosetta 2):DEE_Docker_Minimal_Wine.md
- Markdown 文档
- 轻量文本说明
- Dolby 工具二进制/安装包(
.exe、.dll、.zip) - 授权文件(
.lic) - 媒体测试资产(
.wav、.ec3) - 运行日志(
.log) - 解压后的引擎目录
- 代码与脚本:
MIT(见 LICENSE) - 文档内容:
CC BY 4.0(见 LICENSE-docs)