struct  VideoFrame
 

Public 类型

enum  VIDEO_FRAME_TYPE { FRAME_TYPE_YUV420 = 0, FRAME_TYPE_YUV422 = 1, FRAME_TYPE_RGBA = 2 }
 

Public 成员函数

virtual bool onCaptureVideoFrame (VideoFrame &videoFrame)=0
 
virtual bool onRenderVideoFrame (unsigned int uid, VideoFrame &videoFrame)=0
 
virtual VIDEO_FRAME_TYPE getVideoFormatPreference ()
 
virtual bool getRotationApplied ()
 
virtual bool getMirrorApplied ()
 

成员枚举类型说明

◆ VIDEO_FRAME_TYPE

枚举值
FRAME_TYPE_YUV420 

0:YUV420

FRAME_TYPE_YUV422 

1:YUV422

FRAME_TYPE_RGBA 

2: RGBA

成员函数说明

◆ onCaptureVideoFrame()

virtual bool agora::media::IVideoFrameObserver::onCaptureVideoFrame ( VideoFrame videoFrame)
pure virtual

获取本地摄像头采集到的视频数据。

成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取本地摄像头采集到的视频数据,然后根据场景需要,对视频数据进行前处理。

完成前处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

注解
如果你获取到的视频数据类型为 RGBA,Agora 不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
参数
videoFrameVideoFrame
返回
如果视频前处理失败,是否忽略该帧视频:
  • true:不忽略
  • false:忽略,则该帧数据不再发送回SDK

◆ onRenderVideoFrame()

virtual bool agora::media::IVideoFrameObserver::onRenderVideoFrame ( unsigned int  uid,
VideoFrame videoFrame 
)
pure virtual

获取远端发送的视频数据。

成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取远端发送的视频数据,然后根据场景需求,对视频数据进行后处理。

完成后处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

注解
如果你获取到的视频数据类型为 RGBA,Agora 不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
参数
uid发送该帧视频的远端用户 ID
videoFrameVideoFrame
返回
如果视频后处理失败,是否忽略该帧视频:
  • true:不忽略
  • false:忽略,则该帧数据不再发送回SDK

◆ getVideoFormatPreference()

virtual VIDEO_FRAME_TYPE agora::media::IVideoFrameObserver::getVideoFormatPreference ( )
inlinevirtual

请求视频数据格式。

如果你想获取 420 格式以外的视频数据,需要在调用 registerVideoFrameObserver 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调返回值中设置期望的视频数据格式。

返回
设置 SDK 输出的原始数据格式 VIDEO_FRAME_TYPE

◆ getRotationApplied()

virtual bool agora::media::IVideoFrameObserver::getRotationApplied ( )
inlinevirtual

设置视频数据旋转。

如果你希望获取的视频数据已根据 VideoFrame 中的旋转信息 rotation 进行旋转,需要在调用 registerVideoFrameObserver 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对采集到的视频数据进行旋转。

注解
该功能仅支持 RGBA 格式的视频数据。
返回
设置 SDK 输出视频数据时是否作旋转处理:
  • true:旋转
  • false:(默认)不旋转

◆ getMirrorApplied()

virtual bool agora::media::IVideoFrameObserver::getMirrorApplied ( )
inlinevirtual

设置视频数据镜像。

如果你希望获取的视频数据为原始视频的镜像,需要在调用 registerVideoFrameObserver 方法时注册该回调,成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对原始视频数据作镜像处理。

注解
该功能仅支持 RGBA 格式的视频数据。
返回
设置 SDK 输出视频数据时是否作镜像处理:
  • true:镜像
  • false:(默认)不镜像