【问题标题】:AirPlay iOS Receiver / RecorderAirPlay iOS 接收器/记录器
【发布时间】:2016-06-11 18:54:25
【问题描述】:
如何为 iOS 设置 AirPlay 视频和音频接收器(然后将流保存为视频文件)?
我知道这违反了 Apple 的指导方针,这不适用于 AppStore 分发。我可以使用私有 API。
注意:我使用的是 Pythonista(带有 objc_util),因此,如果可能的话,用 Python 编写的答案将非常有帮助,尽管仍然非常感谢 Swift/Objective-C。
【问题讨论】:
标签:
ios
iphone-privateapi
airplay
screen-recording
pythonista
【解决方案1】:
我假设您是在最近令人难以置信(但寿命短暂)的 Vidyo 应用在 App Store 上架后产生了这个想法。我设法在它被删除之前抓住了一个副本,但是在 Pythonista 中重新创建这种效果当然是可取的。
您可以从 unofficial AirPlay specification 开始,它描述了 AirPlay 协议的工作原理。具体来说,您需要the section on Screen Mirroring。由此,您或许可以组装一个 AirPlay 界面。
我认为objc_util 对此没有必要,Python 提供了一些相当低级的网络模块。
通过阅读规范,您需要设置服务器。 Flask 可能处理不了,Flask 可能太高级了。看起来 AirPlay 流媒体内容甚至不在有效的 HTTP 请求范围内。
我怀疑你会遇到很多麻烦。 AirPlay 规范(尤其是屏幕镜像)相当复杂。您需要让您的服务器接收H.264 编码的视频直播(这与 Apple 用于直播其事件的格式相同),您还需要设置一个系统来根据发送的数据同步您的视频通过单独的流。除此之外,您还需要提供一些端点来返回有关您的服务器的数据。
我认为 Vidyo 完全有可能找到一些私有 API 来简化此操作。我看不出 iOS 会在某处实现 AirPlay 服务器的任何明确原因,但这并非不可能。如果这存在,我不知道。你必须做更多的研究。
祝你好运;)