【Miracast 协议详解】

Miracast 协议详解

一、Miracast 概述

Miracast 基于 Wi‑Fi Display (WFD) 标准,用于将移动设备屏幕无线投射到显示设备。主要组件:

  1. Wi‑Fi Direct (P2P):建立直连
  2. RTSP:会话控制
  3. RTP/RTCP:音视频传输
  4. UIBC:用户输入回传

二、Miracast 交互流程

阶段1:设备发现与 P2P 连接
Source (手机) Sink (接收端) | | |--- Probe Request (WFD IE) ---->| |<-- Probe Response (WFD IE) ----| | | |--- P2P Device Discovery ------>| |<-- P2P Device Discovery ------| | | |--- P2P GO Negotiation -------->| |<-- P2P GO Negotiation ---------| | | |--- P2P Provisioning ---------->| |<-- P2P Provisioning -----------| | | |--- DHCP (获取IP) ------------->| |<-- DHCP (分配IP) --------------|
阶段2:RTSP 会话建立

RTSP 用于能力协商和会话控制。

2.1 M1 - RTSP Options
Source -> Sink: OPTIONS * RTSP/1.0 CSeq: 1 Require: org.wfa.wfd1.0 User-Agent: WFD/1.0 Sink -> Source: RTSP/1.0 200 OK CSeq: 1 Public: org.wfa.wfd1.0, GET_PARAMETER, SET_PARAMETER
2.2 M2 - Get Parameter (能力查询)
Source -> Sink: GET_PARAMETER rtsp://192.168.49.1/wfd1.0 RTSP/1.0 CSeq: 2 Content-Type: text/parameters Content-Length: <length> wfd_video_formats wfd_audio_codecs wfd_client_rtp_ports wfd_uibc_capability wfd_standby_resume_capability

Sink 响应包含支持的能力:

Sink -> Source: RTSP/1.0 200 OK CSeq: 2 Content-Type: text/parameters Content-Length: <length> wfd_video_formats: 00 00 01 01 00000001 00 00000000 00000000 00 0000 0000 00 none none wfd_audio_codecs: AAC 00000001 00 wfd_client_rtp_ports: RTP/AVP/UDP;unicast 19000 0 mode=play wfd_uibc_capability: input_category_list=HIDC;hidc_cap_list=none
2.3 M3 - Set Parameter (能力协商)

Source 选择参数并发送:

Source -> Sink: SET_PARAMETER rtsp://192.168.49.1/wfd1.0 RTSP/1.0 CSeq: 3 Content-Type: text/parameters Content-Length: <length> wfd_video_formats: 00 00 01 01 00000001 00 00000000 00000000 00 0000 0000 00 none none wfd_audio_codecs: AAC 00000001 00 wfd_client_rtp_ports: RTP/AVP/UDP;unicast 19000 0 mode=play wfd_uibc_setting: enable
2.4 M4 - Setup (建立传输通道)
Source -> Sink: SETUP rtsp://192.168.49.1/wfd1.0 RTSP/1.0 CSeq: 4 Transport: RTP/AVP/UDP;unicast;client_port=19000-19001 Require: org.wfa.wfd1.0 Sink -> Source: RTSP/1.0 200 OK CSeq: 4 Transport: RTP/AVP/UDP;unicast;client_port=19000-19001;server_port=19002-19003 Session: 12345678;timeout=60
2.5 M5 - Play (开始播放)
Source -> Sink: PLAY rtsp://192.168.49.1/wfd1.0 RTSP/1.0 CSeq: 5 Session: 12345678 Sink -> Source: RTSP/1.0 200 OK CSeq: 5 Session: 12345678
阶段3:RTP/RTCP 音视频传输
RTP 包结构
RTP Header (12 bytes): 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|X| CC |M| PT | sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | synchronization source (SSRC) identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ RTP Payload: - Video: H.264 NAL units - Audio: AAC frames
RTCP 包结构
RTCP SR (Sender Report): 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P| RC | PT=SR=200 | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of sender | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NTP timestamp, most significant word | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NTP timestamp, least significant word | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RTP timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | sender's packet count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | sender's octet count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
阶段4:UIBC (用户输入回传)

UIBC 允许 Sink 将触摸、键盘等输入回传给 Source。

Source -> Sink (M16): SET_PARAMETER rtsp://192.168.49.1/wfd1.0 RTSP/1.0 CSeq: 16 Content-Type: text/parameters Content-Length: <length> wfd_uibc_setting: enable wfd_uibc_capability: input_category_list=HIDC;hidc_cap_list=mouse keyboard

三、WiFi 数据包解析

1. Probe Request/Response (WFD IE)
Probe Request Frame: [802.11 Header] [SSID: "DIRECT-xx"] [Supported Rates] [WFD IE] ← Miracast关键信息 - Device Type (Source/Sink) - Session Management Control Port (7236) - Maximum Throughput - WFD Information Elements

WFD IE 结构:

WFD IE (Information Element): Element ID: 221 (Vendor Specific) Length: Variable OUI: 50-6F-9A (Wi-Fi Alliance) OUI Type: 0x0A (WFD) Sub-elements: - Device Type (0x00) - Session Management Control Port (0x01) - Maximum Throughput (0x02) - WFD Extended Capability (0x03) - Local IP Address (0x04) - Associated BSSID (0x05) - WFD Session Information (0x06) - WFD Alternative MAC Address (0x07)
2. P2P Action Frame
P2P Action Frame: [802.11 Header] [Category: Public Action (0x04)] [Action: P2P (0x7F)] [P2P Attributes] - P2P Capability - P2P Device Info - P2P Group Owner Intent - P2P Configuration Timeout - P2P Listen Channel - P2P Operating Channel
3. RTSP 数据包(TCP)
Ethernet Header (14 bytes) IP Header (20 bytes) TCP Header (20 bytes) RTSP Message: OPTIONS * RTSP/1.0\r\n CSeq: 1\r\n Require: org.wfa.wfd1.0\r\n User-Agent: WFD/1.0\r\n \r\n
4. RTP 数据包(UDP)
Ethernet Header (14 bytes) IP Header (20 bytes) UDP Header (8 bytes) RTP Header (12 bytes) RTP Payload (H.264 NAL or AAC)

四、关键参数说明

视频格式参数 (wfd_video_formats)
格式: 00 00 01 01 00000001 00 00000000 00000000 00 0000 0000 00 none none 解析: - 00 00: Native (1920x1080p60) - 01: Preferred Display Mode - 01: H264 Profile (High) - 00000001: H264 Level (4.0) - 00: CEA Mask (支持的分辨率位图) - 00000000: VESA Mask - 00000000: HH Mask - 00: Latency - 0000: Minimum Slice Size - 0000: Slice Encapsulation - 00: Frame Rate Control - none: 3D Video Formats - none: 3D Video Formats
音频编解码参数 (wfd_audio_codecs)
格式: AAC 00000001 00 解析: - AAC: 音频编解码器 - 00000001: 支持的AAC模式位图 - 00: LPCM模式(不支持)

五、完整交互时序图

Source Sink | | |-- Wi-Fi Probe (WFD IE) ------>| |<-- Wi-Fi Probe Response ------| | | |-- P2P Device Discovery ------->| |<-- P2P Device Discovery ------| | | |-- P2P GO Negotiation -------->| |<-- P2P GO Negotiation --------| | | |-- P2P Provisioning ----------->| |<-- P2P Provisioning ----------| | | |-- DHCP Request --------------->| |<-- DHCP Response (IP分配) -----| | | |-- RTSP OPTIONS -------------->| |<-- RTSP 200 OK --------------| | | |-- RTSP GET_PARAMETER -------->| |<-- RTSP 200 OK (能力列表) -----| | | |-- RTSP SET_PARAMETER -------->| |<-- RTSP 200 OK --------------| | | |-- RTSP SETUP ---------------->| |<-- RTSP 200 OK (端口信息) -----| | | |-- RTSP PLAY ----------------->| |<-- RTSP 200 OK --------------| | | |-- RTP Video Stream ---------->| |-- RTP Audio Stream ---------->| |<-- RTCP SR/RR ----------------| | | |-- RTSP TEARDOWN ------------->| |<-- RTSP 200 OK --------------|

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1003783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

事件问答的语料库级评估与印度警察事件数据集解析

本文介绍了一个用于事件问答(Event QA)语料库级评估的新数据集——IndiaPoliceEvents,涵盖2002年古吉拉特邦暴力事件的新闻报道。研究探讨了自动化事件抽取在社会科学应用中的挑战,并提供了基于BERT的零样本模型在…

JAVA家政系统:开启同城上门服务新体验

JAVA家政系统通过微服务架构、智能派单引擎与全流程数字化管理&#xff0c;重构同城上门服务模式&#xff0c;为用户提供高效、透明、个性化的家政体验&#xff0c;成为现代生活服务领域的核心解决方案。以下从技术架构、服务模式、安全保障、生态价值四个维度展开分析&#xf…

用户搜“产品名+Reviews”|但我的评测页排名总比不过亚马逊,怎么抢流量?

你的页面明明内容扎实&#xff0c;却总排不过亚马逊——问题可能出在“信任感”和“细节差半拍”上。亚马逊页面虽然权威&#xff0c;但充斥着官方话术和广告&#xff0c;用户看完往往更焦虑&#xff1a;“参数齐全&#xff0c;但实际用起来到底怎么样&#xff1f;”这时候&…

散修带你入门鸿蒙应用开发基础第十节:接口的核心约束与契约设计 - 鸿蒙

ArkTS基础第十节:接口的核心约束与契约设计 炼气十重天 【学习目标】理解接口的核心定义,明确接口作为类型契约对高阶函数的约束价值。 掌握ArkTS中接口的核心语法(属性约束、方法约束),规避ArkTS特有的语法限制。…

致臻制造,温柔以待:2025年优质柔性“手指夹爪”供应商深度解析 - 品牌2025

在工业自动化浪潮席卷全球制造业的今天,如何实现精准、无损、高效的抓取,是各行各业迈向智能化升级时必须攻克的核心难题。尤其在面对易碎、异形、高价值或表面要求苛刻的工件时,传统刚性夹爪往往力不从心。此时,一…

2025年度口碑火锅品牌盘点,本地人都在吃,川渝火锅/特色美食/重庆火锅/美食/老火锅/火锅店/火锅火锅品牌有哪些 - 品牌推荐师

在餐饮消费日益理性与追求本真的当下,火锅作为国民餐饮的“顶流”,其竞争早已超越了单纯的口味比拼,进入了品牌文化、消费体验与价值认同的综合赛道。对于食客,尤其是深谙美食之道的本地人而言,一家值得反复光顾的…

突破性能瓶颈:Tauri中WebAssembly的实战优化指南

突破性能瓶颈&#xff1a;Tauri中WebAssembly的实战优化指南 【免费下载链接】tauri Build smaller, faster, and more secure desktop applications with a web frontend. 项目地址: https://gitcode.com/GitHub_Trending/ta/tauri 在当今桌面应用开发领域&#xff0c;…

地理坐标计算神器:Geodesy库的完整使用指南

地理坐标计算神器&#xff1a;Geodesy库的完整使用指南 【免费下载链接】geodesy Libraries of geodesy functions implemented in JavaScript 项目地址: https://gitcode.com/gh_mirrors/ge/geodesy 想要快速实现精准的地理位置计算&#xff1f;Geodesy库为你提供了完整…

2025年丰收膜供货商权威推荐榜单:增产膜/西瓜增产农膜/防尘农膜实力供货商精选 - 品牌推荐官

在全球粮食安全与农业可持续发展的宏观背景下,功能性农膜作为保障农作物产量与品质的关键农业生产资料,其市场需求正日益精细化和多元化。尤其是以“丰收膜”为代表,集成了增温、消雾、流滴、调光、防病害等多种功能…

推荐几家海外社媒运营推广公司,B2B海外社媒营销公司怎么选 - 品牌2025

一、B2B 海外社媒营销:全球化时代的必选项​在全球化浪潮下,海外社媒已从单纯的传播渠道升级为 B2B 企业拓展全球市场的核心引擎。据统计,全球线上社媒平台日活用户已超 40 亿,LinkedIn 数据显示其 80% 的用户参与…

【MWORKS使用技巧71】使用Julia Function时,调用Syslab内置的函数运行报错如何处理?

双向集成不会预加载依赖函数库&#xff0c;如果调用了其他库的函数需要使用using加载。

炉石传说智能脚本实战攻略:从零开始掌握自动化卡牌对战

炉石传说智能脚本实战攻略&#xff1a;从零开始掌握自动化卡牌对战 【免费下载链接】Hearthstone-Script Hearthstone script&#xff08;炉石传说脚本&#xff09;&#xff08;2024.01.25停更至国服回归&#xff09; 项目地址: https://gitcode.com/gh_mirrors/he/Hearthsto…

24、恶意软件样本分析全流程指南

恶意软件样本分析全流程指南 在当今数字化时代,恶意软件的威胁日益严峻,对其进行有效的分析至关重要。本文将详细介绍对恶意软件样本进行分析的全流程,包括分析目标、环境搭建、监控准备、证据收集等多个关键环节。 1. 分析目标 在对可疑程序进行分析时,需要考虑以下几个…

【MWORKS使用技巧72】1分钟带你了解在Sysblock中如何定义函数及算法

Sysblock支持两种便捷方式编写算法&#xff1a;Fcn组件直接建模&#xff0c;或集成Julia脚本灵活调用&#xff0c;还可扩展C语言集成。

2025年汽车海外营销推广服务商推荐,助力外贸企业通过 Facebook、LinkedIn、TikTok 、INS、Google低成本营销推广高效获客 - 品牌2025

一、汽车出海营销热潮下的服务商价值凸显​ ​ 近年来,中国汽车出口市场持续增长,2024 年专用汽车出口量同比增幅达 44.60%,出口额突破 38.61 亿美元。但在全球化竞争中,汽车外贸企业普遍面临获客成本高、多平台运…

3步解锁RPG Maker加密资源:解密工具完全使用指南

你是否遇到过RPG Maker游戏中的精美素材被加密锁定&#xff0c;无法提取使用的困境&#xff1f;RPG Maker Decrypter正是解决这一难题的完美工具&#xff0c;专为解密RPG Maker XP、VX和VX Ace的加密档案而设计&#xff0c;让资源提取变得轻松简单。 【免费下载链接】RPGMakerD…

25、恶意软件样本分析指南

恶意软件样本分析指南 在当今数字化的时代,恶意软件的威胁无处不在。对恶意软件样本进行深入分析,有助于我们了解其行为和目的,从而采取有效的防范措施。本文将围绕恶意软件样本分析的多个方面展开,包括样本执行、执行轨迹分析以及相关工具的使用等内容。 1. 准备工作与样…

计数题刷题单

题单:简单计数题 P6146 [USACO20FEB] Help Yourself G 分析 考虑如果我选择一条线段把它插入一个集合:我和某一条线段相交,复杂度不变 不和某一条线段相交,则复杂度加一所以考虑到是否相交和这条线段的左端点和集合…

中国科学技术大学演示模板完全使用指南

中国科学技术大学演示模板完全使用指南 【免费下载链接】ustcbeamer USTC Beamer 模板&#xff08;基于学校公用 PPT 模板&#xff09; 项目地址: https://gitcode.com/gh_mirrors/us/ustcbeamer 在学术展示和专业汇报中&#xff0c;一份精美的演示文稿往往能起到事半功…

好写作AI “魔鬼评审”模拟器:投稿前,让AI先给你来场“灵魂拷问”

深夜&#xff0c;你终于点击了论文投稿系统的提交按钮&#xff0c;长舒一口气。然而&#xff0c;一个月后收到的不是录用通知&#xff0c;而是长达三页、字字见血的审稿意见。那一刻的感觉&#xff0c;就像精心准备的铠甲在真正的战场上被瞬间击穿。 每一位有过投稿经历的研究者…