Android Wi-Fi Display(Miracast)介绍

Android Wi-Fi DisplayMiracast)介绍

201211月中旬,Google发布了Android 4.2。虽然它和Android 4.1同属Jelly Bean系列,但却添加了不少新的功能。其中,在显示部分,Android 4.2Project Butter基础上再接再砺,新增了对Wi-Fi Display功能的支持。由此也致使整个显示架构发生了较大的变化。web

本文首先介绍Wi-Fi Display的背景知识,而后再结合代码对Android 4.2Wi-Fi Display的实现进行介绍。网络

一背景知识介绍

Wi-Fi Display常常和Miracast联系在一块儿。实际上,MiracastWi-Fi联盟(Wi-Fi Alliance)对支持Wi-Fi Display功能的设备的认证名称。经过Miracast认证的设备将在最大程度内保持对Wi-Fi Display功能的支持和兼容。由此可知,Miracast考察的就是Wi-Fi Display(本文后续将再也不区分MiracastWi-Fi Display)。而Wi-Fi Display的核心功能就是让设备之间经过Wi-Fi无线网络来分享视音频数据。以一个简单的应用场景为例:有了Wi-Fi Display后,手机和电视机之间能够直接借助Wi-Fi,而无需硬连线(如HDMI)就可将手机中的视频投递到TV上去显示[①]。以目前智能设备的发展趋势来看,Wi-Fi Display极有可能在较短期内帮助咱们真正实现多屏互动。session

从技术角度来讲,Wi-Fi Display并不是另起炉灶,而是充分利用了现有的Wi-Fi技术。图1所示为Wi-Fi Display中使用的其余Wi-Fi技术项。架构

1 Miracast的支撑体系结构ide

由图1可知,Miracast依赖的Wi-Fi技术项[②]有:post

  • Wi-Fi Direct,也就是Wi-Fi P2P。它支持在没有APAccess Point)的状况下,两个Wi-Fi设备直连并通讯。
  • Wi-Fi Protected Setup:用于帮助用户自动配置Wi-Fi网络、添加Wi-Fi设备等。
  • 11n/WMM/WPA2:其中,11n就是802.11n协议,它将11a11g提供的Wi-Fi传输速率从56Mbps提高到300甚至600MbpsWMMWi-Fi Multimedia的缩写,是一种针对实时视音频数据的QoS服务。而WPA2意为Wi-Fi Protected Acess第二版,主要用来给传输的数据进行加密保护。

上述的Wi-Fi技术中,绝大部分功能由硬件厂商实现。而在Android中,对Miracast来讲最重要的是两个基础技术:编码

  • Wi-Fi Direct:该功能由Android中的WifiP2pService来管理和控制。
  • Wi-Fi Multimedia:为了支持MiracastAndroid 4.2MultiMedia系统也进行了修改。

下边咱们对Miracast几个重要知识点进行介绍,首先是拓扑结构和视音频格式方面的内容。加密

Miracast一个重要功能就是支持Wi-Fi Direct。但它也考虑了无线网络环境中存在AP设备的状况下,设备之间的互联问题。读者可参考如图2所示的四种拓扑结构。spa

2  Miracast的四种拓扑结构.net

2所示内容比较简单,此处就再也不详述。另外,在Wi-Fi Display规范中,还存在着SourceVideoAudio内容分别传送给不一样Render Device的状况。感兴趣的读者可参考Wi-Fi Display技术规范。

另外,Miracast对所支持的视音频格式也进行了规定,如表1所示。

1  Miracast 视音频格式支持

分辨率

17 CEA格式,分辨率从640*4801920*1080,帧率从2460

29VESA格式,分辨率从800*6001920*1200,帧率从3060

12种手持设备格式,分辨率从640*360960*540,帧率从3060

视频

H.264高清

音频

必选:LPCM 16bits48kHz采样率,双声道

可选:

LPCM 16bits44.1kHz采样率,双声道

Advanced Audio coding

Dolby Advanced Codec 3

最后,咱们简单介绍一下Miracast的大致工做流程。Miracastsession为单位来管理两个设备之间的交互的工做,主要步骤包括(按顺序):

  • Device Discovery:经过Wi-Fi P2P来查找附近的支持Wi-Fi P2P的设备。
  • Device Selection:当设备A发现设备B后,A设备须要提示用户。用户可根据须要选择是否和设备B配对。
  • Connection SetupSourceDisplay设备之间经过Wi-Fi P2P创建链接。根据Wi-Fi Direct技术规范,这个步骤包括创建一个Group Owner和一个Client。此后,这两个设备将创建一个TCP链接,同时一个用于RTSP协议的端口将被建立用于后续的Session管理和控制工做。
  • Capability Negotiation:在正式传输视音频数据前,SourceDisplay设备须要交换一些Miracast参数信息,例如双方所支持的视音频格式等。两者协商成功后,才能继续后面的流程。
  • Session Establishment and streaming:上一步工做完成后,SourceDisplay设备将创建一个Miracast Session。然后就能够开始传输视音频数据。Source端的视音频数据将经由MPEG2TS编码后经过RTP协议传给Display设备。Display设备将解码收到的数据,并最终显示出来。
  • User Input back channel setup:这是一个可选步骤。主要用于在传输过程当中处理用户发起的一些控制操做。这些控制数据将经过TCPSourceDisplay设备之间传递。
  • Payload Control:传输过程当中,设备可根据无线信号的强弱,甚至设备的电量情况来动态调整传输数据和格式。可调整的内容包括压缩率,视音频格式,分辨率等内容。
  • Session teardown:中止整个Session

经过对上面背景知识的介绍,读者能够发现:

  • Miracast本质就是一个基于Wi-Fi的网络应用。这个应用包括服务端和客户端。
  • 服务端和客户端必须支持RTP/RTSP等网络协议和相应的编解码技术。
相关文章
相关标签/搜索