安卓在4.2开始,基于wifi p2p基础上新增了投屏的功能,即两个自带wifi p2p功能的设备,通过wifi p2p实现连接。一端实现录屏、编码、传码流为source端,一端实现流的接收、解码、播放为sink端。标准的推屏功能传送的是码流,并非是URL,只实现单向控制,为保证实时性,用UDP进行传输,sink端容易出现花屏、声音卡顿,推屏时source端很耗电,且出现延时时难以定位。唯一的好处是即便没有wifi下,也可以通过直连,进行投屏。如果进行游戏投屏,因为实时性的缘故,很难达到预期效果。
推屏功能涉及了关键点(1)创建wifi p2p连接;(2)音视频编码;(3)rtsp传送数据流;(4)rtsp 接收数据流;(5)进行解码。