Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

MiXPlay

MiXPlay(隔空妙播)是一个面向局域网的开放式音频中枢,融合 AirPlay 隔空播放、MiPlay小米妙播、DLNA、OwnTone、API 等多种音频协议,搭载独家定制的全屋播放引擎,打破生态壁垒:除了米果互通,普通安卓与传统音箱也能解锁新玩法!

📢 上游鸣谢与开源合规说明

本项目的基础协议桥接能力整合了以下优秀的开源组件:

💡 灵感与思路参考: 本项目在开发与设计过程中,还参考了以下社区项目的思路并进行了重构与自用优化,在此特别致谢:

📌 功能边界与授权说明:

  • 基础免费能力:基于上述上游组件实现的单设备直通播放、单机声卡输出、小米音箱 1对1 桥接等基础功能完全免费开放使用。
  • 自研赞助模块:本项目自研的 Audio Hub 音频流转中枢、MiXPlay 全屋多端同步播放、网页音箱集群 (/pod) 及 定制延迟环形对齐 等组合玩法属于个人定制扩展,作为可选的赞助解锁功能。
  • 第三方开源许可全文:详见项目中的 THIRD-PARTY-NOTICES.md 与 LICENSE。

mixplay-1.webp

mixplay-2.webp


✨ 功能特色

  • 🚀 桥接 AirPlay:局域网直连播放,低延迟无损直通
  • 🚀 模拟 MiPlay:局域网直连播放,低延迟无损直通
  • 🔥 多房间同步播放:定制版MiXPlay 全屋播放
  • 🌐 网页音箱串流:任意网页变虚拟音箱,展示歌曲信息
  • 🔌 通用音频 API:标准的流媒体接口,轻松对接音乐库
  • 🔥 接入 OwnTone:兼容跨协议的多房间播放
    • OwnTone 支持 AirPlay 1&2、Chromecast、DLNA 等
  • 📦 多平台通用:支持 Windows、macOS、Linux、Android Termux 及 Docker 部署

MiXPlay 内置纯 Rust 原生 AirPlay 驱动(原生支持 AirPlay 2 及 AirPlay 1 协议),无需安装复杂的 C 语言依赖即可享受极低延迟无损直通。

📊 音频方案与协议对比

对比维度 MiXPlay AirPlay 1 AirPlay 2 DLNA 小米妙播
系统级音频投射 ✅ 全家桶 ✅ 全家桶 ✅ 全家桶 ❌ 部分 App ✅ 全家桶
多房间同步播放 ✅ 支持 ☑️ 仅限 iTunes ✅ 支持 ❌ 不支持 ✅ 支持
音频通信链路 ☑️ 同步串流 ☑️ 同步串流 ✅ 独立协同 ☑️ 分离遥控 ✅ 独立协同
小米音箱兼容性 ✅ 全系音箱 ☑️ Sound 系列 ☑️ Sound 系列 ☑️ 部分音箱 ☑️ 部分音箱
OwnTone 兼容性 ✅ 支持 ✅ 支持 ✅ 支持 ☑️ 部分音箱 ❌ 不支持
硬件加密门槛 ✅ 无门槛 ☑️ 苹果授权 ☑️ 苹果授权 ✅ 无门槛 🔒 小米独占

🔊 MiXPlay 支持音箱列表 ➡️ 点我跳转查看

🎵 音频处理与格式支持

  • 原生直连格式:.mp3、.m4a、.flac、.wav、.m3u8
    • 小米音箱硬件原生解码,音频数据由中枢直接转发,0 额外 CPU 转码开销,无损低延迟。
  • 中枢转码扩展:
    • 内置静态编译 FFmpeg 引擎,支持将非标准流实时转码推流至各个音箱端。

⚠️ 本项目主要是完善苹果用户的小米音箱 ✖️ AirPlay 体验,暂不考虑 DLNA 功能。

  • DLNA 是一个古早的音频协议,虽然新老设备都能用,但体验不太好、稳定性欠佳
  • 小米音箱自带 DLNA 功能不完整,第三方 DLNA 需额外适配,体验依然不完美
  • 如果需要第三方 DLNA 功能,推荐使用 MiAir、miair-next 等项目

🚀 安装与运行方式

1、Docker 容器部署

Docker Compose(推荐 NAS / 服务器)

services:
  mixplay:
    image: ghcr.io/juneix/mixplay
    # image: docker.1ms.run/juneix/mixplay  # 毫秒镜像加速
    container_name: mixplay
    network_mode: host
    restart: unless-stopped
    environment:
      WEB_PORT: 8820
    devices:
      - /dev/snd:/dev/snd
    volumes:
      - ./conf:/app/conf
      - /etc/machine-id:/host/etc/machine-id:ro

Docker CLI

docker run -d \
  --name mixplay \
  --network host \
  --restart always \
  -e WEB_PORT=8820 \
  -v "${PWD}/conf:/app/conf" \
  -v "/etc/machine-id:/host/etc/machine-id:ro" \
  ghcr.io/juneix/mixplay
  # docker.1ms.run/juneix/mixplay # 毫秒镜像加速

2、飞牛应用商店 (fnOS)

在飞牛 fnOS 应用中心搜索【MiXPlay - 隔空妙播】即可在线一键安装。

mixplay-3.webp


3、全平台通用

a. 已有 uv 环境

uv tool install --python 3.12 mixplay-hub

b. 一键安装 uv 和 mixplay

# 🐧 Linux / 🍎 macOS / 📱 安卓 Termux (Linux 自动注册 Systemd 开机自启服务,Mac 自动生成桌面快捷方式)
curl -fsSL https://raw.githubusercontent.com/juneix/MiXPlay/main/scripts/install.sh | bash

# 国内加速
curl -fsSL https://gh-proxy.org/https://raw.githubusercontent.com/juneix/MiXPlay/main/scripts/install.sh | bash

# 🪟 Windows (PowerShell 一键安装,自动生成桌面快捷方式)
powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/juneix/MiXPlay/main/scripts/install.ps1 | iex"

# 国内加速
powershell -ExecutionPolicy ByPass -c "irm https://gh-proxy.org/https://raw.githubusercontent.com/juneix/MiXPlay/main/scripts/install.ps1 | iex"

💡 日常使用:

  • 桌面用户:双击桌面的 MiXPlay 快捷方式(或运行 mixplay-desktop),自动常驻系统托盘并拉起网页控制台,右键托盘图标可快速打开控制台、查看日志或退出;
  • 服务器/NAS 用户:后台守护运行 mixplay start,查看状态 mixplay status,停止服务运行 mixplay stop。

🔐 小米账号与登录凭证说明

  1. 登录方式推荐与区别

    • 米家 App 扫码登录 (强烈推荐 ⭐⭐⭐⭐⭐): 通过移动端米家 App 原生扫码授权,获取官方长效根凭证 passToken。有效期长达数月至半年,且后台会自动无感静默续期,100% 绕过滑块验证码与异地风控。
    • 手动 Cookie 登录 (备用): 通过浏览器 F12 抓取网页版 Cookie(userId + passToken),作为备用方案。网页 Cookie 有效期相对较短(通常数周),且若在电脑浏览器点击“退出登录”会立即失效。
  2. 为什么不支持账号密码直接登录? 直接提交账号密码极易触发小米云端的安全风控(如图片验证码、短信二次验证、异地设备异常封禁),导致换票失败率极高,故不提供该方式。

  3. 自动续期原理 系统基于保存的 passToken,后台会自动向小爱云端静默换取播放所需的短期通行证(serviceToken,通常有效期 30 天),全自动轮转,日常使用无需手动干预。

  4. 安全与隐私提示 ⚠️ 小米的 passToken 为核心凭据,请妥善保管勿公开泄露。本项目纯内网个人使用,Web 控制台默认无需密码。如需外网访问,强烈建议配合 Tailscale、Zerotier 或 VPN 使用。


❤️ 支持项目

  • 打赏鼓励:支持我开发更多有趣应用
  • 互动群聊:加入 💬 QQ 群 可在线催更
  • 更多内容:访问 ➡️ 谢週五の藏经阁

微信

支付宝

Metadata

Release files for mixplay-hub 1.4.6b2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for mixplay-hub 1.4.6b2
File Interpreter ABI Platform
mixplay_hub-1.4.6b2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
mixplay_hub-1.4.6b2-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details
mixplay_hub-1.4.6b2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details

Total release size: 30.4 MB

Release files / mixplay_hub-1.4.6b2-cp312-cp312-win_amd64.whl

Download URL mixplay_hub-1.4.6b2-cp312-cp312-win_amd64.whl
Size 9.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
9abd40fc4b890e557c312c2a6ad049d8eafd7471cfe88a47d4c82ea030ae53e5
BLAKE2b-256 checksum
How to use checksums
23179644a3fffe391cbf38885cf7508a6eac671265628765cef3dbe2255bca68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / mixplay_hub-1.4.6b2-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL mixplay_hub-1.4.6b2-cp312-cp312-manylinux_2_34_x86_64.whl
Size 11.1 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
63d294518f66ee5f0b681d8746615a0a735e48b1a58d0f67a1c55447344717b5
BLAKE2b-256 checksum
How to use checksums
d13bd306ad7d21e4253d5dd3291bf560a09e05f14b61dfea7af23323777069e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / mixplay_hub-1.4.6b2-cp312-cp312-macosx_11_0_arm64.whl

Download URL mixplay_hub-1.4.6b2-cp312-cp312-macosx_11_0_arm64.whl
Size 9.5 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
16613a3faba1187f3993dd6b1c1edb7af5c03130d95c2d07cc249557c459e0a4
BLAKE2b-256 checksum
How to use checksums
5f0988db6c9c3e949f6653b0e9a7696ad373b40b5186da0cd395f51c4f1eb518
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page