视频采集
视频采集
您可以通过注册视频数据监听器来获取本地视频流数据,用于实现美颜、滤镜等自定义视频处理功能。
操作步骤:
- 在
RongIM.connect
连接成功之后,RongCallClient.startCall
或RongCallClient.acceptCall
调用之前,注册RongCallClient.registerVideoFrameListener
监听器。监听器将根据您设置的 采集方式 上报YUV(NV21)
或texture
类型的本地视频流数据。 - 在通话结束前,您需要调用
RongCallClient.unregisterVideoFrameObserver
取消注册。
参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
listener | IVideoFrameListener | 是 | 视频数据回调接口,用于您自定义美颜、滤镜等视频处理功能 |
回调参数说明:
回调参数 | 回调类型 | 说明 |
---|---|---|
callVideoFrame | CallVideoFrame | 视频数据实体类 |
返回参数说明:
返回值 | 返回类型 | 说明 |
---|---|---|
CallVideoFrame | CallVideoFrame | 处理后的视频数据实体类 |
示例代码:
以下示例展示如何注册视频数据监听器,并在回调中处理视频帧数据:
Java
RongCallClient.getInstance().registerVideoFrameListener(new IVideoFrameListener() {
@Override
public CallVideoFrame processVideoFrame(CallVideoFrame callVideoFrame) {
// 在此处添加您的视频处理逻辑,如美颜、滤镜等
// 注意:该回调运行在 Camera SurfaceTextureHelper 线程,GL 线程。
return callVideoFrame;
}
});
采集方式
您可以根据业务需求选择不同的摄像头采集数据类型。建议在发起通话或接听通话前进行设置。
参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
textureAble | boolean | 是 | 设置视频流采集方式。true :texture 方式采集(默认);false :YUV 方式采集 |
示例代码:
以下示例演示如何配置视频采集方式:
Java
RCRTCConfig.Builder builder = RCRTCConfig.Builder.create();
builder.enableEncoderTexture(true);
RongCallClient.getInstance().setRTCConfig(builder);