转自:http://blog.csdn.net/dnfchan/article/details/8558552/

 另外一篇不错的参考文章:http://www.360doc.com/content/16/0418/19/30587597_551729779.shtml

WiFI Display(WFD)是WiFI Alliance 开发出的一种规范,使多媒体设备之间建立和维持一个基于WiFi的连接,并且利用这个连接推进视频/音频的在目标设备的呈现播放。

以下是原话

The Wi-Fi Alliance is developing a “Wi-Fi Display Specification” to enable and
sustain a secure connection between multimedia devices, based on Wi-Fi, to 
facilitate audio/video rendering

Wifi display的一些名詞

1.Source :

A device that is capable of transmitting multimedia content

能提供多媒体内容传输的设备

2.Sink :

A device that is capable of receiving and rendering multimedia content

能接受多媒体内容并将其呈现的设备

3.Session:

一个WFD在传输和接收设备之间连接

4.TDLS:

一项802.11协议,在两个连接到同一个Ap的客户端设备之间建立的直接连接,不懂的可以看图

Tunneled Direct Link Setup. An 802.11 protocol to setup a direct Wi-Fi 
link between two peer client devices (STAs) that are members of the same BSS

5.wifi direct:

设备无需通过无线路由器即可相互连接的技术,需要一台设备作为组织者建立一个类似ap功能的网络,其他设备可以搜索到并用wifi连接上

WFD原理与流程

还是用现有的图来说明其基本的过程吧

WFD连接基础

WFD建立在wifi p2p连接基础上的,支持以下两种连接方式

-wifi direct:(必须支持)

设备无需通过无线路由器即可相互连接的技术,需要一台设备作为组织者建立一个类似ap功能的网络,其他设备可以搜索到并用wifi连接上

-TDLS:(可选)

2台wifi设备连接在同一个Ap上,它们可以直接建立一个点对点的通道实现数据传输

WFD建立的11个过程

1.Device Discovery

wfd设备之间的搜索探测功能,使用现有的wifi p2p技术为基础,并在wifi信标、探测信号中加入了wfd特有格式的探测信号
 
2.Service discovery
此功能是可选功能,也是建立在wifi p2p原有的servicediscovery基础上,并加入wfd特有格式的请求和回应命令
 
3.Device selection
用户选择一个需要连接的设备
Wifi-direct 连接的强制和默认的,TDLS可选
若有2个sink,一级和二级sink,wifi p2p组织者必须是source
 
4.Wifi connection setup
使用wifi direct和tdls技术,建立wfd基础线路
将设备建立TCP连接,并创建一个控制端口来建立和维护session,该端口跑的协议是RTSP
 
5.Display capability negotiation
参数协定,决定需要使用的最佳参数,包括音视频解码率,分辨率,信道负载等等
若有一级和二级sink存在,都需要单独设定
过程和命令如下图
 
 
6.UIBC setup
即user input back channel,用户输入反向通道,此功能是可选的。
有两种类型
    generic:硬件无关型,如鼠标点击,按键点击、touch点击、放大缩小等
    HIDC人机接口设备控制:包括红外线、USB、蓝牙、WIFI、游戏杆、遥控器等
 
7.Link content protection
建立内容保护机制,可选功能
采用的是HDCP2.0安全协议,需要在数据流传输前建立
 
8.WFD Session setup
WFD核心步骤,必须在能力协定的基础上建立
建立过程使用RTSP通信,具体见下图
 
9.AV Streaming
先将Audio和video多路复用成一个MPEG2传输流
在传输流头部用MPEG2-TS格式打包,并封装RTP、UDP、IP报头如下图
 
10.Payload control capability

在数据流建立之后,需要有控制管道负载的能力,包含以下功能

时间同步  如果有2个sink设备,二者音视频必须同步,实现保真
编码速率控制:因信道条件和电源管理优化控制管道负载
 
11.Display Session Teardown
WFD会话终止,按连接分两种方法
Wifi-direct

跟 wifi p2p规范一样,source和sink有序拆除连接

TDLS
IEEE P802.11z specification规范动作,有序的拆除终止连接
 
 
参考资料:Wi-Fi Alliance Member Symposium大会档案 20110421_China_Symposia_full_merge.pdf。下载地址如下
 

最新文章

  1. SVN的使用
  2. Mac下查看端口占用
  3. iOS sqlite数据库图像化查看
  4. 运用webkit绘制渲染页面原理解决iscroll4闪动的问题
  5. iOS获取UUID,并使用keychain存储
  6. 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
  7. 【转载】Grunt常用插件介绍
  8. OpenGL的GLUT初始化函数[转]
  9. HTML第一部分
  10. 【良心noip膜你赛】总结
  11. Keepalived+LVS+Nginx负载均衡之高可用
  12. linux下用shell删除三天前或者三天内的文件
  13. Matlab强迫症产生的图像
  14. HTTP首部概览
  15. LInux Crontab及命令
  16. Linux命令之cp
  17. python缓存装饰器,第二种方式(二)
  18. Remon Spekreijse CSerialPort串口类的修正版2014-01-10
  19. php调试利器Xhprof的安装与使用
  20. string转xml

热门文章

  1. [转载]JavaEE学习篇之——网络传输数据中的密码学知识以及Tomcat中配置数字证书EE
  2. 剑指Offer 矩形覆盖
  3. Java文件操作工具类(复制、删除、重命名、创建路径)
  4. Android中对Log日志文件的分析[转]
  5. ndk学习12: 线程
  6. 音频DAC剖析---解开HI-FI音质的秘密
  7. 越狱后的ios如何用apt-get 安装各种命令
  8. POCO浅探
  9. jQuery Plugin Docs
  10. 【Android Studio错误】 If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle.