基于Android平台的WiFi_displaysink端的设计与实现.docVIP

基于Android平台的WiFi_displaysink端的设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Android平台的WiFi_displaysink端的设计与实现.doc

基于Android平台的WiFi_displaysink端的设计与实现   摘要:基于Android 4.2的WiFidirect功能实现WiFidisplay 的sink端系统,sink端通过与source端进行capatibility negotiation确定两者能共同支持的最高解码音视频格式。基于这套格式,sink端接收source端传递的流媒体数据并进行TS package提取,解复用(demux)和decoding,最终送入player进行实时播放。由于WiFidisplay最核心的要点是实现source端的界面在sink端的实时显示,因此在传输协议上选用实时性较好的RTP协议进行传输。   关键词:安卓;WiFidisplay;RTP实时传输   中图分类号:TP319 文献标识码:A 文章编号2013)009010403   作者简介:陈子安(1987-),男,中国科学技术大学软件学院硕士研究生,研究方向为音视频编解码、嵌入式Android系统。   1WiFidisplay sink端基本架构   1.1WiFidisplay概述   WiFidisplay技术,是基于WiFi direct实现用户设备之间实时共享资源(图片、视频、音乐等)的技术。这种共享无需任何硬件连接(HDMI线),即可通过WiFi实时显示在电视、投影等大屏幕上。   从技术层面来看,WiFidisplay平台的应用主要是通过一个发送端(即Source,可以传送多媒体内容的WiFi终端,例如智能手机或平板电脑)和一个接收端(即Sink,可以接收并显示多媒体内容的WiFi设备,例如平板电视或投影机产品),建立一个点对点的连接,从而将手机拍摄的照片、影片或是网络上的高清视频内容完整地播放在拥有大屏幕的电视上;相反地,用户也可以通过手机或平板,直接观看电视或电脑屏幕上的内容[1] 。   由图1所示,android4.2在framework层通过wifip2p Manager提供了对wifidirect的支持。WFDSink是java层的实现,通过调用WifiP2pManager并在WifiP2pManager中加入detect 具有流媒体传输能力的source的功能,完成source端和sink端wifi连接的建立[2] 。WFDRTSPClient通过实现RTSP协议完成与source端的session建立。Session是一个基于RTP的会话,主要完成source端和sink端的能力交互,检测各自允许支持的最高音频传输格式和视频传输格式,并确认source端和sink端均支持HDCP协议(Highbandwidth Digitalcontent Copy Protection)。   source端通过建立的session将实时流媒体(或抓取的界面)以TS流的方式(transport stream)传送到sink端,sink端的WfdRealtime player 对传送的TS流先进行demux处理(为了提高传输过程的带宽利用率,音视频的传输都会在发送端先进行编码复用,因此接收端需要解复用),然后分别送到AV decoder里面进行解码,最后通过渲染并送入android的HWC Surface Flinger和Audio Flinger里呈现出来。   2WiFidisplay sink 端具体实现   Sink端系统主要分为WFDClient、Wifidirect_service、Wfdsession、WFDAVmanager、wfdrtspclient几个模块。   WFDClient 负责与Service端进行交互,查询WiFi display的状态,发送建立Session,连接Source的指令以及与用户的信息交互。   Wifidirect_service主要用于建立于Source端的wifi_direct连接,实现物理层的通信。Wfdsession将会在WiFidirect建立并完成Capatibility Negotiation之后建立流媒体传输的Session,建立Session的过程需要WFDrtspclient与Source端的rtsp通信。   WFDAVmanager与Android的Surfaceflinger和Audioflinger直接talk,实现WFD udp的数据接收,TS流解析,AV decoder以及AV renderer。   整个sink端的系统流程如图2所示。   2.1RTP/RTSP流传输协议实现   本文选用开源框架live555作为RTP/RTSP协议的实现框架。但由于live555不能观看实时采集的视频,不支持子目录的播放,因此

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档