• 大小: 14.58MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-15
  • 语言: 其他
  • 标签: 国标  GB28181  

资源简介

包括了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个文件信息

评论

共有 条评论