更新时间:2023-10-26 GMT+08:00
分享

自定义视频采集和渲染

setExternalVideoFrameOutputEnable

public abstract int setExternalVideoFrameOutputEnable(boolean localEnable,boolean remoteEnable);
public abstract int setExternalVideoFrameOutputEnable(boolean localEnable, boolean remoteEnable, HRTCImageBufferFormat format);

功能说明

设置视频数据输出使能。

请求参数
  • localEnable:true表示输出本地视频数据,false表示不输出本地视频数据,默认值为false。
  • remoteEnable:true表示输出远端视频数据,false表示不输出远端视频数据,默认值为false。
  • format:自渲染输出的视频帧图片格式,在onRenderExternalVideoFrame接口参数的videoFrameType中体现,取值请参见HRTCImageBufferFormat

返回参数

setAuxiliaryExternalVideoFrameOutputEnable

public abstract int setAuxiliaryExternalVideoFrameOutputEnable(boolean localEnable,boolean remoteEnable);

功能说明

设置共享辅流数据输出使能。Android平台接口暂不提供本地共享数据的设置。

请求参数
  • localEnable:true表示输出本地共享数据,false表示不输出本地共享数据,默认值为false。
  • remoteEnable:true表示输出远端共享数据,false表示不输出远端共享数据,默认值为false。

返回参数

setExternalVideoCapture

public abstract int setExternalVideoCapture(boolean videoEnable, HRTCVideoFrameFormat format);

功能说明

设置是否开启视频外部采集。需要在加入房间前调用。

请求参数

  • videoEnable:true表示视频使用外部采集,false表示视频不使用外部采集,默认值为false。
  • format:设置外部采集的视频格式,默认为I420(即yuv420P)。

返回参数

如果使用外部输入视频数据,需要在加入房间后,按照一定时间间隔调用pushExternalVideoFrame接口输入视频数据。

format可选格式为yuv420prgbatexture2d,如果需要外部传入texture2d编码的数据,需要设置format为texture2d,否则传入yuv420p或者rgba。texture2d视频数据,kirin系列970以上芯片走texture2d硬编,其他芯片都是走texture2d软编。

setAuxExternalVideoCapture

public abstract int setAuxExternalVideoCapture(boolean videoEnable, HRTCVideoFrameFormat format);

功能说明

设置是否开启视频辅流外部采集。需要在加入房间前调用。

请求参数

  • videoEnable:true表示视频使用辅流外部采集,false表示视频不使用辅流外部采集。
  • format:设置外部采集的视频格式,默认为I420(即yuv420P)。

返回参数

此接口与屏幕共享功能互斥,若videoEnable为true,则不能使用屏幕采集功能。

format支持texture2d,如果需要外部传入texture2d编码的数据,需要设置format为texture2d。

pushExternalVideoFrame

public abstract int pushExternalVideoFrame(HRTCVideoFrame videoFrame);

功能说明

输入外部视频数据。

请求参数

videoFrame:视频数据,具体请参见HRTCVideoFrame

返回参数

需要按照一定的时间间隔进行输入,例如,视频原本为15帧/秒,则需要间隔1000/15毫秒间隔输入视频数据。

pushAuxExternalVideoFrame

public abstract int pushAuxExternalVideoFrame(HRTCVideoFrame videoFrame);

功能说明

辅流输入外部视频数据。

请求参数

videoFrame:视频数据,具体请参见HRTCVideoFrame

返回参数

此接口与屏幕采集功能互斥。

如果需要传输texture2d编码流,需要设置setAuxExternalVideoCapture videoEnable参数为true,format设置为texture2d。

相关文档