没有合适的资源?快使用搜索试试~ 我知道了~
Miracast技术原理及实现方案.docx
需积分: 5 1 下载量 182 浏览量
2023-12-24
23:11:16
上传
评论
收藏 2.6MB DOCX 举报
温馨提示
试读
23页
Miracast技术原理及实现方案,详细介绍Wifi Direct在Miracast中的使用,实现镜像投屏文档说明。
资源推荐
资源详情
资源评论
1. WifiDisplay 简介
Wi-Fi Display 经常和 Miracast 联系在一起。实际上,Miracast 是 Wi-Fi 联盟
(Wi-Fi Alliance)对支持 Wi-Fi Display 功能的设备的认证名称。通过 Miracast
认证的设备将在最大程度内保持对 Wi-Fi Display 功能的支持和兼容。
Miracast 的 Android 实现涉及到系统的多个模块,包括:
1. MediaPlayerService 及相关模块
原因很明显,因为 Miracast 本身就牵扯到 RTP/RTSP 及相应的编解码技术。
2. SurfaceFlinger 及相关模块
SurfaceFlinger 的作用是将各层 UI 数据混屏并投递到显示设备中去显示。现在,
SurfaceFlinger 将支持多个显示设备。而支持 Miracast 的远端设备也做为一个独
立的显示设备存在于系统中。
3. WindowManagerService 及相关模块
WindowManagerService 用于管理系统中各个 UI 层的位置和属性。由于并非所
有的 UI 层都会通过 Miracast 投递到远端设备上。例如手机中的视频可投递到远端
设备上去显示,但假如在播放过程中,突然弹出一个密码输入框(可能是某个后台
应用程序发起的),则这个密码输入框就不能投递到远端设备上去显示。所以,
WindowManagerService 也需要修改以适应 Miracast 的需要。
4. DisplayManagerService 及相关模块
DisplayManagerService 服务是 Android 4.2 新增的,用于管理系统中所有的
Display 设备。
5. WifiService 及相关模块
WifiDisplay 协议的实现建立在 WifiP2P 的基础上,其中涉及的 Wifi 技术包括
WiFi-Direct(WiFi P2P)、Wi-Fi Protected Setup(Wifi 网络自动配置及添
加网络)、11n/WMM/WPA2(11n 就是 802.11n 协议,它将 11a 和 11g 提供
的 Wi-Fi 传输速率从 56Mbps 提升到 300 甚至 600Mbps。WMM 是 Wi-Fi
Multimedia 的缩写,是一种针对实时视音频数据的 QoS 服务。而 WPA2 意为
Wi-Fi Protected Acess 第二版,主要用来给传输的数据进行加密保护)。
图 1 给出了 WFD 涉及的技术及协议框图,基于 WifiP2P 网络技术,利用 RTSP 作
为音频及视频流控制协议,涉及了流媒体的传输、控制、加密、解密、编码及解码
等技术流程。
WFD 中涉及的技术层面比较多,相关的协议也比较多,包括了 WIFI P2P 技术、
RTSP 及 RTP 技术、流媒体技术以及音视频编解码相关的技术,如果要对 WFD 有
比较深入的了解,还需要花费较多的时间去研究相关的技术细节。
2867c8ee-8458-11ee-939d-92fbcf53809c.png
图 1 WFD 涉及的技术及协议框图
2. WifiDisplay 协议流程
建立 WifiDisplay 主要步骤如下:
1. WFD Device Discovery(WFD 设备发现)
2. WFD Service Discovery (Optional)(WFD 服务发现(可选))
3. Device Selection(设备选择)
4. WFD Connection Setup(WFD 连接)
5. WFD Capability Negotiation(WFD 能力协商)
6. WFD Session Establishment(WFD 会话建立)
7. User Input Back Channel Setup (Optional)(UIBC 反向控制)
8. Link Content Protection Setup (Optional)(内容保护,即数据加密)
9. Payload Control(负载控制)
10. WFD Source and WFD Sink standby (Optional)
11. WFD Session Teardown(会话终止)
WFD 设备通过 wifiP2P 连接后,Sink 端与 Source 端建立 TCP 连接,Sink 端为
Client 而 Source 端为 Server。默认端口为 7236,执行的协议为 RTSP 协议。建
立连接后进行 RTSP 协商。步骤 6,协商成功后建立会话;步骤 7,UIBC 通道建立,
用于 Sink 端反向控制 Source 端,该步骤为可选实现;步骤 8,对与传输的内容做
加密保护(HDCP),步骤 9,开始音频及视频流的传输与控制,Payload
Control:传输过程中,设备可根据无线信号的强弱,甚至设备的电量状况来动态
调整传输数据和格式。可调整的内容包括压缩率,视音频格式,分辨率等内容。步
骤 11,会话终止。
288366e4-8458-11ee-939d-92fbcf53809c.png
图 2 会话建立及协商过程图
RTSP M1 和 M2 主要协商 Source 和 Sink 都支持的 RTSP methods。
RTSP M3 和 M4 主要协商 Source 和 Sink 在会话中使用的参数。
28aea782-8458-11ee-939d-92fbcf53809c.png
图 3 RTSP 协议控制图
当 RTSP M7 的请求和响应消息成功交换完成,WFD Source 及 WFD Sink 之间就
建立了会话。
RTSP 协议控制中主要有以下几种状态 SETUP、PLAY、PAUSE、TEARDOWN
通过下面命令抓取了 WifiDisplay 相关的协议包,主要是 RTSP 控制流相关的协议
包。
tcpdump -i any -w /savePath
具体的协议包相关的内容如图 4 所示,协议中相关的流程及步骤和图 1、2 中的交
互流程是一致的,具体包括以下几个主要步骤 OPTIONS、GET_PARAMETER、
剩余22页未读,继续阅读
资源评论
躬行之
- 粉丝: 59
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 聊天系统(java+applet).zip
- 毕业设计:基于SSM的mysql-高校学生请假管理系统(源码 + 数据库 + 说明文档)
- 博客系统(struts+hibernate+spring).rar
- c语言学生成绩管理系统源码.zip
- 毕业设计:基于SSM的mysql-网约车用户服务平台(源码 + 数据库 + 说明文档)
- 内容管理系统(hibernate3+struts2+spring2)130224.rar
- 基于Java的班级管理系统课程设计源码
- 内容管理系统(hibernate3+struts2+spring2).rar
- 路由器刷breed Web控制台助手v5.8版本.rar
- Java 在 JEP 12 提供的特性预览
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功