Miracast 镜像投屏简介
一、Miracast基础概念
1.1 Miracast的介绍
Miracast 是一套通用无线投屏标准,旨在让手机、笔记本电脑等设备,能通过Wi-Fi直连的方式,实时把屏幕画面、音频同步镜像传输到电视、投影仪等大屏幕上,源设备屏幕上显示什么,接收端同步显示什么,整个过程无需任何线缆,标准 P2P 模式下也无需依赖现有无线路由器(Source和电视直接 Wi-Fi Direct 连接);但在 Concurrent (并发共存模式)/ Cross-connection(跨连接模式) 模式下可复用现有 WiFi 网络。
1.2 Miracast核心角色
1、Source(发送方/源端)
通俗的来讲就是手里有画面、负责往外“输出屏幕”的设备,比如你手机开启无线投屏,手机本身就是 Source。主要是用来采集屏幕画面、音频,编码音视频,发起连接,持续推送音视频流。常见设备有安卓手机、Windows PC等。
2、Sink(接收方/宿端)
通俗的来讲就是负责接收画面、解码、显示出来的设备。主要用来接收码流、解码、渲染画面与音频,输出显示,常见设备有智能电视、电视盒子、投影仪等。

二、Miracast 底层原理
Miracast 对应的底层协议为 Wi-Fi Display(WFD),由 Wi-Fi Alliance(Wi-Fi 联盟)制定的技术规范、底层通信协议标准,定义一套完整无线屏幕镜像交互规则。
2.1 Miracast整体架构
Miracast 整体架构自下而上分为硬件驱动层、Wi-Fi 抽象层、协议媒体层、会话管理层、应用层。底层依托 Wi-Fi 抽象层完成 Wi-Fi Direct (P2P) 点对点组网,Sink 默认作为 P2P GO、Source 作为 P2P GC 建立无线链路;系统划分两条独立传输通道,TCP 承载 RTSP 信令,结合 WFD 扩展字段完成会话协商、参数配置与 UIBC 反向控制;UDP 承载 RTP/RTCP 传输音视频码流。Source 端完成屏幕音频采集、硬件 VPU 编码与 RTP 封包推送;Sink 端执行 RTP 解包、音视频解码、同步渲染,依靠 RTCP 完成时钟校准与网络状态反馈;会话管理层统一管理 WiFD 会话生命周期与状态流转,应用层提供设备列表、投屏控制等交互能力,完成实时屏幕镜像投屏。

分层架构图
2.2 Wi-Fi Direct关键技术
Wi-Fi Direct就是不需要无线路由器,两个 Wi-Fi 设备之间自己建立独立无线链路,即P2P 组内独立私有网段。Miracast 标准强制使用这套 P2P 链路传输音视频流。
2.2.1 基本角色
Wi-Fi Direct 组网形成一个 P2P Group(P2P 组),组内只有两种角色:
1、P2P GO (Group Owner,组拥有者)
虚拟 AP,相当于 “临时迷你路由器”,负责分配 IP、管理 P2P 组、信道。在标准 Miracast 组网,Sink 接收端(电视 / 投屏盒子)作为 GO。
2、P2P GC (Group Client,组客户端)
接入 GO 的客户端,类似手机连 WiFi。在标准 Miracast 组网,Source 发送端(手机)作为 GC。
2.2.2 G/O 协商规则
1、WFD 标准默认规则:协商阶段 Sink 广播更高 GO 优先级,优先抢占 Group Owner;
2、两端争夺 GO 场景协商失败:多次协商超时,放弃 P2P 组网,自动降级为 Infra 局域网投屏;部分设备支持配置固定 GO。
3、GO 与 GC 网段分配规则:GO 分配 192.168.49.x 私有网段,GC 自动 DHCP 获取 IP。
2.2.3 四种工作模式
WFD 规范定义了多种 P2P 工作模式,实际投屏体验并不都是"Sink 当 GO、Source 当 GC"的标准模式:
|
模式 |
角色分配 |
发现机制 |
传输通道 |
典型场景 |
|
Standard P2P |
Sink = GO Source = GC |
WFD IE 探测帧 |
Wi-Fi Direct |
电视未联网 |
|
Persistent P2P |
复用历史 P2P 角色,记忆密钥 |
WFD IE + Persistent Group |
Wi-Fi Direct |
反复投屏同一台电视,省重连时间 |
|
Autonomous GO |
任一方可做 GO(不强制 Sink) |
WFD IE |
Wi-Fi Direct |
灵活组网,对等设备间互投 |
|
Concurrent / Cross-connection |
都不建 P2P Group,走已连接的 WiFi Infra AP |
mDNS / DNS-SD |
LAN(TCP/UDP) |
Source已连家里 WiFi,电视在同一网段 |
2.2.4 P2P 组网流程
1、设备发现(Scan):两端交替发送 P2P 探测帧,互相感知对方支持 Wi-Fi Direct;
2、能力协商:协商谁做 GO、谁做 GC(WFD 规范约定 Sink 优先成为 GO);
3、P2P 组建立:GO 启动虚拟 AP,GC 发起连接、完成认证;
4、建立通路:GC 从 GO 获取 IP 地址,建立 TCP/UDP 通路;
5、开始投屏:上层启动 WFD (Miracast) RTSP 投屏会话。
更多推荐
所有评论(0)