简体中文

AV帧信息通用定义

星空无限传媒xk8027-高清全集免费看

一、IO定义

以下为文件传输相关的IO Type及数据结构定义:

// 协议类型枚举 typedef enum{ TK_PROTOCOL_AVAPIs = 0, TK_PROTOCOL_RDTAPIs }TKProtocol; // 文件类型枚举 typedef enum{ TYPE_ALL = 0, TYPE_VIDEO, TYPE_AUDIO, TYPE_IMAGE }FILE_TYPE; // IO控制类型枚举 typedef enum{ IOCTRL_FILEMANAGER_FILE_LIST_REQ = 0x9021, IOCTRL_FILEMANAGER_FILE_LIST_RESP = 0x9022, IOCTRL_FILEMANAGER_FILE_DOWNLOAD_REQ = 0x9023, IOCTRL_FILEMANAGER_FILE_DOWNLOAD_RESP = 0x9024, IOCTRL_FILEMANAGER_FILE_DELETE_REQ = 0x9025, IOCTRL_FILEMANAGER_FILE_DELETE_RESP = 0x9026, IOCTRL_FILEMANAGER_FILE_UPLOAD_REQ = 0x9027, IOCTRL_FILEMANAGER_FILE_UPLOAD_RESP = 0x9028, }IOCTRL_TYPE; // 时间结构体 typedef struct{ unsigned short year; unsigned char month; unsigned char day; unsigned char wday; unsigned char hour; unsigned char minute; unsigned char second; }stDateTime; // 文件列表请求结构体 typedef struct{ unsigned int channel; stDateTime begin;//UTC时间 stDateTime end;//UTC时间 int fileType;//参考FILE_TYPE unsigned char reserved[4]; }stFileListReq; // 文件信息结构体 typedef struct{ char fileName[64]; }stFileInfo; // 扩展文件信息结构体 typedef struct{ unsigned int iotcChannelId; unsigned int fileIndex; char fileName[64]; unsigned int fileSize; //Byte }stFileInfoEx; // 通道信息结构体 typedef struct{ uint iotcChanelId; }stChannelInfo; // 文件列表响应结构体 typedef struct{ int total;//本次查询总共有多少个文件,如果数量较多,可以分多包发送 int index;//这是第几包 int count;//本包中包含多少文件名 int endflag;//0为非最后一包,1为最后一包 stFileInfo files[0]; }stFileListResp; // 文件操作请求结构体(下载/删除/上传) typedef struct{ int count; stFileInfo files[0]; }stFileDownloadReq,stFileDeleteReq,stFileUploadReq; // 文件下载/上传响应结构体 typedef struct{ int protocol; int count; // -1表示fail,否则为本次下载使用的通道数。 stChannelInfo channels[0]; }stFileDownloadResp,stFileUploadResp; // 文件删除响应结构体 typedef struct{ int result; }stFileDeleteResp;

二、AVAPIs 帧信息定义

AVAPIs 协议中,文件传输的数据包与包头分开发送,需单独填充包头信息(FRAMEINFO_FOR_UPLOAD_DOWNLOAD_t)和数据缓冲区。因为公版头文件《AVFRAMEINFO.h》已包含 FRAMEINFO_t.h 的定义:
typedef struct _FRAMEINFO { unsigned short codec_id; unsigned char flags; unsigned char cam_index; unsigned char onlineNum; unsigned char tags; unsigned char reserve1[2]; unsigned int reserve2; unsigned int timestamp; } FRAMEINFO_t;
为了不影响其他功能,我们建议重新定义结构体,而不是扩展原来的 FRAMEINFO_t:
typedef struct { char fileName[64];  // 文件名(含扩展名,与请求中的文件名一致) unsigned int fileSize;  // 文件总大小(单位:字节) unsigned int frmSize;  // 当前帧数据大小(单位:字节) char endFlag;  // 结束标志:1=最后一包,其余=非最后一包 char reserved[3];  // 预留字段,默认填充0 } FRAMEINFO_FOR_UPLOAD_DOWNLOAD_t;

即刻开启您的物联网之旅

联系解决方案专家
Kalay App
资讯安全白皮书
全球专利布局
解决方案
新闻动态
公司动态
行业资讯
媒体报道
永续发展
经营者的话
社会参与
环境永续
公司治理

+86 755 27702549

7×24小时服务热线

法律声明 隐私权条款

关注“TUTK”

TUTK服务尽在掌握

© 2022 星空无限传媒xk8027版权所有粤ICP备14023641号
在线咨询
扫一扫

TUTK服务尽在掌握

全国免费服务热线
+86 755 27702549

返回顶部