屏幕共享源码的相关介绍
功能介绍
通过 NERoom SDK 可以在视频通话中实现屏幕共享,主播或连麦者可以将自己的屏幕内容,以视频的方式分享给远端参会者或在线观众观看,从而提升沟通效率,一般适用于多人视频聊天、在线会议以及在线教育场景。
视频会议场景中,参会者可以在会议中将本地的文件、数据、网页、PPT 等画面分享给其他与会者,让其他与会者更加直观的了解讨论的内容和主题。
在线课堂场景中,老师可以通过屏幕共享将课件、笔记、教学内容等画面展示给远端的其他学生观看,降低传统教学模式下的沟通成本,提升教育场景的用户体验。
NERoom SDK 以辅流的形式实现屏幕共享,即单独为屏幕共享开启一路上行的视频流,摄像头的视频流作为主流,屏幕共享的视频流作为辅流,两路视频流并行,主播同时上行摄像头画面和屏幕画面两路画面。
实现流程
基于 iOS 系统的屏幕共享功能,您需要在 App Extension 中通过 iOS 原生的 ReplayKit 特性实现录屏进程,并配合主 App 进程进行推流。因此您在需要进行屏幕共享的时候,使用 Apple ReplayKit 框架进行屏幕录制,接收系统采集的屏幕图像,并将其发送给 SDK 以传输视频流数据。
屏幕共享的主要流程包括:
1.创建 App Group。 App Group 用于在主 App 进程和扩展程序之间进行视频数据和控制指令的传输。
2.通过 Xcode 在工程中创建一个 Target,类型为 Broadcast Upload Extension, 用于开启屏幕共享的进程。
3.添加 ReplayKit 扩展,并使用 Apple ReplayKit 框架进行屏幕录制。
4.将录屏数据作为自定义视频源发送给 SDK,并使用 SDK 进行视频流的传输。
注意事项
∙您需要先调用 joinRoom 进入房间,再通过 joinRtcChannel 加入音视频房间,才能使用屏幕共享功能。
∙屏幕共享功能目前仅适用于 iOS 12.0 及以上版本的系统。
∙主 App 进程的屏幕共享任务和系统录屏需使用相同的 App Group 名称。
添加 ReplayKit
步骤一 创建 App Group
在 Certificates, Identifiers & Profiles 页面注册 App Group。
操作步骤请参考 注册 App Group
为您的 App ID 启用 App Group 功能。 操作步骤请参考启用 App Group。
重新下载 Provisioning Profile 并配置到 XCode 中。
步骤二 创建 Extension 录屏进程
创建一个类型为 Broadcast Upload Extension 的 Target,用于存放屏幕共享功能的实现代码。
1.在 Xcode 中打开项目的工程文件。
2.在菜单中选择 Editor > Add Target。
3.在 公司介绍源码iOS 页签中 选择 Broadcast Upload Extension,并单击 Next。
4.在 Product Name 中为 Extension 命名,然后单击 Finish。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论