输出UIView作为视频流

时间:2017-10-26 12:06:21

标签: ios swift opengl-es

是否可以将UIView的内容/上下文作为直接视频流流式传输?我不是真的在寻找“视图截图”功能,而不是组装视频,这种解决方案是可行的,但帧速率远非理想。 更新:可能使用OpenGL视图?

1 个答案:

答案 0 :(得分:2)

<强> 1。查看屏幕截图:您当前的计时功能解决方案是什么?

我相信如果您使用CADisplayLink,您可以获得更好的帧速率。就像在我的项目中一样,我可以在iPhone 7Plus的全屏视频视图中获得~15-20fps的实时流媒体。

<强> 2。使用ReplayKit:我认为我不需要以另一种方式重写介绍,因为Apple的文档非常清晰。

  

从屏幕录制或流式传输视频,并从应用中录制音频   麦克风。

     

使用ReplayKit框架,用户可以从屏幕录制视频,   和应用程序和麦克风的音频。然后他们可以分享他们的   通过电子邮件,消息和社交媒体与其他用户录制。   您可以构建应用扩展程序,以便直播您的内容   共享服务。 ReplayKit与AVPlayer内容不兼容。

帧速率远高于绘制视图的截图,但目前它仅支持捕获整个屏幕。

因此,如果您想实现捕获视图,可以考虑这种方式:裁剪输出CMSampleBufferRef帧的缓冲区数组。

编辑:如果它将视图镜像到外部屏幕,那么我们可以使用除ReplayKit之外的其他解决方案或查看屏幕截图。