Miracast Receiver for Android TV 是一款由个人开发者主导的免费、开源 Android TV 投屏接收端应用。该项目的初衷是为了解决商业投屏软件(如乐播投屏)日益严重的广告植入与体验限制问题,旨在为用户提供一个纯净、自主可控的本地投屏解决方案。
- GitHub:https://github.com/weekdayjast/MiracastReceiver
- 网盘:https://pan.quark.cn/s/a0f85df429a8 提取码:2S8X
核心协议支持与功能
该应用全面覆盖了当前主流的无线投屏协议,并针对电视端的硬件特性进行了深度优化:
- AirPlay 支持:完美兼容 iPhone、iPad 和 Mac。支持屏幕镜像(集成 FairPlay 解密与 H.264 硬件解码)、视频流推送及音频流播放。
- DLNA/UPnP 支持:广泛兼容 Bilibili、优酷、爱奇艺等主流视频 App,以及 Windows Media Player、VLC、Emby 和 Plex 等桌面端媒体播放器与服务器。
- Miracast/WFD 支持:支持 Windows (Win+K) 和 Android 系统级的整屏镜像投屏。通过完整的 RTSP 会话协商(M1–M7)、MPEG-2 TS 解复用与 H.264 硬件解码,实现了约 60–130 ms 的端到端低延迟,并可作为 Windows 的无线第二屏幕,同时支持 AAC/LPCM 音频解码与画面同步输出。
- 强大的本地播放能力:支持 HTTP/HTTPS 视频流、HLS (.m3u8) 直播流及多种常见视频格式(MP4、MKV、AVI 等),并提供 0.5x – 2x 倍速播放与 480p – 1080p 画质选择。
- 智能开机自启:应用支持在电视开机后于后台自动拉起接收服务,并智能等待局域网 IP 就绪后再启动广播,有效避免了开机瞬间因网络未连通导致的地址绑定错误。
工程实现细节与已知限制
由于 Android TV 系统的权限限制,部分高级功能在实际部署中存在特定的边界条件:
- Miracast 的 Root 权限依赖:要让电视被 Windows 或 Android 系统的投屏功能发现,必须对外广播 WFD IE(Wi-Fi Display Information Element)。若电视系统本身不具备此功能,应用需要
CONFIGURE_WIFI_DISPLAY这一 signature 级权限才能注入广播,这意味着在部分电视上必须获取 Root 权限方可使用 Miracast。 - 设备名称显示限制:在 Miracast 投屏列表中,设备名称默认显示为
Android_xxxx。由于 Android 11 起修改 Wi-Fi Direct 设备名需要NETWORK_SETTINGS系统级权限,普通应用无法直接修改,只能通过电视系统自带的网络设置(若有)进行更改。AirPlay 和 DLNA 不受此限制,可正常显示自定义设备名。 - 悬浮窗权限要求:自 Android 10 起,系统禁止后台应用弹出界面。若未授予“显示在其他应用上层”权限,当应用处于后台或开机自启状态时接收到投屏请求,播放页面将被系统拦截。首次启动时应用会引导用户开启此权限,也可通过 ADB 命令 (
adb shell appops set com.weekd.miracastreceiver SYSTEM_ALERT_WINDOW allow) 强制授权。
后续演进路线
开发团队已明确了下一阶段的优化方向,旨在进一步提升投屏体验的稳定性与专业性:
- AirPlay 优化:进一步提升屏幕镜像的稳定性,并优化音视频同步机制。
- Miracast 深度优化:进一步压低延迟;引入
wfd_idr_request_capability支持,在丢包后主动请求关键帧以加快画面恢复;探索按需建立 Wi-Fi Direct 组的机制,避免常驻占用无线接口资源。

