AirPlay使用调研

参考:https://www.jianshu.com/p/f8d4c6e4ce6d

参考:https://nto.github.io/AirPlay.html

为了方便测试,可以在自己电脑上安装一个AirServer,这样电脑就可以作为AirPlay的接收端了。

一. 现有iOS投屏方案分析

1.Airplay 隔空播放  iOS9之前MPVolumeView,iOS11之后AVRoutePickerView可以实现基于AVPlayer播放器的隔空播放。自定义的视频播放器不能隔空播放。

        隔空播放可以在手机锁屏之后继续播放视频。所以用户使用了隔空播放投屏的话,用户可以直接锁屏手机,只是在电视端观看视频。

2.Airplay Screen Mirroring 

AirPlay是Apple的私有协议族, 没有公开的官方文档作为参考. 目前能够参考的是github上nto大神整理的一份非官方的协议spec文档, 但是完全照着文档的描述是无法兼容新的iOS系统(iOS9/10)的, 新系统对协议有改变,而这份文档的最后更新日期是2012年, 这些变更内容都没有包含。https://nto.github.io/AirPlay.html

镜像投屏的话用户在锁屏之后,电视端也会锁屏,所以用户必须要在电视端和手机端同时播放视频。如果不支持隔空播放的视频如果需要在电视端观看的话,除了镜像投屏之外,可以开发电视端软件。

注意:根据Apple的政策, 含有Airplay功能的APP无法通过App Store审查

二. KSYAirStreamer SDK

KSYAirStreamer SDK基于Airplay Screen Mirroring的录屏SDK,使用Airplay方案录屏, 其实就要求直播APP将自己伪装成一个Airplay的接收设备, 实现Airplay的协议,解密出Fairplay加密的数据, 再将数据转发出去。

KSYAirStreamer_iOS就提供了这样一个模拟接收设备的SDK, 开始录屏时iOS系统与SDK建立连接, SDK收到画面后, 编码发送到直播服务器. 其中编码和推流功能使用金山云直播SDK实现。

注意:根据Apple的政策, 含有Airplay功能的APP无法通过App Store审查

三.使用乐播云

用户需要在电视端安装乐播投屏。下载demo和sdk需要资质审核,看开发文档来说也是只是支持了隔空播放和弹幕的投屏,具体的还未调查,需要下载sdk

调查优酷的投屏:

有两个问题

1.投屏使用的是隔空播放,投屏之后广告消失,广告不能被投屏,再投瓶中可以屏蔽广告(以后不需要买vip去除广告了)

2.优酷vip试看6分钟的投屏只是投屏了一个6分钟的视频到接受端。

3.优酷的直播投屏使用的也是airplay,不过用该是使用的应该也是avplayer。有的直播,没有投屏选项

4.樊登读书投屏使用的是乐播投屏

总结:如果电视端支持airplay协议的话,苹果可以使用镜像功能进行镜像投屏,如果电视不支持airplay协议可以在电视端下载乐播软件,其实乐播投屏的也是实现了苹果的airplay协议,电视端安装了乐播投屏,手机端就可以直接使用苹果系统的镜像功能进行镜像投屏。安卓的必须在手机端电视端同时安装乐播软件,才可以镜像投屏。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。