通过webrtc成功。

This commit is contained in:
2025-03-17 17:49:46 +08:00
parent 74a38cb67a
commit d54ffd6541
15 changed files with 532 additions and 14 deletions

View File

@ -0,0 +1,156 @@
#ifndef __SENSOR_SDK_API_H__
#define __SENSOR_SDK_API_H__
enum {
SENSOR_SDK_SUCC = 0,
SENSOR_SDK_INVALID_INPARAM, //参数非法
SENSOR_SDK_NOT_INIT, //未初始化
SENSOR_SDK_LICENSE_INIT_FAIL, //license 库初始化失败
SENSOR_SDK_NOT_AUTH, //未授权
SENSOR_SDK_MUTI_PROCESS_INIT, //多个實例初始化
SENSOR_SDK_AUTOLENS_GET_PARAM, //获取参数失败
SENSOR_SDK_AUTOLENS_SET_PARAM, //设置参数失败
SENSOR_SDK_AUTOLENS_SET_AF_PARAM,//设置AF参数失败
SENSOR_SDK_ERROR, //其他错误
}SENSOR_SDK_ERROR_TYPE;
//autolens
enum {
SensorSDK_AutoLens_Type_ZeroCheck=0x0, //零点矫正, 无参数
SensorSDK_AutoLens_Type_ZoomIn , // 参数 1-10为速度 -1 为停止 ,以下无特殊时同此
SensorSDK_AutoLens_Type_ZoomOut ,
SensorSDK_AutoLens_Type_FocusNear ,
SensorSDK_AutoLens_Type_FocusFar ,
SensorSDK_AutoLens_Type_FocusAuto , //自动聚焦
SensorSDK_AutoLens_Type_EnableAuto , // 设置是否启用自动聚焦
SensorSDK_AutoLens_Type_ZoomFocus , // 精确定位到指定的位置,
SensorSDK_AutoLens_Type_ZoomPos , // int 精确定位
SensorSDK_AutoLens_Type_ZoomRange , // int 定位范围
SensorSDK_AutoLens_Type_FocusPos , // int 精确定位
SensorSDK_AutoLens_Type_FocusRange , // int 获取 取值范围,精确定位时用
SensorSDK_AutoLens_Type_ZoomRate , // int 300 代表3.00倍
SensorSDK_AutoLens_Type_IRCUT , // 0 全波段, 1 可见光模式, 2 红外模式
//new
SensorSDK_AutoLens_Type_Iris_OPEN, // 光圈大 //需要带步长参数1-64 光圈范围固定0-0X3FF
SensorSDK_AutoLens_Type_Iris_CLOSE, // 光圈小 //需要带步长参数1-64
SensorSDK_AutoLens_Type_IrisPos, // 获取光圈位置
SensorSDK_AutoLens_Type_Fov, //获取对角线视场角精确到0.01度 60度 6000(表示60度)
SensorSDK_AutoLens_Type_Auto_Check, //设置镜头曲线校准
SensorSDK_AutoLens_Type_AF_Status, //获取 AF状态
SensorSDK_AutoLens_Type_ZoomPos_By_Fov, //获取 输入FOV输出ZOOMPOS 调用get接口
SensorSDK_AutoLens_Type_Fov_By_ZoomPos, //获取 输入ZOOMPOS的值输出FOV 调用get接口
SensorSDK_AutoLens_Type_Efi, //获取焦距
SensorSDK_AutoLens_Type_Lens_Offset, //获取镜头中心点偏移量输出水平偏移量和垂直偏移量(**保留暂不使用**)
SensorSDK_AutoLens_Type_Check_Offset, //设置镜头中心偏移量校准
SensorSDK_AutoLens_Type_IRCUTLensAuto=0x100, //设置 0 :夜晚1:白天
SensorSDK_AutoLens_Type_Motor_Hysteresis=0x101, //马达间隙(1-100)步(**保留暂不使用**)
}SENSORSDK_AUTOLENS_TYPE_E;
typedef struct
{
int nStop; // 1- 停止
int nSpeed; // 速度 1-10 nStop==0时有效
}SensorSDK_AutoLens_Param_Base_T;
typedef struct
{
union
{
SensorSDK_AutoLens_Param_Base_T Param_Base;
int nZoomRate; // 300 代表 3.00倍
int nIrCut; // 0-全波段,1-可见光2红外模式
int nZoomPos; // 定位, 先获取范围,再定位,定位必须是有效范围内
int nZoomRange; // 范围
int nFocusPos; // 定位
int nFocusRange; // 聚焦定位取值范围
int nEnableAuto; // 使能 自动 聚焦功能
int nZoomFocusPos[2]; // nZoomFocusPos[0]:focuspos,nZoomFocusPos[1]:zoompos
int nIrStep; // 光圈步长1-64
int nIrPos; // 定位
int nFOV; // 对角线视场角[ 1, 6000]表示 0.01度到60度
int nEFI; // 焦距
int nAFStatus; // 自动镜头状态
int nFOVZoomPos; // nFOVZoomPos 输入输出
int nIRCUTLensAuto; // 0-夜晚 1-白天
int ress[4];
}Params;
}SENSOR_SDK_AUTOLENS_PARAM_T;
enum SENSOR_SDK_AF_STATUS_E
{
SENSOR_SDK_AF_STATUS_IDLE = 0x1,
SENSOR_SDK_AF_STATUS_DO_ZOOM,
SENSOR_SDK_AF_STATUS_DO_FOCUS,
SENSOR_SDK_AF_STATUS_DO_AUTO_FOCUS,
SENSOR_SDK_AF_STATUS_ZOOM_ING,
SENSOR_SDK_AF_STATUS_FOCUS_ING,
SENSOR_SDK_AF_STATUS_AUTO_FOCUS_ING,
SENSOR_SDK_AF_STATUS_DETECT,
SENSOR_SDK_AF_STATUS_TEST,
};
typedef struct _SensorSDK_CameraLens
{
int AFControlModel; //对焦控制方式 0----自动 1----半自动 2----手动
int AFArea; //对焦区域选择 (保留)0----全区域对焦 1----中心对焦
int AFSearchModel; //对焦区搜索方式 0 --- 全景, 1 --- 1.5m, 2 --- 3m, 3 --- 6m, 4 --- 无穷远
int AFSensitivity; //对焦灵敏度 0 ~255
int DigitZoomEnable; //数字ZOOM允许
int IrisControl; //光圈调节0 自动 1手动
} SensorSDK_CameraLens;
#ifdef __cplusplus
extern "C" {
#endif
// SDK 初始化接口
// nFlashPartIdx : 软件授权信息存放的分区索引号,注意分区需要自己提前创建好
// 例如分区为/dev/mmcblk0p5,此处参数取值为5
// 分区为/dev/mtd6,此处参数取值为6
// BoardLine 板接口定义000第一位代表zoomfocus顺序后面两个代表两个电机方向;每位取值为 0或者1
// szLensType 镜头型号,可取值如下
/*
"MUXIA_5X",
"RICOM_AF3610_4K","YS_15_3_XM02","RICOM_3312_4K","RICOM_27135_6MP", "RICOM_2812_5MP","RICOM_2812_2MP",
"YT_6022_3MP","YT_3610_3MP","YT_3611_4K","YT_27135_HD","YT_27135_4MP","YT_2712_HD","YT_2812_4MP","YT_2812_2MP","RICOM_2812_3MP",
"YT_550_2MP","RICOM_5M_50MM_1_27F","YT6022","YT3013","YT2712","YT3610","3.6-10mm","YT2812","YT3015","RICON2814","RICON2812","YT2808",
"2.8-8mm","RICOM_4K_AF2710DC","RICOM_4K_33_120MM_14F","RICOM_3M_28_120MM_14F","RICOM_5M_38_100MM","RICOM_2M_22_120MM_14F","RICOM_3M_28_80MM"
*/
// szAutoLensParmPath: 保存当前变焦状态用的路径,路径必须可写
// pCameralens: 自动聚焦镜头参数
//return 错误码见 SENSOR_SDK_ERROR_TYPE
//初始化接口
int SensorSdk_Init(int nFlashPartIdx,char *szBoardLine,char *szLensType ,
char *szAutoLensParmPath /* 保存当前变焦状态用的路径 */, SensorSDK_CameraLens *pCameralens = 0);
//获取授权状态 SENSOR_SDK_SUCC-授权成功
int SensorSdk_GetAuthStatus();
// 镜头变焦变倍 接口
// 设置 动作
// nType : 见 SensorSDK_AutoLens_Type_XXX 宏定义
// nParam : SENSOR_SDK_AUTOLENS_PARAM_T
int SensorSdk_AutoLens_SetParam(int nDev,int nType,SENSOR_SDK_AUTOLENS_PARAM_T *pParam);
// 获取当前 信息
int SensorSdk_AutoLens_GetParam(int nDev,int nType,SENSOR_SDK_AUTOLENS_PARAM_T *pParam);
//設置自动聚焦镜头参数
int SensorSdk_AutoLens_SetAFParam(SensorSDK_CameraLens *pCameralens);
#ifdef __cplusplus
}
#endif
#endif