跳到主要内容

视频采集

视频采集

您可以通过注册视频数据监听器来获取本地视频流数据,用于实现美颜、滤镜等自定义视频处理功能。

操作步骤:

  1. RongIM.connect 连接成功之后,RongCallClient.startCallRongCallClient.acceptCall 调用之前,注册 RongCallClient.registerVideoFrameListener 监听器。监听器将根据您设置的 采集方式 上报 YUV(NV21)texture 类型的本地视频流数据。
  2. 在通话结束前,您需要调用 RongCallClient.unregisterVideoFrameObserver 取消注册。

参数说明:

参数类型必填说明
listenerIVideoFrameListener视频数据回调接口,用于您自定义美颜、滤镜等视频处理功能

回调参数说明:

回调参数回调类型说明
callVideoFrameCallVideoFrame视频数据实体类

返回参数说明:

返回值返回类型说明
CallVideoFrameCallVideoFrame处理后的视频数据实体类

示例代码:

以下示例展示如何注册视频数据监听器,并在回调中处理视频帧数据:

Java
RongCallClient.getInstance().registerVideoFrameListener(new IVideoFrameListener() {

@Override
public CallVideoFrame processVideoFrame(CallVideoFrame callVideoFrame) {
// 在此处添加您的视频处理逻辑,如美颜、滤镜等
// 注意:该回调运行在 Camera SurfaceTextureHelper 线程,GL 线程。
return callVideoFrame;
}
});

采集方式

您可以根据业务需求选择不同的摄像头采集数据类型。建议在发起通话或接听通话前进行设置。

参数说明:

参数类型必填说明
textureAbleboolean设置视频流采集方式。true:texture 方式采集(默认);false:YUV 方式采集

示例代码:

以下示例演示如何配置视频采集方式:

Java
RCRTCConfig.Builder builder = RCRTCConfig.Builder.create();

builder.enableEncoderTexture(true);

RongCallClient.getInstance().setRTCConfig(builder);