logo
当前页

IZegoCustomVideoProcessHandler

IZegoCustomVideoProcessHandler

Declared in callback/IZegoCustomVideoProcessHandler.java

方法

onStart

onStart
public void onStart(ZegoPublishChannel channel)
SDK 通知开发者将要开始进行视频前处理。
Declared in callback/IZegoCustomVideoProcessHandler.java

参数

名称类型描述
channelZegoPublishChannel推流通道。

详情

开启自定义视频前处理时,SDK 通知开发者将要开始进行视频前处理,推荐在此回调中进行其他资源(比如美颜 SDK)的初始化。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 通知时机:开启自定义视频前处理,调用 [startPreview] 或 [startPublishingStream] 成功之后。
  • 相关回调:自定义视频前处理结束通知 [onStop]。
  • 相关接口:可调用 [setCustomVideoProcessHandler] 函数设置自定义视频前处理回调。
  • 支持版本:2.2.0 及以上。

onStop

onStop
public void onStop(ZegoPublishChannel channel)
SDK 通知开发者停止进行视频前处理。
Declared in callback/IZegoCustomVideoProcessHandler.java

参数

名称类型描述
channelZegoPublishChannel推流通道。

详情

开启自定义视频前处理时,SDK 通知开发者将要结束视频前处理,推荐在此回调中进行其他资源(比如美颜 SDK)的销毁。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 通知时机:如果开启自定义采集后同时调用 [startPreview] 开启预览和 [startPublishingStream] 开启推流,则应该调用 [stopPreview] 停止预览 和 [stopPublishingStream] 停止推流后才会触发该回调。
  • 相关回调:自定义视频前处理开始通知 [onStart]。
  • 相关接口:可调用 [setCustomVideoProcessHandler] 函数设置自定义视频前处理回调。
  • 支持版本:2.2.0 及以上。

onCapturedUnprocessedRawData

onCapturedUnprocessedRawData
public void onCapturedUnprocessedRawData(ByteBuffer data, int[] dataLength, ZegoVideoFrameParam param, long referenceTimeMillisecond, ZegoPublishChannel channel)
当获取到原始视频数据时回调。
Declared in callback/IZegoCustomVideoProcessHandler.java

参数

名称类型描述
dataByteBuffer原始视频数据。RGB 格式数据存放位置为 data[0],YUV 格式数据存放位置分别为 Y 分量:data[0],U 分量:data[1],V 分量:data[2]。
dataLengthint[]原始视频数据长度。RGB 格式数据长度存放位置为 dataLength[0],YUV 格式数据存放位置分别为 Y 分量长度:dataLength[0],U 分量长度:dataLength[1],V 分量长度:dataLength[2]。
paramZegoVideoFrameParam视频帧参数。
referenceTimeMillisecondlong视频帧的索引时间,UNIX 时间戳,或系统启动时间戳,单位为毫秒。
channelZegoPublishChannel推流通道。

详情

开启自定义视频前处理时,调用 [setCustomVideoProcessHandler] 设置回调后,SDK 收到原始视频数据并回调给开发者。当开发者处理完原始图像之后,必须调用 [sendCustomVideoProcessedRawData] 将处理后数据传回 SDK 中,否则会导致丢帧现象。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 通知时机:开启自定义视频前处理,SDK 采集到原始视频数据时。
  • 平台差异:适用于 Window、Android 平台。
  • 支持版本:2.2.0 及以上。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZegoVideoBufferTypeRawData] 时,此接口生效。

onCapturedUnprocessedTextureData

onCapturedUnprocessedTextureData
public void onCapturedUnprocessedTextureData(int textureID, int width, int height, long referenceTimeMillisecond, ZegoPublishChannel channel)
当 SDK 获取到 [Texture] 类型的原始视频数据时回调。
Declared in callback/IZegoCustomVideoProcessHandler.java

参数

名称类型描述
textureIDint纹理 ID。
widthint纹理宽度。
heightint纹理高度。
referenceTimeMillisecondlong视频帧的索引时间,UNIX 时间戳,单位为毫秒。
channelZegoPublishChannel推流通道。

详情

开启自定义视频前处理时,调用 [setCustomVideoProcessHandler] 设置回调后,SDK 收到原始视频数据并回调给开发者。当开发者处理完原始图像之后,必须调用 [sendCustomVideoProcessedTextureData] 将处理后数据传回 SDK 中,否则会导致丢帧现象。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 通知时机:开启自定义视频前处理,SDK 采集到原始视频数据时。
  • 平台差异:仅在 Android 平台生效。
  • 支持版本:2.2.0 及以上。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZegoVideoBufferTypeGLTexture2D] 时,此接口生效。

getCustomVideoProcessInputSurfaceTexture

getCustomVideoProcessInputSurfaceTexture
public SurfaceTexture getCustomVideoProcessInputSurfaceTexture(int width, int height, ZegoPublishChannel channel)
当开发者选用 SurfaceTexture 视频前处理类型时,通过此接口获取用于输入原始视频数据的 SurfaceTexture 并传给 SDK。
Declared in callback/IZegoCustomVideoProcessHandler.java

参数

名称类型描述
widthint原始视频的采集宽度。
heightint原始视频的采集高度。
channelZegoPublishChannel推流通道。

详情

开启自定义视频前处理,开发者需要创建 SurfaceTexture 对象并监听其成员方法 [setOnFrameAvailableListener],然后 return 相应的 SurfaceTexture。当 SDK 原始视频数据输入完成时,开发者将收到 [onFrameAvailable]。开发者将 SurfaceTexture(input) 对象传给 SDK 之后,可通过调用 [getCustomVideoProcessOutputSurfaceTexture] 拿到 SDK 用于编码推流的 SurfaceTexture,此后开发者可以将视频处理后的数据传入此 SurfaceTexture(output) 对象中。

  • 业务场景:开发者自行采集视频数据或获取到 SDK 采集的视频数据后,若 SDK 自带的基础美颜和水印功能无法满足开发者需求时(例如美颜效果无法达到预期),可以结合 ZegoEffects SDK 对视频进行一些特殊处理,例如美颜、添加挂件等,该过程即为自定义视频前处理。
  • 平台差异:仅在 Android 平台生效。
  • 支持版本:2.2.0 及以上。
  • 使用限制:当调用 [enableCustomVideoProcessing] 开启自定义视频前处理且 config 的 bufferType 传入 [ZegoVideoBufferTypeSurfaceTexture] 时,此回调生效。

返回值

SurfaceTexture 实例。

上一篇

izegocustomvideocapturehandler

下一篇

izegocustomvideorenderhandler

当前页

返回到顶部