对接第三方插件
您可以通过 SDK 提供的视频帧回调接口,对接第三方美颜等视频处理 SDK,实现更灵活的处理能力。
步骤 1:设置视频帧回调
通过 RCRTCVideoOutputStream.setVideoFrameListener 注册需要处理的视频流采集监听:
Java
RCRTCEngine.getInstance().getDefaultVideoStream().setVideoFrameListener(new IRCRTCVideoOutputFrameListener() {
@Override
public RCRTCVideoFrame processVideoFrame(RCRTCVideoFrame rtcVideoFrame) {
// 使用视频数据进行美颜/录像等处理后,需要将数据返回给 SDK 以继续发送
BeautifierHandler(rtcVideoFrame);
return rtcVideoFrame;
}
});
步骤 2:处理视频帧数据
以 GPUImage 库处理举例,完整代码可参考官方 QuickDemo(GitHub · Gitee)。
Java
GPUImageFilter imageFilter = mVideoFilterHandler.getCurrentImageFilter();
...
// 调用 imageFilter 对视频进行美颜处理
rcrtcVideoFrame.setTextureId(imageFilter.draw(rcrtcVideoFrame.getWidth(), rcrtcVideoFrame.getHeight(), rcrtcVideoFrame.getTextureId()));