ExternalVideoFrame

  • React Native

更新时间不可用

外部视频帧。

TypeScript
export class ExternalVideoFrame {
  type?: VideoBufferType;
  format?: VideoPixelFormat;
  buffer?: Uint8Array;
  stride?: number;
  height?: number;
  cropLeft?: number;
  cropTop?: number;
  cropRight?: number;
  cropBottom?: number;
  rotation?: number;
  timestamp?: number;
  eglType?: EglContextType;
  textureId?: number;
  matrix?: number[];
  metadataBuffer?: Uint8Array;
  metadataSize?: number;
  alphaBuffer?: Uint8Array;
  fillAlphaBuffer?: boolean;
  alphaStitchMode?: AlphaStitchMode;
  colorSpace?: ColorSpace;
}

属性

参数名描述
type

视频类型。详见 VideoBufferType。

format

像素格式。详见 VideoPixelFormat。

buffer

视频缓冲区。

stride

传入视频帧的行间距,单位为像素而不是字节。对于 Texture,该值指的是 Texture 的宽度。

height

传入视频帧的高度。

eglContext

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

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

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

textureId

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

matrix

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

metadataBuffer

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

metadataSize

该参数仅适用于 Texture 格式的视频数据。指 MetaData 的大小,默认值为 0。

alphaBuffer

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

注: 在自定义视频渲染场景下,需确保传入的视频帧和 alphaBuffer 均为 Full Range 类型;其他类型可能导致 Alpha 数据渲染不正常。

fillAlphaBuffer

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

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

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

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

当视频帧中包含 Alpha 通道数据时,设置 alphaBuffer 和视频帧的相对位置。详见 AlphaStitchMode。

cropLeft

该参数仅适用于原始视频数据。

cropTop

该参数仅适用于原始视频数据。

cropRight

该参数仅适用于原始视频数据。

cropBottom

该参数仅适用于原始视频数据。

rotation

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

timestamp

传入的视频帧的时间戳,以毫秒为单位。不正确的时间戳会导致丢帧或者音视频不同步。

colorSpace

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

表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?