美文网首页
iOS 音视频通话及会议2

iOS 音视频通话及会议2

作者: 属于我的 | 来源:发表于2021-08-13 15:08 被阅读0次

iOS webRTC + webSocket 实现音视频会议

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

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

1

    以上这几个类,相信大家能看出来,它们的作用分别是什么,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这样设置。

1 2 3

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

4

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

5

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

6

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

7

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

8

       摄像头切换

9 10 11

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

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

相关文章

  • iOS 音视频通话及会议2

    iOS webRTC + webSocket 实现音视频会议 webRTC在上一篇,已经给大家对webRTC做...

  • iOS 音视频通话及会议1

    iOS webRTC + SIP 协议实现点对点音视频通话。 1、配置,大家需要下载webRTC以及SIP的f...

  • WebRTC-ios 跨平台音视频通话

    WebRTC-ios 跨平台音视频通话 https://www.jianshu.com/p/d5489a8fe2a9

  • 国内音视频功能调研

    前言 公司准备开发一个音视频功能的产品,需要实现“1对1音频通话”、“邀请多人进行群会议通话”、用到了IM和音视频...

  • 由WebRTC谈起

    本篇主要介绍笔者在iOS开发中使用WebRTC实现音视频通话功能涉及的相关技术,主要包括:1)Socket2)...

  • iOS下WebRTC音视频通话(二)-局域网内音视频通话

    这里是iOS 下WebRTC音视频通话开发的第二篇,在这一篇会利用一个局域网内音视频通话的例子介绍WebRTC中常...

  • 音视频内容

    音视频 目的 数据来源及去向 具体执行过程 参考其他简书内容 iOS音视频开发闲谈(理论步骤)iOS音频播放(一)...

  • 音视频主流SDK

    音视频SDK包括很多内容,包括直播、点播、视频会议、多人视频、IM通话等功能,下面分析下主流音视频SDK在直播模块...

  • anyRTC - 模仿微信音视频通话功能

    市面上运用呼叫邀请音视频通话的场景很多,下面简单介绍一下: 1、陌生人交友,需要呼叫邀请通话,进行音视频通信。 2...

  • 我走丢了

    昨天想在微读书群中开个会,点开语音通话栏,底部出现一行提示:“使用企业微信发起通话,支持300人音视频会议,可共享...

网友评论

      本文标题:iOS 音视频通话及会议2

      本文链接:https://www.haomeiwen.com/subject/vdmdbltx.html