已编码视频数据
registerVideoEncodedFrameObserver
注册用于接收编码后视频帧的观察器对象。
C++
virtual int registerVideoEncodedFrameObserver(IVideoEncodedFrameObserver* observer) = 0;
如果你只需要监听编码后的视频帧(例如 H.264 格式),而不进行解码和渲染,建议通过此方法注册一个自定义的 IVideoEncodedFrameObserver 实例。
信息
请在加入频道前调用此方法。
参数
- observer
- 编码后视频帧观察器对象。详见 IVideoEncodedFrameObserver。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
onEncodedVideoFrameReceived
报告接收端已接收到远端发送的待解码视频帧。
C++
virtual bool onEncodedVideoFrameReceived(const char* channelId, rtc::uid_t uid, const uint8_t* imageBuffer, size_t length, const rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0;
自从
自 v4.6.0 版本新增。
如果你调用了 setRemoteVideoSubscriptionOptions 方法并将 encodedFrameOnly 设置为 true,SDK 会在本地触发该回调,报告接收到的编码视频帧信息。
参数
- channelId
- 频道名。
- uid
- 远端用户 ID。
- imageBuffer
- 编码后的视频图像缓冲区。
- length
- 视频图像的数据长度。
- videoEncodedFrameInfo
- 编码视频帧的信息。详见 EncodedVideoFrameInfo。
返回值
- true:回调处理成功。
- false:回调处理失败。