AVComposition打破了Airplay

mrg*_*ves 5 avfoundation ios avcomposition airplay

我有一个视频合成,我想在Airplay上播放(没有镜像).当使用普通的Airplay镜像时,该应用程序可以正常工作,但我希望通过使用Airplay视频获得速度,可靠性和分辨率.

问题是,当我设置

player.usesAirPlayVideoWhileAirPlayScreenIsActive = YES;
Run Code Online (Sandbox Code Playgroud)

......玩家空白.

笔记:

  • 由于我没有为每个显示器创建单独的窗口,因此他们都试图使用相同的AVPlayer.
  • 我的AVVideoComposition包含不同的文件,并在它们之间添加不透明度斜坡.
  • 这个悬而未决的问题表明问题更可能是因为我正在播放AVComposition而不是使用共享播放器:AVComposition不通过Airplay视频播放

两个问题:

  1. 我是否必须摆脱iPad上的播放器?
  2. 可以通过AirPlay播放AVVideoComposition吗?

小智 0

我无法发表评论,因此我不得不将其作为答案发布,尽管它可能无法完全回答问题。

我遇到了类似的问题,最后我发现AVPlayer播放时AVComposition它根本不会在外部显示器上显示任何内容。这就是为什么我必须自己通过监听UIScreen连接通知来完成此操作。

我不得不说一切都非常完美。我首先检查是否有多个屏幕,如果有,我只需AVPlayer在该屏幕上移动 ,同时在设备屏幕上显示一条简单的消息,说明正在播放内容...加上 AirPlay 设备的名称。这样我就可以在外接显示器上放任何我想要的东西,而且不是很复杂。当我收到时也是如此UIScreenDidConnectNotification。

一切都很好,直到我注意到该作品在外部显示器上播放时非常不稳定。即使它仅由一个视频组成,没有任何复杂的编辑或叠加。如果我将同一视频保存到相机胶卷或使用MPMoviePlayerController.

我尝试过很多方法,比如降低分辨率、降低分辨率renderScale等等,但都没有成功。

更让我困扰的一件事是苹果实际上是如何在 iMovie 中做到这一点的 - 如果您启用了 AirPlay 并且播放了一个项目(请注意,它仍然没有渲染,因此它必须使用合成才能显示它),在点击播放按钮后,它会立即打开一个在外部显示器上真正流畅地播放内容的播放器。但是,如果您从播放器激活 AirPlay,它将关闭并开始渲染项目。之后它会使用 MPMoviePlayerController 来播放它。

我仍在尝试寻找解决方案,如果成功,我会回复。

那么对于两个问题:

  1. 我不明白你为什么要摆脱。
  2. 是的,它可以玩,但需要不同的技术和明显的问题。