设备之间的互联,已经发展了很长时间。安卓设备投屏(miracast/wifidisplay),苹果设备投屏(airplay),DLNA(局域网内资源文件共享),samba(局域网内资源文件共享)这是最为常见的设备之间设备之间的互联。国内华为设备的互联、小米的应用投屏、vivo的投屏、oppo的投屏开可以理解位升级定制版。
为什么越来越多的产品都在做互联?增加生态内设备的用户粘性。当前市场iot设备多,品牌种类多,总得为客户在相近配置、相同产品选择时提供的更多的选择理由,改变一点点生活,改变一点点工作。
安卓投屏的起点是Wifidisplay,所以这里先了解下wifidisplay的实现,再说起其存在的问题,整体wifidispaly流程主要如下:
(1)两个设备wifi p2p 协商创建局域网;
(2)能力协商;
(3)音视频数据采集、编码、打包、加密、封装、发送
(4)数据接受、解封装、解密、解封装、解码、音视频渲染。
这个流程很简单,所以写个简单的demo不难,但是能有一个较好的体验还是需要花费很长时间的。wifidisplay 协议本来出发点是让安卓设备可以互相投屏,但是因为硬件差异(WiFi模组性能、芯片编解码能力)软件种策略差异,跨品牌设备的互联体验效果并不是很好。但是随着iot 设备的增加,各品牌产品也更加关注生态内产品的互联,所以就有了各品牌的私有的互联协议,给用户提供更好的用户体验,低延时,便捷操作生态内设备。接下里会根据如上几个部分结合代码实现进行介绍。