相机码流

2024-04-07
暂无评分

目录

宏定义、枚举与结构体

typedef enum CameraSource

负载相机的码流源

enum CameraSource {
/*! 广角镜头 */
kCameraSourceWide = 1,

/*! 变焦镜头 */
kCameraSourceZoom = 2,

/*! 红外镜头 */
kCameraSourceIR = 3,
};

typedef enum CameraType

码流相机的类型

enum CameraType {
/*! FPV 相机 */
kCameraTypeFpv = 0,

/*! 负载相机 */
kCameraTypePayload = 1,
};

typedef enum StreamQuality

码流的质量

enum StreamQuality {
/*! 码流质量540p: 30fps, 960*540, bps 512*1024 */
kStreamQuality540p = 1,

/*! 码流质量720p: 30fps, 1280*720, bps 1024*1024 */
kStreamQuality720p = 2,

/*! 码流质量720pHigh: 30fps, 1280*720, bps 1024*1024 + 512*1024 */
kStreamQuality720pHigh = 3,

/*! 码流质量1080p: 30fps, 1920*1080, bps 3*1024*1024 */
kStreamQuality1080p = 4,

/*! 码流质量1080pHigh: 30fps, 1920*1080, bps 8*1024*1024 */
kStreamQuality1080pHigh = 5,
};

typedef struct Options

初始化直播码流参数

struct Options {
/*! 订阅码流的相机类型 */
CameraType camera;

/*! 订阅码流的质量,注意:实际订阅到的码流质量并不一定相符,机场会根据当前实际情况返回最接近码流的码流质量 */
StreamQuality quality;

/*! 接收码流的处理函数 */
H264Callback callback;
};

函数

function H264Callback

功能:liveview camera h264 stream callback适用产品:全部
using H264Callback = std::function<ErrorCode(const uint8_t* buf, uint32_t len)>;
参数
len:接收的h264码流数据长度
buf:接收的h264码流数据

function LiveviewStatus

直播码流状态,每一个位代表不同码流质量的有效状态,bit0:表示自适应码流是否有效,bit1:表示540p码流是否有效,bit2:表示720p码流是否有效,bit3:表示720pHigh码流是否有效,bit4:表示1080p码流是否有效,bit5:表示1080pHigh 码流是否有效适用产品:全部
using LiveviewStatus = uint32_t;

function LiveviewStatusCallback

功能:码流状态处理函数原型适用产品:全部
using LiveviewStatusCallback = std::function<void(const LiveviewStatus& status)>;
参数
status:码流的状态

function Init

功能:初始化直播码流订阅,注意:对于某个相机,只能初始化一次适用产品:全部
virtual ErrorCode Init(const Options& option) = 0;
参数
option:初始化码流配置
返回值
执行结果

function DeInit

功能:解初始化码流订阅适用产品:全部
virtual ErrorCode DeInit() = 0;
返回值
执行结果

function SetCameraSource

功能:设置相机码流源适用产品:全部
virtual ErrorCode SetCameraSource(CameraSource source) = 0;
返回值
执行结果

function SubscribeLiveviewStatus

功能:订阅直播码流状态适用产品:全部
virtual ErrorCode SubscribeLiveviewStatus(
const LiveviewStatusCallback& callback) = 0;
参数
callback:处理码流回调函数
返回值
执行结果

function StartH264Stream

功能:开始直播码流适用产品:全部
virtual ErrorCode StartH264Stream() = 0;
返回值
执行结果

function StopH264Stream

功能:停止直播码流适用产品:全部
virtual ErrorCode StopH264Stream() = 0;
返回值
执行结果

function CreateLiveview

功能:获取直播模块实例适用产品:全部
std::shared_ptr<Liveview> CreateLiveview();
返回值
执行结果