国标GB28181设备端SDK,支持将本地文件、网络流、实时流模拟接入国标GB28181视频平台

现在市面上的国标设备端SDK,基本上都是收费的,一个是这个东西比较小众,还有一个就是确实有一些研发成本,于是,在前段时间,我就将我们之前一直对外收费的EasyGBD国标GB28181设备端的SDK免费了,SDK地址在:https://github.com/EasyDarwin/EasyGBD/tree/main

简单看一下EasyGBD的接口:

//创建GB28181设备端资源
/*
pDeviceInfo:		设备端信息, 为NULL则从当前目录中读取config.xml
callbackPtr:		回调函数
userPtr:			用户自定义指针,用于在回调函数中回调给调用者
*/
int GB28181DEVICE_API	libGB28181Device_Create(GB28181_DEVICE_INFO_T *pDeviceInfo, GB28181DeviceCALLBACK callbackPtr, void *userPtr);

int GB28181DEVICE_API	libGB28181Device_Create2(char* serverIP, int serverPort, char* serverId, char* serverDomain,
													char* deviceId, int localSipPort, int channelNum,
													GB28181_CHANNEL_INFO_T*pChannel,
													char* password, int protocol,
													int regExpires, int heartbeatInterval, int heartbeatCount,
													GB28181DeviceCALLBACK callbackPtr, void* userPtr);

//指定视频格式
/*
codec:
		#define EASY_SDK_VIDEO_CODEC_H264	0x1C		//H264
		#define EASY_SDK_VIDEO_CODEC_H265	0xAE		//H265
width:	可选
height:	可选
framerate: 可选
*/
int GB28181DEVICE_API	libGB28181Device_SetVideoFormat(int channelId, unsigned int codec, int width, int height, int framerate);

//指定音频格式
/*
audioDstCodec:
		#define EASY_SDK_AUDIO_CODEC_AAC	0x15002		// AAC
		#define EASY_SDK_AUDIO_CODEC_G711U	0x10006		// G711 ulaw
		#define EASY_SDK_AUDIO_CODEC_G711A	0x10007		// G711 alaw
samplerate:		采样率
channels:		声道数
bitPerSample:	采样精度
*/
int GB28181DEVICE_API	libGB28181Device_SetAudioFormat(int channelId, unsigned int audioDstCodec, int samplerate, int channels, int bitPerSamples);

//设置通道实时经纬度信息
int GB28181DEVICE_API	libGB28181Device_SetLotLat(int channelId, double longitude, double latitude);

//推送视频数据
/*
framedata:	视频帧数据
framesize:	视频帧大小
keyframe:	关键帧填1, 否则填0
*/
int GB28181DEVICE_API	libGB28181Device_AddVideoData(int channelId, char* framedata, int framesize, int keyframe);

//推送音频数据
/*
audioSrcCodec:	当前音频源格式
		#define EASY_SDK_AUDIO_CODEC_G711U	0x10006		// G711 ulaw
		#define EASY_SDK_AUDIO_CODEC_G711A	0x10007		// G711 alaw
		#define EASY_SDK_AUDIO_CODEC_PCM	0x00007		// PCM

		如果audioSrcCodec和libGB28181Device_SetAudioFormat中指定的audioDstCodec不一致时, 则会自动进行转换, 
		但仅限于从PCM转为G711,即此处的audioSrcCodec为PCM, 而audioDstCodec为G711
framedata:	音频帧数据
framesize:  音频帧大小
nbsamples:	同音频帧大小
*/
int GB28181DEVICE_API	libGB28181Device_AddAudioData(int channelId, unsigned int audioSrcCodec, char* framedata, int framesize, int nbsamples);


//释放资源
int GB28181DEVICE_API	libGB28181Device_Release();

EasyGBD国标设备端

EasyGBD是一套国标GB/T 28181设备端功能组件,EasyGBD是GB/T 28181 Device的简称,是国标GB28181协议的设备端,EasyGBD支持Windows、Linux、Android、iOS、ARM全部平台,EasyGBD兼容国标GB28181-2011、GB28181-2016、GB28181-2022全部功能。

详细更多的信息,也可以进EasyDarwin网站观望:www.easydarwin.org

猜你喜欢

转载自blog.csdn.net/xiejiashu/article/details/142288135