网易互动直播的使用

最近公司加了互动直播功能,用的是网易互动直播,期间所经历的一些坑,和大家分享一下
1.准备分析
直播是im和视频的推流和拉流一起完成,这些是依赖库

image.png

这个是手动导入的sdk

image.png

MINSDk是网易im的一般版本,NIMAVChtat 是包含实时语音的版本,如果只是继承直播 第一个就可以了 ,互动连麦直播 就需要2个.

image.png

这2个文件夹 是网易封装的ijk播放器和直播需要的文件 也需要导入.
2关于冲突
如果你的项目里面用到了ijk就需要把他删除掉,GUPImage也是,这2个都会引发文件.
3登陆
互动直播依赖于im,需要登陆才能进行

image.png

分别是注册,是指日志 数据存放位置,有默认存放位置,配置代理,和登陆,error==nill代表登陆成功

4创建聊天室
想要聊天必须创建聊天室

image.png

创建聊天室,创建聊天进入请求,进去,error==nil 进入成功,弹出对应界面.
5创建会议
什么是会议,互动直播就是直播别人会议,你们在开会,观众再看,就这么简单.
进入界面的时候要看到摄像头获取的界面,流程是, 开启video,预定会议,加入会议

开启video

image.png

然后实现
[[NIMAVChatSDK sharedSDK].netCallManager addDelegate:self];

  • (void)onLocalDisplayviewReady:(UIView *)displayView;在代理方法就能拿到画面了
    这里面拿的view没有frame,你要给他一个frame
image.png

美颜效果也是家在这里面实现的(官方美颜),如果需要自定义的美颜,需要在

image.png

需要在[[NIMAVChatSDK sharedSDK].netCallManager sendVideoSampleBuffer:sampleBuffer];前面,渲染好再发给出去;

下面预定会议和加入会议
创建会议


image.png

主播和连麦着必须 actor=yes,否则无法推流

image.png

主要说一下这3个


image.png

第一个是推流,直播和连麦着都需要设置,第二个是推流地址,只要主播设置,第三个是用户看到的展示类型,

image.png

这个样子比人拿到地址 就可以看到你的画面了

连麦者加入会议,和离开会议,主播也是这个方法离开会议,


image.png

那么如何看到连麦人的画面那

image.png

这个代理就可以拿到yuvData,然后用opengl渲染出来,不会opengl没关系,我也只会法线,光线和纹理这些,

image.png

直接拿来用就可以,到此位置,就已经现实了连麦功能,这个2个拿到视频的文件的代理,展示样式是可以自己随意摆放的,不应想用户那边的观看,用户的观看模式可以自定义,也可以在option中设置,但是要在开播之前就选定样式,其他就是个自的业务逻辑问题了,网易直播的ui 不要集成,否则自己去体会.
ok就写到这里

你可能感兴趣的:(网易互动直播的使用)