registerLocalVideoProcessor method

FutureOr<int> registerLocalVideoProcessor(
  1. IVideoProcessor processor,
  2. VideoPreprocessorConfig config
)

@detail api @hiddensdk(audiosdk) @author zhushufan.ref @brief 设置自定义视频前处理器。
使用这个视频前处理器,你能够调用 processVideoFrame{@link #IVideoProcessor#processVideoFrame} 对 RTC SDK 采集得到的视频帧进行前处理,并将处理后的视频帧用于 RTC 音视频通信。 @param processor 自定义视频处理器,详见 IVideoProcessor{@link #IVideoProcessor}。如果传入 null,则不对 RTC SDK 采集得到的视频帧进行前处理。
SDK 只持有 processor 的弱引用,你应保证其生命周期。 @param config 自定义视频前处理器适用的设置,详见 VideoPreprocessorConfig{@link #VideoPreprocessorConfig}。
当前,config 中的 required_pixel_format 仅支持:I420TEXTURE_2DUnknown
- 设置为 Unknown 时,RTC SDK 给出供 processor 处理的视频帧格式即采集的格式。 你可以通过 pixelFormat{@link #IVideoFrame#pixelFormat} 获取实际采集的视频帧格式,支持的格式为:kVideoPixelFormatI420kVideoPixelFormatTexture2DkVideoPixelFormatTextureOES
- 设置为 I420TEXTURE_2D 时,RTC SDK 会将采集得到的视频转变为对应的格式,供前处理使用。 - 设置为其他值时,此方法调用失败。 @return - 0: 成功。 - < 0: 失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明。 @note 经前处理后,返回给 RTC SDK 的视频帧格式仅支持 I420TEXTURE_2D

Implementation

FutureOr<int> registerLocalVideoProcessor(
    IVideoProcessor processor, VideoPreprocessorConfig config) async {
  return await nativeCall('registerLocalVideoProcessor', [processor, config]);
}