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