ZegoLiveRoom
Public Member Functions | List of all members
AVE::VideoCaptureCallback Class Referenceabstract

#include <video_capture.h>

Inheritance diagram for AVE::VideoCaptureCallback:
AVE::VideoCaptureDevice::Client

Public Member Functions

virtual void OnIncomingCapturedData (const char *data, int length, const VideoCaptureFormat &frame_format, unsigned long long reference_time, unsigned int reference_time_scale)=0
 通知SDK采集到视频数据,SDK会同步拷贝数据,切换到内部线程进行编码,如果缓冲队列不够,SDK会自动丢帧 More...
 
virtual void OnIncomingCapturedData2 (unsigned char **ptrs, int *lens, const VideoCaptureFormat &frame_format, unsigned long long reference_time, unsigned int reference_time_scale)=0
 
virtual int OnIncomingD3DTexture (void *videoTex, unsigned int rotate, unsigned long long reference_time, unsigned int reference_time_scale)
 通知SDK采集到纹理数据,SDK会同步拷贝数据,切换到内部线程进行编码,如果缓冲队列不够,SDK会自动丢帧 More...
 
virtual void OnTakeSnapshot (void *image)=0
 通知SDK截图成功 More...
 
virtual void SetFillMode (int mode)=0
 当时图像宽高和编码宽高的宽高比不一致时使用的填充模式,默认裁剪 More...
 
virtual int SetROI (ROIRect *rects, int count)=0
 设置编码器感兴趣的区域,优化图像主观体验 More...
 

Member Function Documentation

◆ OnIncomingCapturedData()

virtual void AVE::VideoCaptureCallback::OnIncomingCapturedData ( const char *  data,
int  length,
const VideoCaptureFormat frame_format,
unsigned long long  reference_time,
unsigned int  reference_time_scale 
)
pure virtual

通知SDK采集到视频数据,SDK会同步拷贝数据,切换到内部线程进行编码,如果缓冲队列不够,SDK会自动丢帧

Parameters
data采集buffer指针
length采集buffer的长度
frame_format描述buffer的属性,包括宽高,色彩空间
reference_time采集到该帧的时间戳,用于音画同步,如果采集实现是摄像头,最好使用系统采集回调的原始时间戳,如果不是,最好是生成该帧的UTC时间戳
reference_time_scale采集时间戳单位,毫秒10^3,微妙10^6,纳秒10^9,精度不能低于毫秒
Note
当时图像宽高和编码宽高的宽高比不一致时,默认裁剪

◆ OnIncomingCapturedData2()

virtual void AVE::VideoCaptureCallback::OnIncomingCapturedData2 ( unsigned char **  ptrs,
int *  lens,
const VideoCaptureFormat frame_format,
unsigned long long  reference_time,
unsigned int  reference_time_scale 
)
pure virtual

◆ OnIncomingD3DTexture()

virtual int AVE::VideoCaptureCallback::OnIncomingD3DTexture ( void *  videoTex,
unsigned int  rotate,
unsigned long long  reference_time,
unsigned int  reference_time_scale 
)
inlinevirtual

通知SDK采集到纹理数据,SDK会同步拷贝数据,切换到内部线程进行编码,如果缓冲队列不够,SDK会自动丢帧

Parameters
videoTex类型是ID3D11Texture2D, 仅仅支持d3d11 B8G8R8A8
rotate顺时针角度
reference_time采集到该帧的时间戳,用于音画同步,如果采集实现是摄像头,最好使用系统采集回调的原始时间戳,如果不是,最好是生成该帧的UTC时间戳
reference_time_scale采集时间戳单位,毫秒10^3,微妙10^6,纳秒10^9,精度不能低于毫秒
Note
当时图像宽高和编码宽高的宽高比不一致时,默认裁剪 返回 -1, 格式不支持

◆ OnTakeSnapshot()

virtual void AVE::VideoCaptureCallback::OnTakeSnapshot ( void *  image)
pure virtual

通知SDK截图成功

Parameters
image图像数据

◆ SetFillMode()

virtual void AVE::VideoCaptureCallback::SetFillMode ( int  mode)
pure virtual

当时图像宽高和编码宽高的宽高比不一致时使用的填充模式,默认裁剪

Parameters
mode填充模式,参考VideoFillMode

◆ SetROI()

virtual int AVE::VideoCaptureCallback::SetROI ( ROIRect rects,
int  count 
)
pure virtual

设置编码器感兴趣的区域,优化图像主观体验

Parameters
rects区域数组,设置NULL清空配置
count区域个数,最大支持6个,设置0清空配置

The documentation for this class was generated from the following file: