io.agora.rtc.ExternalVideoFrame类 参考

  • Java

更新时间不可用

ExternalVideoFrame 类。

类成员变量说明

alphaBuffer

private
ByteBuffer io.agora.rtc.ExternalVideoFrame.alphaBuffer

采用人像分割算法输出的 Alpha 通道数据。该数据跟视频帧的尺寸一致,每个像素点的取值范围为 [0,255],其中 0 代表背景;255 代表前景(人像)。你可以通过设置该参数,实现将视频背景自渲染为各种效果,例如:透明、纯色、图片、视频等。

alphaMode

private
int io.agora.rtc.ExternalVideoFrame.alphaMode

当视频祯中包含 Alpha 通道数据时,设置 alphaBuffer 和视频祯的相对位置:

  • 0: (默认)仅视频祯,即 alphaBuffer 不和视频祯拼接。
  • 1: alphaBuffer 位于视频帧的上方。
  • 2: alphaBuffer 位于视频帧的下方。
  • 3: alphaBuffer 位于视频帧的左侧。
  • 4: alphaBuffer 位于视频帧的右侧。

buffer

private
java.nio.ByteBuffer io.agora.rtc.ExternalVideoFrame.buffer

视频 buffer。

colorSpace

private
ColorSpace io.agora.rtc.ExternalVideoFrame.colorSpace

视频帧的色彩空间属性,默认情况下会应用 Full Range 和 BT.709 标准配置。你可以根据自定义采集、自定义渲染的业务需求进行自定义设置,详见 ColorSpaceType。

cropBottom

private
int io.agora.rtc.ExternalVideoFrame.cropBottom

[原始数据相关字段] 指定底边裁剪掉的像素数量。默认为 0。

cropLeft

private
int io.agora.rtc.ExternalVideoFrame.cropLeft

[原始数据相关字段] 指定左边裁剪掉的像素数量。默认为 0。

cropRight

private
int io.agora.rtc.ExternalVideoFrame.cropRight

[原始数据相关字段] 指定右边裁剪掉的像素数量。默认为 0。

cropTop

private
int io.agora.rtc.ExternalVideoFrame.cropTop

[原始数据相关字段] 指定顶边裁剪掉的像素数量。默认为 0。

eglContext

private
Object io.agora.rtc.ExternalVideoFrame.eglContext

该参数仅适用于 Texture 格式的视频数据。

  • 当使用 Khronos 定义的 OpenGL 接口 (javax.microedition.khronos.egl.*)时,需要将 eglContext 设置给这个字段。
  • 当使用 Android 定义的 OpenGL 接口 (android.opengl.*)时,需要将 eglContext 设置给这个字段。

eglType

private
int io.agora.rtc.ExternalVideoFrame.eglType

EGL 类型。该参数仅适用于 Texture 格式的视频数据。

fillAlphaBuffer

private
int io.agora.rtc.ExternalVideoFrame.fillAlphaBuffer

该参数仅适用于 BGRA 或 RGBA 格式的视频数据。设置提取视频祯中的 Alpha 通道数据并自动填入到 alphaBuffer 中。

  • true: 提取并填充 Alpha 通道数据。
  • false: (默认)不提取填充 Alpha 通道数据。

对于 BGRA 或 RGBA 格式的视频数据,你可以任选一种方式设置 Alpha 通道数据:

  • 通过将该参数设置为 true 自动填写。
  • 通过 alphaBuffer 参数设置。

format

private
int io.agora.rtc.ExternalVideoFrame.format

像素格式。

height

private
int io.agora.rtc.ExternalVideoFrame.height

传入视频帧的高度。

matrix

private
float io.agora.rtc.ExternalVideoFrame.matrix

该参数仅适用于 Texture 格式的视频数据。为一个输入的 4x4 变换矩阵,典型值为一个单位矩阵。

metadataBuffer

private
ByteBuffer io.agora.rtc.ExternalVideoFrame.metadataBuffer

该参数仅适用于 Texture 格式的视频数据。指 MetaData 的数据缓冲区,默认值为 nil。

rotation

private
int io.agora.rtc.ExternalVideoFrame.rotation

[原始数据相关字段] 指定是否对传入的视频组做顺时针旋转操作,可选值为 0,90,180,270。默认为 0。

stride

private
int io.agora.rtc.ExternalVideoFrame.stride

传入视频帧的行间距(像素)。对于 Texture,该值指的是 Texture 的宽度。

textureId

private
int io.agora.rtc.ExternalVideoFrame.textureId

该帧的 Texture ID。该参数仅适用于 Texture 格式的视频数据。

timestamp

private
long io.agora.rtc.ExternalVideoFrame.timestamp

传入的视频帧的时间戳(毫秒)。不正确的时间戳会导致丢帧或者音视频不同步。

type

private
int io.agora.rtc.ExternalVideoFrame.type

视频帧的数据类型。

  • 1:视频帧类型为原始数据。
  • 2:与 1 相同。
  • 3:视频帧类型为 Texture。

该类的文档由以下文件生成:

  • ExternalVideoFrame.java

这个页面有帮助吗?