IOS远程控制技术当中,最重要的环节是视频的输出,本文就目前出现的几种IOS视频流技术做一个实践和对比,重点会放在比较这几个方案在性能上的优缺点。
方案分析
IOS视频流方案,目前可以想到的有以下三种:
-
通过截屏获取图片,转换成视频流的形式,这种方法可见于facebook研发的WebDriverAgent(WDA)[1]技术,后由Appium进行维护,通过WDA的MJPEG服务接口获取屏幕截图,再用web-socket发送到浏览器端,就可以视觉上形成视频的效果。
-
Apple自带的开发组件,获取视频流,比如屏幕音视频录制可以使用Apple开发组件:AirPlay、ReplayKit框架等。
-
使用MAC本身的QUICKTIME对IOS设备进行录制,这种方式需要通过程序来启用QUICKTIME。
实践和对比
这里根据几个开源项目,做一个不同技术方案的视频流效果对比。
为方便比较,展示视频流的应用架构基本一致,不同之处在于使用哪种方式去获取视频流,程序架构图如下:
