本人第一次做直播,当进入阿里云的时候发现直播模块已经跳到七牛了。但是阿里云有音视频通信模块,也可以实现直播功能,具体流程自己记录一下。
音视频通信官方文档 https://help.aliyun.com/document_detail/109088.html?spm=a2c4g.11186623.4.5.c17c717ccUoIDw
前期准备工作
// 创建SDK实例,注册delegate,extras可以为
/**
@brief SDK实例
*/
@property (nonatomic, strong) AliRtcEngine *engine;
1。 //初始化SDK内容
_engine = [AliRtcEngine sharedInstance:self extras:@""];
2。 // 设置本地预览视频
AliVideoCanvas*canvas = [[AliVideoCanvas alloc] init];
AliRenderView*viewLocal = [[AliRenderViewalloc]initWithFrame:self.view.bounds];
canvas.view= viewLocal;
canvas.renderMode = AliRtcRenderModeAuto;
[self.viewaddSubview:viewLocal];
[self.engine setLocalViewConfig:canvas forTrack:AliRtcVideoTrackCamera];
// 开启本地预览
[self.engine startPreview];
3。//加入房间
//AliRtcAuthInfo 配置项
NSString*AppID = @"p6pwme4w"; //创建的APPID
NSString*userID = @"123459";
NSString*channelID = @"test-room-1"; //房间id
NSString*nonce = @"AK-59901789-082e-4f2c-812c-dc021c6ced9e"; //随机数
longlong timestamp =1591424249;//时间戳
NSString*token = @"38d3683acdd01a56d71510bfa0bfd84b6df6200c5515a19321c7cc1f7eeedb07";
NSArray <NSString*> *GSLB = @[@"https://rgslb.rtc.aliyuncs.com"];
流程介绍:
1,普通场景下
主播A ------->开启本地预览摄像头 --------> 加入频道 ---->发布视频流
所有人(C观众端)---->不开启本地预览————>加入该频道 -------> 订阅该频道流
这时候就相当于直播在推流,观众端在拉流
2,连麦场景下
用户B——————> 开启本地预览————>发布视频流------>主播同意订阅该流
这时候用户B和主播A就开始了音视频通话
所有人(C观众端)如果想看到连麦场景就同时订阅———>主播A 和 用户B的视频流
网友评论