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

现在市面上的国标设备端SDK,基本上都是收费的,一个是这个东西比较小众,还有一个就是确实有一些研发成本,我们在做EasyGBS国标平台的时候,确实需要一个设备端的小工具做国标流程验证,于是,在前段时间,我就将我们之前开发的EasyGBD国标GB28181设备端的开放了,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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值