资源简介
包括了GB28181的服务端源码,稍做修改,可用于商用,有SPI和RTP包封包等功能,支持2011版本。2016稍做修改,即可支持
代码片段和文件信息
#include “GB28181Sdk.h“
#include
#include
#include “LogDef.h“
#ifdef _MSC_VER
#define strcasecmp _stricmp
#define strncasecmp _strnicmp
#endif
void ShowUsage()
{
printf(“Command Usage:\n“);
printf(“\thelp\n“);
printf(“\tadddevice [DevID] [Password]\n“);
printf(“\tshowdevice\n“);
printf(“\tshowcall\n“);
printf(“\tplay [DevID] [SubID]\n“);
printf(“\tstopplay [PlayHandle]\n“);
printf(“\texit\n“);
}
#include
typedef struct Device
{
char szDeviceID[21];
std::list lstSubDevices;
}Device;
std::list lstDevice;
std::list lstCall;
void GB28181_MsgCallbackFunc(int iMsgType void * pData void * pUserData)
{
printf(“GB28181_MsgCallbackFunc type == %d \n“ iMsgType);
switch (iMsgType)
{
case GB28181SDK_MSG_TYPE_REGISTER_SUCCEED:
{
Device tDev;
RegisterInfo * pRegisterInfo = (RegisterInfo *)pData;
memset(&tDev.szDeviceID 0 sizeof(tDev.szDeviceID));
strncpy(tDev.szDeviceID pRegisterInfo->szDeviceID sizeof(tDev.szDeviceID) - 1);
lstDevice.push_back(tDev);
}
break;
case GB28181SDK_MSG_TYPE_GET_CATALOG:
{
Catalog * pCatalog = (Catalog*)pData;
std::list::iterator it = lstDevice.begin();
for (; it != lstDevice.end(); it++)
{
if (strcmp(pCatalog->szDeviceID (*it).szDeviceID) == 0)
{
break;
}
}
for (int i = 0; i < pCatalog->iItemNum; i++)
{
Device tDev;
bool bID;
bID = false;
memset(&tDev.szDeviceID 0 sizeof(tDev.szDeviceID));
strncpy(tDev.szDeviceID pCatalog->tCatalogItems[i].szDeviceID sizeof(tDev.szDeviceID) - 1);
std::list::iterator it1=(*it).lstSubDevices.begin();
for (; it1 != (*it).lstSubDevices.end(); it1++)
{
if (strcmp(tDev.szDeviceID (*it1).szDeviceID) == 0)
{
bID = true;
break;
}
}
if(!bID)
{
(*it).lstSubDevices.push_back(tDev);
}
}
}
break;
case GB28181SDK_MSG_TYPE_GET_DEVICEINFO:
{
}
break;
case GB28181SDK_MSG_TYPE_GET_DEVICESTATUS:
{
}
break;
case GB28181SDK_MSG_TYPE_PLAY_SUCCEED:
{
PlaySucceedParam * pPlaySucceedParam = (PlaySucceedParam*)pData;
}
break;
default:
break;
}
}
void GB28181_VideoStreamCallbackFunc(int iHandle int iStreamCode char *streamIP int isKeyframe int64_t pts char * pframeData int iframeLength void * pUserData)
{
//printf(“GB28181_VideoStreamCallbackFunc Length=%d\n“ iframeLength);
//if(!isKeyframe)
do{
int keyframe = -1;
unsigned char type=0;
if (!pframeData[0] && !pframeData[1])
{
if (0x1 == pframeData[2])
{
type = pframeData[3];
}
else if (!pframeData[2] && 0x1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 72960 2017-10-19 17:24 gb28181sdk\Demo\audio_1.g711
文件 1611818 2020-07-28 15:01 gb28181sdk\Demo\Demo
文件 4929 2017-10-19 17:02 gb28181sdk\Demo\Demo.vcxproj
文件 945 2017-10-19 17:02 gb28181sdk\Demo\Demo.vcxproj.filters
文件 165 2017-10-19 17:02 gb28181sdk\Demo\Demo.vcxproj.user
文件 7835 2020-07-28 15:01 gb28181sdk\Demo\main.cpp
文件 53160 2020-07-28 15:01 gb28181sdk\Demo\main.o
文件 2451 2017-10-23 14:34 gb28181sdk\Demo\Makefile
文件 14075961 2020-07-28 15:03 gb28181sdk\Demo\video_1.h264
文件 2581 2017-09-27 13:43 gb28181sdk\GB28181Sdk\CheckHeartBeatThread.cpp
文件 984 2017-09-27 13:43 gb28181sdk\GB28181Sdk\CheckHeartBeatThread.h
文件 299 2017-09-27 13:43 gb28181sdk\GB28181Sdk\DEMUX\AUDEC_CodecID.h
文件 524 2017-10-23 14:22 gb28181sdk\GB28181Sdk\DEMUX\demux.h
文件 20433 2017-10-23 16:26 gb28181sdk\GB28181Sdk\DEMUX\demux_ps.cpp
文件 6658 2017-10-23 16:24 gb28181sdk\GB28181Sdk\DEMUX\demux_ps.h
文件 1907 2017-09-27 13:43 gb28181sdk\GB28181Sdk\DEMUX\mpeg.h
文件 182 2017-09-27 13:43 gb28181sdk\GB28181Sdk\DEMUX\VIDEC_CodecDef.h
文件 8596 2017-10-30 13:43 gb28181sdk\GB28181Sdk\digcalc.cpp
文件 1667 2017-09-27 13:43 gb28181sdk\GB28181Sdk\digcalc.h
文件 163 2017-10-19 16:42 gb28181sdk\GB28181Sdk\DLibrary\DAutoLock.cpp
文件 164 2017-10-19 16:42 gb28181sdk\GB28181Sdk\DLibrary\DAutoLock.h
文件 78 2017-10-19 16:42 gb28181sdk\GB28181Sdk\DLibrary\DEvent.cpp
文件 79 2017-10-19 16:42 gb28181sdk\GB28181Sdk\DLibrary\DEvent.h
文件 248 2017-10-19 16:42 gb28181sdk\GB28181Sdk\DLibrary\DExport.cpp
文件 390 2017-10-19 16:42 gb28181sdk\GB28181Sdk\DLibrary\DExport.h
文件 860 2017-10-19 16:42 gb28181sdk\GB28181Sdk\DLibrary\DMutex.cpp
文件 368 2017-10-19 16:42 gb28181sdk\GB28181Sdk\DLibrary\DMutex.h
文件 1066 2017-10-19 16:42 gb28181sdk\GB28181Sdk\DLibrary\DThread.cpp
文件 571 2017-10-19 16:42 gb28181sdk\GB28181Sdk\DLibrary\DThread.h
文件 3531 2017-10-19 16:42 gb28181sdk\GB28181Sdk\DLibrary\DThreadPool.cpp
............此处省略146个文件信息
相关资源
- GB28181测试工具
- cadworx国标库
- [免费]GB28181信令交互代码.rar
- 项管-国家标准汇总
- 信息安全等级保护测评国家标准1.0
- 国标GB28181SDK(第二版
- 国标-GB 9706.1~GB 9706.10-医用电气设备
- Creo4.0国标零件库包
- GB28181-2016 IPC模拟设备 + 自动化测试工
- GB28181模拟设备和自动化测试工具
- ISO26262国标 (中文版)
- IEC 61000对应国标合集
- GB28181协议文档
- ISO26262中文版 GB(全).zip
- GB28181的小demo
- 国标28181转rtsp/rtmp/webrtc/hls/flv
- GB_T 17626 电磁兼容 最新国家标准截止
- 部署文档_demo版本_v2.9.5.20200827_limit_
- GA 1151-2014火灾报警系统无线通信功能
- 国家标准的软件需求分析等文档doc汇
- 国标软件设计文档操作手册GB8567——
- 国家标准-软件.rar
- GB7714-87国标文献格式NoteExpress
- GA240.24标准
- solidworks工程图国标图纸格式
- EndNote国标格式
- Endnote GB7714
- CadWorx2015国标库-自己摸索出来的
- Chinese Std GBT7714 (numeric) Copy.ens
- 自己整理的国标SM3哈希算法
评论
共有 条评论