互动直播--梳理网易互动直播流程

时间:2024-03-27 18:39:43

互动直播整体流程

本文主要目的在于理清网易互动直播的整体逻辑,要进行互动直播,我们需要做哪些方面的准备。

思路清晰了,才好进行下一步的整合。

一、直播

直播和互动直播只差了两个字,但这两个字却使得各自使用的套路不同。

直播相对简单,与网易服务器很少打交道,最主要的是我们自己的服务器,根据网易提供的创建频道的接口,向网易服务器申请一个频道。


互动直播--梳理网易互动直播流程


互动直播--梳理网易互动直播流程


有了推流、拉流、频道信息,客户端APP基本可以直接使用了,不再与网易服务器打交道了。

2、互动直播

初看互动直播,总觉得迷迷糊糊的,搞不明白。

之所以犯迷糊,主要是要使用互动直播,还必须接入IM账户体系。

自己的账户体系、IM账户体系、自己的服务器、网易的服务器,参合在一起,不细心梳理,很容易在大脑里就成了一团乱麻。

如果是纯直播的话,用户账号体系是我们自己这儿的,但是互动直播是基于IM账号体系做的(互动连麦基于音视频通话,音视频基于IM账号体系),所以必须接入IM账号体系。

这里涉及到几个概念:

自己的账户体系: 就是自己的用户,通过自己的服务器注册的,保存在自己的服务器中。

IM账户体系: IM是即时通讯用的,提供了相关SDK接口,使用的前提是你要向网易服务器注册IM账户,使用这个账户登录后,才可调用其他接口。

那么问题就来了,我这儿用的是自己的账户体系,如何将我自己的账户添加进IM账户体系中呢?

网易建议采取这种策略:

网易IM账户可使用我们自己的账户体系中的用户账号信息进行申请。

然后将自己的账户和IM账户进行一对一绑定,由我们自己的服务器进行保存。

这样,客户端在登录时,使用的还是我们自己的账户信息登录,登录成功后,由我们服务器返回该账户对应的IM账号,以供调用后续SDK接口。

也就是说,我们要为自己的用户账号,分配一个与之对应的IM账号,才能进行互动直播。

怎么分配呢?这就涉及到了我们自己的服务器向网易服务器申请。

2.1 将自己的用户添加到网易IM账户体系中

要想使用互动直播,必须接入IM账号体系。

互动直播--梳理网易互动直播流程


资料来自:http://dev.yunxin.163.com/docs/product/IM即时通讯/服务端API文档/网易云通信ID?#创建网易云通信ID

初看这张图,有点不知所云。

我大体翻译下:

互动直播--梳理网易互动直播流程


进行开发前,需要将自己的账户体系,加入到网易账号体系中。

怎么加?

网易提供了这个接口

互动直播--梳理网易互动直播流程


互动直播--梳理网易互动直播流程


2.2 登录网易服务器

纯直播SDK,没有这方面的要求。

但是互动直播基于IM账户体系,所以需要使用对应的IM账户登录网易服务器进行验证,验证成功后,才可调用其他SDK接口。

()

怎么登录? 客户端SDK给出了接口

互动直播--梳理网易互动直播流程


互动直播--梳理网易互动直播流程


接口中,有一个回调函数,在此判断登录是否成功。


2.3 创直播频道、聊天室、音视频通话房间


A)使用网易聊天室进行互动


登录成功后,因为我们要直播,所以还得有个直播频道,获得推流拉流地址,这也是要向网易申请的。

因为不仅要直播,还要做互动,主播、观众加入聊天室才好互动嘛,所以还需要聊天室房间,这个聊天室房间也是需要提前向网易申请的。

有了直播频道、聊天室后,因为还要有多人音视频通话,这才是互动的关键,要进行多人音视频通话,还得有个音视频房间,这个音视频房间可以由客户端申请,在首次进入这个音视频房间后,网易服务器会返回个音视频房间ID,主要是为了万一有问题,网易可以迅速定位到这个音视频房间。

互动直播--梳理网易互动直播流程


B)

    不使用网易聊天室,仅仅使用音视频房间

     聊天互动可由自己的服务器实现,这时候就没必要使用网易的聊天室了。

     这时候要实现音视频互动,只需要创建音视频房间就可以。

     主要流程如下:

    主播:登录IM,设置音视频房间name( uid,  此name是音视频房间的标识,需要传递给连麦的互动者,互动者使用这个name,才可以进入这个房间), 创建音视频房间,进入音视频房间

    连麦者: 根据roomname,进入这个音视频房间

   

    这样的话,我们自己的服务器,只需要向网易申请IM体系账户,管理自己的roomname 即可。


2.4 服务器端

直播频道:同纯直播服务一样,需要服务器申请一个直播频道,获得推流拉流地址。

A 方案 使用网易聊天室

1)聊天室:

主播、连麦者、观众是在一个聊天室中,其中主播、连麦者又在自己的音频通话房间中。

要实现互动,所以先要创建聊天室,这个聊天室只能通过服务器API创建,创建成功后,保存在我们自己的服务器上,以便以后使用。

(http://faq.netease.im/#KB0052)

互动直播--梳理网易互动直播流程


2)音视频通话房间:

聊天室创建好了后,音视频通话房间是由客户端SDK创建的,名字是其唯一标识,但是在加入音视频房间后,回调函数会返回房间ID,这应该是网易系统内的音视频房间身份ID,方便出问题的时候测试用的。


B 方案 不使用网易聊天室

聊天功能可由自己的服务器实现。

这样我们自己的聊天室只需要申请IM账户即可

音视频房间name,可由客户端建立,



3 总结


互动直播--梳理网易互动直播流程


本文介绍了使用网易互动直播SDK进行开发的整体逻辑,主旨是接入IM体系账号。

客户端登录自己的系统后,

再使用IM账号登录IM,

根据自己的服务器向网易申请的的直播频道、

调用相关接口,

创建音视频通话房间进行互动直播。


参考资料:

1 互动直播/新手接入指南

2 网易云通信ID

3 账号集成与登录

4 互动直播简介

5 开发者应用逻辑简介

6 怎么判断IM SDK登录成功

7 直播服务端API文档