IVideoFrameConsumer

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

Public 成员函数
virtual voidconsumeRawVideoFrame (const unsigned char *buffer, AM::ExternalVideoFrame::VIDEO_PIXEL_FORMAT frameType, int width, int height, int rotation, long timestamp)=0

详细说明

IVideoFrameConsumer 类,用于让 SDK 接收你采集的视频帧。

成员函数说明

consumeRawVideoFrame

virtual void consumeRawVideoFrame(const unsigned char *buffer, AM::ExternalVideoFrame::VIDEO_PIXEL_FORMAT frameType, int width, int height, int rotation, long timestamp) = 0;

SDK 接收原始视频数据

请确保在该方法中指定的视频帧类型和你在 getBufferType 回调中指定的视频帧类型一致。

参数

参数描述
buffer视频 buffer。
frameType视频帧类型。详见 VIDEO_PIXEL_FORMAT
width视频帧的宽度(px)。
height视频帧的高度(px)。
rotation视频帧顺时针旋转的角度。如果设置了旋转角度,视频帧发送给 SDK 后,SDK 会对视频图像进行旋转。 取值可为 0 度、90 度、180 度和 270 度。
timestamp视频帧的 Unix 时间戳(毫秒)。你必须为每一帧视频帧设置一个时间戳。

返回值

  • true: 自定义的视频源已经完成了初始化工作。
  • false: 自定义的视频源设备没准备好或者初始化失败,SDK 会停下来并上报错误。

onDispose

virtual void onDispose() = 0;

释放视频源回调

SDK 触发该回调提醒你关闭视频源设备。该回调通知你 SDK 即将销毁 IVideoFrameConsumer 对象。 收到该回调后,请你确保不再使用 IVideoFrameConsumer

onStart

virtual bool onStart() = 0;

启动视频源回调

SDK 触发该回调提醒你启动视频帧采集。启动成功后,SDK 会打开 IVideoFrameConsumer 的开关,接收你采集的视频帧。 你需要通过返回值告知 SDK 自定义的视频源是否已经成功启动。

返回值

  • true: 自定义的视频源启动成功。
  • false: 自定义的视频源启动失败,SDK 会停下来并上报错误。

onStop

virtual void onStop() = 0;

停止视频源回调

SDK 触发该回调提醒你停止视频帧采集。该回调通知你 IVideoFrameConsumer 的开关的即将关闭,SDK 不会接收你之后采集的视频帧。

getBufferType

virtual AM::ExternalVideoFrame::VIDEO_PIXEL_FORMAT getBufferType() = 0;

获取视频帧类型

在你初始化自定义视频源之前,SDK 会触发该回调来查询视频帧类型。你必须在返回值中指定一种视频帧类型来告知 SDK。

请确保在该回调中指定的视频帧类型和在 consumeRawVideoFrame 方法中指定的视频帧类型一致。

返回值

VIDEO_PIXEL_FORMAT

getVideoCaptureType

virtual VIDEO_CAPTURE_TYPE getVideoCaptureType() = 0;

指定自采集的视频源类型

在你初始化自定义视频源之前,SDK 会触发该回调查询自采集的视频源类型。你必须在返回值中指定一种视频源类型来告知 SDK。 SDK 会在接收到视频帧后根据视频源的类型对启用相应的视频处理策略。

返回值

VIDEO_CAPTURE_TYPE

getVideoContentHint

virtual VideoContentHint getVideoContentHint() = 0;

指定自采集屏幕共享视频的内容类型

如果指定自定义视频源为屏幕共享的视频,那么在你初始化自定义视频源之前,SDK 会触发该回调查询屏幕共享视频源的内容类型。 你必须在返回值中指定一种内容类型来告知 SDK。SDK 会在接收到视频帧后根据屏幕共享视频的内容类型启用相应的视频处理策略。

返回值

VideoContentHint