推流

下载pdf
更新时间:2019-12-18 10:04

1 功能简介

不论是在多人通话还是在秀场直播中,首先都需要推送自己的视频画面到 ZEGO 云端服务上,对端再通过从 ZEGO 云端服务上拉流,才可以获取到自己的视频画面。

2 使用步骤

2.1 设置推流相关回调

设置推流回调监听,在调用 startPublishingStream 推流后,能收到推流是否成功等相关事件的通知,如果推流失败需要进行相应的错误处理。

zg.onPublishStateUpdate = function (type, streamId, error) {
//推流状态变更通知
}

zg.onPublishQualityUpdate = function (streamId, streamQuality) {
//推流质量回调
}

onPublishStateUpdate

onPublishQualityUpdate

2.2 预览设置

开始预览前需要开发者对对预览参数进行设置。

设置预览参数

预览的参数包括:是否需要音频视频、麦克风设备摄像头id、摄像头朝向、推流质量、降噪、自动增益、回声消除等等

开发者可查阅 startPreview API 说明 相关内容,按需设置。

启用预览

推流后可以调用如下 API 设置预览视图并启动本地预览。

ZegoClient.startPreview(localVideo, mediaStreamConstraints, success, error)

localVideo指的是本地预览的<video>对象,最终预览效果会在此体现,建议<video>对象加上autoplay属性

mediaStreamConstraints 指的音视频配置项,预览的参数在此设置

success 与 error 分别指调用startPreview 后的成功与失败回调

2.3 开始推流

开发者可调用 startPublishingStream API 进行推流,如果不需要继续推流, 请调用 stopPublishingStream 停止推流。

注意:streamID 仅支持长度不超过 256 字节的数字、下划线、字母,streamID 需要在整个 AppID 内全局唯一。

zg.startPublishingStream(streamid, localVideo)

若需要推多条流则多次调用推流接口即可,需保证每条流的streamidlocalVideo不同

推流错误码

2.4 停止推流

调用 stopPublishingStream 停止推流。

停止推流不会触发退出房间,用户依然可以在当前房间中,重新推流。

zg.stopPublishingStream(streamid)

2.5 停止预览

调用stopPreviewAPI 停止预览,停止预览后,用户也无法看到自己的画面。

zg.stopPreview(localVideo)

3 API 参考列表

方法 描述
startPreview 设置推流代理
startPublishingStream 开始推流
stopPublishingStream 停止推流
stopPreview 停止预览

4 相关文档

完成了推流后,可以使用 ZEGO SDK 依次完成如下功能来实现基础的通话或者直播。