IVideoFrameConsumer

最近更新时间:2022-09-20 05:17:40

Public 成员函数
voidconsumeByteBufferFrame (ByteBuffer buffer, int format, int width, int height, int rotation, long timestamp)
voidconsumeByteArrayFrame (byte[] data, int format, int width, int height, int rotation, long timestamp)
voidconsumeTextureFrame (int textureId, int format, int width, int height, int rotation, long timestamp, float[] matrix)

详细描述

IVideoFrameConsumer 接口。该接口支持接收三种 Buffer 类型的视频帧数据:ByteBuffer、ByteArray 和 Texture。

成员函数说明

consumeByteBufferFrame()

void consumeByteBufferFrame (   ByteBuffer  buffer,
int     format,
int     width,
int     height,
int     rotation,
long    timestamp 
)       

接收 ByteBuffer 类型的视频帧。

参数描述
bufferByte Buffer 型的视频数据
format像素格式:

I420

NV21

RGBA
width视频帧的宽度
height视频帧的高度
rotation视频帧顺时针旋转的角度。如果设置了旋转角度,媒体引擎会对图像进行旋转。你可以根据需要将角度值设为 0 度、90 度、180 度和 270 度,如果设置为其他数字,系统会自动忽略
timestamp传入的视频帧的时间戳。开发者必须为每一个视频帧设置一个时间戳

consumeByteArrayFrame()

void consumeByteArrayFrame  (   byte []     data,
int     format,
int     width,
int     height,
int     rotation,
long    timestamp 
)   

接收 ByteArray 类型的视频帧。

参数描述
dataByte Array 型的视频数据
format像素格式:

I420

NV21

RGBA
width视频帧的宽度
height视频帧的高度
rotation视频帧顺时针旋转的角度。如果设置了旋转角度,媒体引擎会对图像进行旋转。你可以根据需要将角度值设为 0 度、90 度、180 度和 270 度,如果设置为其他数字,系统会自动忽略
timestamp传入的视频帧的时间戳。开发者必须为每一个视频帧设置一个时间戳

consumeTextureFrame()

void consumeTextureFrame    (   int     textureId,
int     format,
int     width,
int     height,
int     rotation,
long    timestamp,
float []    matrix 
)   

接收 Texture 类型的视频帧。

参数描述
textureIdTexture 的 ID
format像素格式:

TEXTURE_2D

TEXTURE_OES

width视频帧的宽度
height视频帧的高度
rotation视频帧顺时针旋转的角度。如果设置了旋转角度,媒体引擎会对图像进行旋转。你可以根据需要将角度值设为 0 度、90 度、180 度和 270 度,如果设置为其他数字,系统会自动忽略
timestamp传入的视频帧的时间戳。开发者必须为每一个视频帧设置一个时间戳