角色
- 主播端:主要功能推流,连麦,混流,发消息等。
- 游客端:主要功能拉流,连麦,发消息等。
开发者根据自身逻辑选择角色类。
直播状态
- 主播端:
- RTC状态回调:onRTCCreateLineResult,状态码为0则成功,非0,需查看具体错误信息。
- RTMP状态回调:推流成功回调:onRtmpStreamOk;推流失败回调:onRtmpStreamFailed
注意:主播端两者回调同时成功说明直播开启正常,原则上两个有一个不成功,则需要告诉用户直播不成功。如果RTC状态回调不成功,则用户无法使用连麦、发消息接口,同时也收不到相关RTC的回调。如果RTMP状态回调不成功,说明推流失败,需查看具体原因。
- 游客端:
- RTC状态回调:onRTCJoinLineResult,状态码为0则成功,非0,需查看具体错误信息。
- RTMP状态回调:拉流成功回调:onRtmpPlayerOk;拉流失败回调:onRtmpPlayerClosed
注意:游客端两个回调同时成功说明进入直播间成功,原则上两个有一个不成功,则需要告诉用户进入直播间出错。如果RTC状态回调不成功,则用户无法使用连麦、发消息接口,同时也收不到相关RTC回调。如果RTMP状态回调不成功,说明拉流失败。
- 只直播,不连麦:
用户无需关系RTC回调,只需要对RTMP检测RTMP状态即可。
如何获取房间内在线人数
当RTC回调成功的时候,会有人员变化的回调:onRTCMemberListNotify,人员信息,主播在创建直播间createRTCLine的时候strUserData字段中自定义,游客在加入房间joinRTCLine的时候strUserData字段自定义。
设置问题
镜像
本地默认开启镜像,如需关闭镜像只需要调用:setFontCameraMirrorEnable,注意:该方法只用于前值摄像头。
如何设置水印
视频直播可以设置水印,通过调用以下接口:setLogoView,注意:该方法目前只有iOS美颜相机才有。
如何设置横盘推流:以iOS为例
videoScreenOrientation:参数设置RTMPCScreenLandscapeLeftType或者RTMPCScreenLandscapeRightType。如果想在横盘的时候根据方向旋转的话:在刚才参数的基础之上,在设置autorotate:为YES即可。
如何用第三方滤镜:以iOS为例
cameraType:参数设置为RTMPCCameraTypeThreeFilter,此时会有回调cameraSourceDidGetPixelBuffer方法,用户调用其他第三方贴纸滤镜sdk,对CMSampleBufferRef视频数据做处理,然后返回处理后的视频数据CVPixelBufferRef给SDK即可。