Wi-Fi Display协议介绍
Wi-Fi Display是由著名的Wi-Fi联盟于2012年制定的一套标准协议,主要是以Wi-Fi Direct为基础的无线显示标准,支持该标准的电子产品可以通过无线方式分享图片和音视频等画面。这篇文章主要是将《Wi-Fi_Display_Technical_Specification_v2.1_0》协议里面比较重要的概念摘录出来,略加注释,作为引子方便大家查阅。后面我会将安卓设备Source端和Sink端代码实现的追踪和分析以文章的形式展现给大家。
1.WFD架构
WFD是建立在Wifi技术之上的一种无线投屏技术。首先通过WiFi Direct发现对方设备,然后建立连接,通过WiFi传输音视频数据。
按照时间顺序,首先是设备/服务的发现,其次是source端和sink端能力协商和建立连接,然后是数据的传输。
其中:
- Remote I2C R/W和UIBC为可选项
- 数据传输默认是UDP协议,可设为TCP协议
2.Source/Sink端
WFD设备划分为两种角色,其中Source端(数据源)将音视频等数据流发送到Sink端(接收端)显示出来。
其中:
- Source端一般是手机等小屏设备充当
- Sink端一般是电视,车载显示器和投影仪等大屏设备充当
- Sink端又可以分为PrimarySink端和Secondary Sink端
- Primary Sink端 可以接收音视频数据,适用于本身集成显示器和扬声器的设备
- Scondary Sink端 只可以接收音频数据,适用于分体音箱设备
其中:
- Sink端可以内置或者外接视频显示器/音频播放器
- 内置是常见的电视和车载显示器模型
- 外接是一些类似投屏棒,电视盒子的设备模型
3.AV数据流模型
音视频数据在Source端获取后编码发给Sink端
4.Session模型
按照Sink端设备的参与类型和数据流向可以划分以下四种会话模型
其中:
- 图4.1模型适用于Wifi音箱等设备模型,只传输音频
- 图4.2模型适用于投影仪等设备模型,只传输视频
- 图4.3模型适用于电视等设备,传播音频和视频
- 图4.4模型音视频分开投射,适用于显示器和音箱分体设备
5.WFD连接拓扑结构
WFD协议现在已经发行了第二版,所以会有第一版(R1)和第二版(R2)的区分,第二版向前兼容第一版
其中:
- R1版的WFD可以建立在WiFi-P2P或者TDLS的基础上
- R2版的WFD可以建立在WiFi-P2P或者WiFi-Infrastructure的基础上
- a 标示R2版WiFi-Infrastructure在R1版的TDLS方式上进行一定程度的简化
5.1 WiFi-P2P
使用WiFi-P2P进行WFD连接
其中:
- AP不是必需,也不必是同一个AP
5.2 TDLS
使用TDLS进行WFD连接
其中:
- Source和Sink必需连接同一个AP
5.3 WiFi-Infrastructure
使用WiFi-Infrastructure进行WFD连接
其中:
- Source和Sink必需连接同一个AP
6.编解码
由于音视频技术发展比较早,不同公司制定并采用了不同的格式等,由于音视频编解码的多样性,WFD规定了一些基础的样式,其他可选。
其中:
- Sink端在RTSP交互的M3 Response中表明自己支持的音视频格式。
7.WFD连接顺序
WFD连接的顺序图
7.1 WFD Device/Service Discovery
P2P在设备发出的Beacon,Peobe Request/Response帧里面追加WFD IE,该IE里面包含一些WFD设备信息。
其中:
- 当WFD Device 充当WiFi-P2P的Group Owner时在其发出的Beacon中追加WFD IE
- 当WFD Device 充当Station模式时在其发出的Probe Request和其Probe Response中追加WFD IE
TDLS在设备发出的tunneled Probe Request/Response中附加WFD IE
Infrstruct BSS 略
7.2 WFD Connect Setup
建立P2P/TDLS/Infrstruct BSS连接
其中:
- WFD Source充当TCP Server
- WFD Sink充当TCP Client
- Port默认为7236或者指定为49152~65535之间的一个
7.3 WFD Capability Negotiation
WFD能力协商过程,只要是协商双方设备支持的音视频等能力信息,如分辨率等。
其中:
- M1、M2消息为固定交互
- M3为Source请求获取Sink端支持的音视频格式
- M4为协商结果的最终确认
7.4 WFD Session Establishment
WFD会话建立
其中:
- M5为Source端发送给Sink端,触发会话建立
- M6、M7为Sink端发送给Source端,告知Sink端可以发送音视频流
7.5 Coupled Sink Operation
主次Sink端的耦合及其Source端连接过程
7.6 User Input Back Channel
待续
7.7 Link Content Protection Setup
待续
参考:
【1】《Wi-Fi_Display_Technical_Specification_v2.1_0》
来源:CSDN
作者:coderkim1024
链接:https://blog.csdn.net/weixin_43860588/article/details/103744841