iOS 音视频通话及会议2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 音视频通话及会议2相关的知识,希望对你有一定的参考价值。

参考技术A     webRTC在上一篇,已经给大家对webRTC做了一下简单的介绍,以及简单的使用流程,接下来给大家讲一下我们的音视频会议实现流程。

    只是简单的实现,优化仍需努力,仅供参考。

    以上这几个类,相信大家能看出来,它们的作用分别是什么,LH_CallAudioMannager是管理音频播放的,可以切换音频播放渠道,比如蓝牙,听筒以及扬声器。LH_CallCaptureManager管理视频输入,摄像头切换功能,LH_CallManager核心类,对webRTC进行二次封装使用。LH_CoordinateManager所有类的管理类,所有的动作通过它进行统一处理。LH_VideoChatSocketNetWork与服务器的通信。

      webRTC的主要实现对象是RTCPeerConnection,不管是设置流还是添加候选者,都是调用peerConnection的方法进行设置。在会议室内每增加一个人,就要新创建一个peerConnection对象,每个对象代表一个人,当然我们自己也是一个peerConnectiong。

    RTCPeerConnectiong有两个设置流的方法分别是setLocalDescription、setRemoteDescription,setLocal方法是当我们拿到自己的offer SDP时需要调用的,此方法可让我们在本地看到自己的视频流。setRemote方法是将我们自己的answer SDP添加给peerConnectiong,这样对方就可以接收到我们的音视频流。注意:仅对属于本客户端的peerConnectiong这样设置。

    我们的会议室内增加一个人,我们就要新建一个peerConnection,当此人开始推流时,服务端会通过webSocket将对方的answer SDP发送过了,这是我们就需要将接收到的answer SDP通过setRemote方法添加给此人相对应的peerConnection,还有ICE候选者,SDP,peerConnection,ICE候选者,这三个一定要对应上,才可以成功。

    当我们本机peerConnection开始接收远端流时会通过didStartReceivingOnTransceiver方法,我们需要在此方法内做接收并展示

    有展示就得有移除didChangeIceConnectionState这个代理方法会通知此时peerConnectio的连接状态,当连接关闭时我们就需要对peerConnectiong进行处理,和移除接收此peerConnection视频流的视图。

    本地视频展示需要用到RTCCameraPreviewView来接收摄像头收集到的流,远端视频流展示需要用到RTCVideoRenderer。

    接下来是切换音频输出,音频管理类需要用到两个框架<AudioToolbox/AudioToolbox.h>和<AVFoundation/AVFoundation.h>

       摄像头切换

以上是webRTC➕webSocket音视频会议的简单实现,仅适用于初入音视频小白。

如有任何疑问欢迎私信,正在努力码Demo,稍后奉上。

新版EasyRTC音视频通话平台添加会议接口功能的实现

EasyRTC平台是基于开源框架WebRTC的一项互联网音视频会议服务平台,可应用于各种现场会议中,实现多个会议现场之间的视频多画面轮换,支持即时会议、例会、多组会议等会议形式,并可将视频会议以图文+视频+现场声音实时直播的形式,通过互联网对外直播,实现全终端覆盖。

最近我们一直在对EasyRTC平台进行升级,我们也将不定期为大家分享最新进展,欢迎关注我们的更新。今天来和大家介绍下EasyRTC的会议模块,如何添加会议接口。

在EasyRTC中创建会议室,用户可进入会议室进行音视频通信。因此新建会议室后,后端会返回一个该会议室的RTMP推流地址,在RTC通信时将视频信息推到此地址,实现视频会议的分发、保存录像等各种功能。

新建会议室接口参数,如下图:

新建成功,返回完整的会议数据:

后端实现:

EasyRTC除了视频会议场景的应用,还能用于企业远程培训、在线教育、远程医疗、社交娱乐、视频客服等场景中。除此之外,我们还能提供完善的第三方接口,便于用户根据自己的需求进行集成或二次开发。

以上是关于iOS 音视频通话及会议2的主要内容,如果未能解决你的问题,请参考以下文章

需要在 Android 和 iOS 中集成应用内购买以与患者进行视频通话?

新版EasyRTC音视频通话平台添加会议接口功能的实现

如何实现 iOS开发webrtc 视频通话时录像,截屏。

是否可以通过 WebRTC 或 Web 套接字保存视频通话

使用 webrtc 的客户服务视频通话服务

在FreeSWITCH中设置视频通话