Wi-Fi Display协议介绍

淺唱寂寞╮ 提交于 2020-01-14 05:07:33


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传输音视频数据。
图1.1 WFD架构图

图1.1 WFD框架图

按照时间顺序,首先是设备/服务的发现,其次是source端和sink端能力协商和建立连接,然后是数据的传输。
其中:

  • Remote I2C R/W和UIBC为可选项
  • 数据传输默认是UDP协议,可设为TCP协议

2.Source/Sink端

WFD设备划分为两种角色,其中Source端(数据源)将音视频等数据流发送到Sink端(接收端)显示出来。
图2.1 WFD角色划分图

图2.1 WFD角色划分图

其中:

  • Source端一般是手机等小屏设备充当
  • Sink端一般是电视,车载显示器和投影仪等大屏设备充当
  • Sink端又可以分为PrimarySink端和Secondary Sink端
    • Primary Sink端 可以接收音视频数据,适用于本身集成显示器和扬声器的设备
    • Scondary Sink端 只可以接收音频数据,适用于分体音箱设备
      图2.2 Sink设备内外置图
图2.2 Sink设备内外置图

其中:

  • Sink端可以内置或者外接视频显示器/音频播放器
    • 内置是常见的电视和车载显示器模型
    • 外接是一些类似投屏棒,电视盒子的设备模型

3.AV数据流模型

音视频数据在Source端获取后编码发给Sink端
图3.1 Sink设备内外置图

图3.1 Sink设备内外置图

4.Session模型

按照Sink端设备的参与类型和数据流向可以划分以下四种会话模型
图4.1 只有音频会话模型

图4.1 只有音频会话模型

图4.2 只有视频会话模型

图4.2 只有视频会话模型

图4.3 音视频会话模型

图4.3 音视频会话模型

图4.4 耦合会话模型

图4.4 耦合会话模型

其中:

  • 图4.1模型适用于Wifi音箱等设备模型,只传输音频
  • 图4.2模型适用于投影仪等设备模型,只传输视频
  • 图4.3模型适用于电视等设备,传播音频和视频
  • 图4.4模型音视频分开投射,适用于显示器和音箱分体设备

5.WFD连接拓扑结构

WFD协议现在已经发行了第二版,所以会有第一版(R1)和第二版(R2)的区分,第二版向前兼容第一版
图5.1 耦合会话模型

图5.1 耦合会话模型

其中:

  • R1版的WFD可以建立在WiFi-P2P或者TDLS的基础上
  • R2版的WFD可以建立在WiFi-P2P或者WiFi-Infrastructure的基础上
  • a 标示R2版WiFi-Infrastructure在R1版的TDLS方式上进行一定程度的简化

5.1 WiFi-P2P

使用WiFi-P2P进行WFD连接
图5.2 耦合会话模型

图5.2 耦合会话模型

其中:

  • AP不是必需,也不必是同一个AP

5.2 TDLS

使用TDLS进行WFD连接
图5.3 耦合会话模型

图5.3 耦合会话模型

其中:

  • Source和Sink必需连接同一个AP

5.3 WiFi-Infrastructure

使用WiFi-Infrastructure进行WFD连接
图5.4 耦合会话模型

图5.4 耦合会话模型

其中:

  • Source和Sink必需连接同一个AP

6.编解码

由于音视频技术发展比较早,不同公司制定并采用了不同的格式等,由于音视频编解码的多样性,WFD规定了一些基础的样式,其他可选。
其中:

  • Sink端在RTSP交互的M3 Response中表明自己支持的音视频格式。

7.WFD连接顺序

WFD连接的顺序图
图7.1 WFD连接顺序图

图7.1 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能力协商过程,只要是协商双方设备支持的音视频等能力信息,如分辨率等。
图7.2 WFD能力协商图

图7.2 WFD能力协商图

其中:

  • M1、M2消息为固定交互
  • M3为Source请求获取Sink端支持的音视频格式
  • M4为协商结果的最终确认

7.4 WFD Session Establishment

WFD会话建立
图7.3 WFD会话建立图

图7.3 WFD会话建立图

其中:

  • M5为Source端发送给Sink端,触发会话建立
  • M6、M7为Sink端发送给Source端,告知Sink端可以发送音视频流

7.5 Coupled Sink Operation

主次Sink端的耦合及其Source端连接过程图7.4 WFD主次Sink耦合图

图7.4 WFD主次Sink耦合图

7.6 User Input Back Channel

待续

7.7 Link Content Protection Setup

待续

参考:
【1】《Wi-Fi_Display_Technical_Specification_v2.1_0》

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!