USB连接iPhone屏幕镜像

时间:2014-07-23 08:11:14

标签: ios objective-c airplay

Apples AirPlay协议支持通过WiFi将设备屏幕/音频镜像到远程设备(例如台式计算机)。

鉴于iOS设备USB连接到台式计算机,是否可以通过USB连接而不是使用WiFi(例如使用usbmuxd)来路由AirPlay有效负载?

2 个答案:

答案 0 :(得分:1)

较新的iOS设备允许您通过USB启用镜像设备屏幕/音频。我相信这个功能是在iOS 8中引入的。

您可以使用QuickTime在macOS上使用它,如下所示:

  1. 打开QuickTime
  2. 点击文件>新电影录制
  3. 在记录按钮旁边的下拉菜单中,选择您的iPhone作为相机
  4. QuickTime现在将显示iOS设备的屏幕。

    您可以使用QuickTime API访问它;有关访问iOS屏幕并在网络外共享项目的示例,请参阅https://github.com/openstf/ios-minicap

答案 1 :(得分:0)

有多种方法可以通过编程方式从iOS设备获取视频。

第一个,由提到的ios-minicap使用,是使用Apple AVFoundation库来获取视频内容。此方法有效,但启动方式比较不稳定。我发现,每次您运行代码来使用它时,它都不会开始一致地工作。

使用AVFoundation提取视频的另一个代码示例如下:https://github.com/nanoscopic/ios_video_pull

提取视频的第二种方法是利用AVFoundation本身使用的底层usbmuxd通信。这是由丹尼尔·保卢斯(Daniel Paulus)反向工程的,并在此处发布为开源代码:https://github.com/danielpaulus/quicktime_video_hack/

提取视频的第三种方法是使用iOS设备的“上传广播扩展”功能,特别是使用ReplayKit或ReplayKit2。我目前正在开发iOS应用,该应用将在应用商店中发布以实现此目的。通过ReplayKit2。在Github上有很多这样的示例,但是效果很好。

提取视频的第四种方法是在iOS设备上使用HDMI加密狗,然后使用某些硬件设备捕获/流式传输HDMI输入。

提取视频的第五种方法是使用AirPlay协议的各种变体之一。 Github上有一些开源项目能够处理该协议的加密和混淆,但是它很混乱,几乎无法保证这些项目在不久的将来会继续工作。我建议他们反对。