文章目录

  • 前言
  • 一、onvif搜索
  • 二、sip注册等一系列功能
  • 三、效果展示
  • 总结

前言

现在市面上很多ipc已经支持gb28181,当然,也有极个别的不支持。针对那些已经安装部署的老式摄像机,不支持28181协议又想接入国标平台,怎么办?

这个时候,我们可以采取rtsp或者onvif等非标协议转换为国标协议,从而可以轻松的实现与28181平台的无缝对接。

一、onvif搜索

这里将onvif封装成了跨平台库,便于其他模块调用。目前对外只提供简单的功能,例如onvif初始化、onvif添加设备、获取onvif设备的rtsp地址、云台控制(预置位)以及告警上报回调接口,当然还有其他接口,可以需要的时候,一一对外提供。
具体代码如下:

#ifndef ONVIFCLIENT_API_H
#define ONVIFCLIENT_API_H

#ifdef WIN32
#define WIN32_OS 1
#define VXWORKS_OS 0
#define LINUX_OS 0
#else
#define WIN32_OS 0
#define VXWORKS_OS 0
#define LINUX_OS 1
#endif

#ifdef WIN32
#ifdef ONVIFCLIENT_EXPORTS
#define ONVIFCLIENT_API __declspec(dllexport)
#else
#define ONVIFCLIENT_API __declspec(dllimport)
#endif

#ifdef ONVIFCLIENT_STATIC
#undef ONVIFCLIENT_API
#define ONVIFCLIENT_API
#endif
#else
#define ONVIFCLIENT_API
#endif

typedef void(*event_callback)(void * pdata);

#ifdef __cplusplus
extern “C” {
#endif

ONVIFCLIENT_API bool InitOnvifClient();
ONVIFCLIENT_API void* AddDevice(const char* ip, int nPort, const char* user_name, const char* password);
ONVIFCLIENT_API bool GetStreamUri(char *rtspUri, void *arg);
ONVIFCLIENT_API bool ControlPtz(void *arg, int ptz_cmd, int p1, char *name="");
ONVIFCLIENT_API bool setEventCallback(event_callback callback);

#ifdef __cplusplus
}
#endif

#endif

二、sip注册等一系列功能

这里只列举28181注册部分代码

代码如下:

SIP_MSG * sip_build_register_normal_msg(SIP_USER * p_user, uint32 srv_ip, uint16 srv_port)
{
SIP_MSG * send_msg = get_msg_buf();
if (send_msg == NULL)
{
return NULL;
}

send_msg ->msg_type = 0;
send_msg ->msg_sub_type = SIP_MT_REG;
send_msg ->msg_crpty_mode = p_user->user_crpty_mode;
send_msg ->local_port = p_user->sip_port;sip_add_send_msg_fline(send_msg , "REGISTER", "%s SIP/2.0", p_user->server_sip_addr);sprintf(p_user->auth_via.branch, "z9hG4bK%x", sys_os_get_uptime());if (p_user->usrf_tcp_sip == 1)
{sip_add_send_msg_via(send_msg , "SIP/2.0/TCP %s:%u;branch=%s", p_user->user_ip, p_user->user_port, p_user->auth_via.branch);
}
else
{sip_add_send_msg_via(send_msg , "SIP/2.0/UDP %s:%u;branch=%s", p_user->user_ip, p_user->user_port, p_user->auth_via.branch);
}
sip_reg_build_from(send_msg ,p_user);
sip_reg_build_to(send_msg ,p_user);
sip_reg_build_contact(send_msg ,p_user);if (p_user->auth_call_id[0] == '\0')
{sprintf(p_user->auth_call_id, "%08X%08X@%s", rand(), rand(), p_user->user_ip);
}sip_add_send_msg_line(send_msg , "Call-ID", "%s", p_user->auth_call_id);p_user->auth_cseq++;
if (p_user->auth_cseq == 0)
{p_user->auth_cseq = 1;
}sip_add_send_msg_line(send_msg , "CSeq", "%d REGISTER", p_user->auth_cseq);
sip_add_send_msg_line(send_msg , "Max-Forwards", "70");
sip_add_send_msg_line(send_msg , "Expires", "%u", p_user->expires_time);
sip_add_send_msg_line(send_msg , "User-Agent", "%s", p_user->user_agent_desc);
sip_add_send_msg_line(send_msg , "Content-Length", "0");send_msg ->remote_ip = srv_ip;
send_msg ->remote_port = srv_port;p_user->last_reg_time = get_uptime();return send_msg ;

}

三、效果展示

1、rtsp网络取流:海康平台的udp,tcp流展示效果,如下图,通过onvif协议,将设备接到28181协议转换网关,再由网关向海康平台注册

2:本地文件取流:
通过本地的MP4文件取流的方式,再由28181协议转换网关将流推送给海康平台,效果如下图显示


总结

上诉就是非标转国标28181网关的简单介绍,后续上传网关demo给各位小伙伴

onvif/rtsp转gb28181协议,无缝对接国标平台相关推荐

  1. 国标GB28181(EasyGBS)/RTSP/HIKSDK/EHOME协议视频智能分析平台EasyCVR人脸识别智能分析功能拓展

    计算机视觉技术作为人工智能(AI)技术发展的重要应用之一已经在我们的日常生活中屡见不鲜,AI人脸识别智能分析是基于人的脸部特征信息进行身份识别的一种生物识别技术,通常采用摄像机或摄像头采集含有人脸的图 ...

  2. LiveNVR监控流媒体Onvif/RTSP功能功能-支持GB35114接入国标流媒体平台接入说明

    LiveNVR监控流媒体Onvif/RTSP功能功能-支持GB35114接入国标流媒体平台接入说明 1.GB35114注册 2.LiveNVR通过GB35114接入LiveGBS 2.1.开启Live ...

  3. RTSP/RTMP/GB28181协议/海康SDK/Ehome协议接入TSINGSEE青犀视频平台磁盘空间计算介绍

    通常情况下,RTSP/RTMP/GB28181协议/海康SDK/Ehome协议接入TSINGSEE青犀视频平台录制的视频流都是存储在磁盘当中,我们之前讲过磁盘空间是否满足剩余的要求的方法,具体实现方式 ...

  4. 【解决方案】RTSP/RTMP/GB28181协议EasyCVR安防视频云服务智慧工地解决方案

    一.方案背景 1)智慧工地已经成为行业发展趋势 智慧工地解决方案兼顾施工方与监管单位的双向诉求,通过智能决策.信息共享.智能生产.安全监控.互联协同的信息化管理平台,实现对工程项目的信息化.智能化和可 ...

  5. 【解决方案】国标GB28181协议视频智能分析平台打造智慧企业AR云景解决方案

    在现今科技发展之下,如果说有什么能再次掀起产业更替大潮,第一时间我们想到的可能是VR/AR,VR/AR最有可能率先实现应用的九大领域:视频游戏.事件直播.视频娱乐.医疗保健.房地产.零售.教育.工程和 ...

  6. 【解决方案】基于国标GB28181协议视频智能分析平台EasyCVR/EasyGBS打造的智慧企业AR云景解决方案

    在现今科技发展之下,如果说有什么能再次掀起产业更替大潮,第一时间我们想到的可能是VR/AR,VR/AR最有可能率先实现应用的九大领域:视频游戏.事件直播.视频娱乐.医疗保健.房地产.零售.教育.工程和 ...

  7. 国标GB28181协议视频智能分析平台EasyCVR,构建智慧企业AR云景解决方案

    在现今科技发展之下,如果说有什么能再次掀起产业更替大潮,第一时间我们想到的可能是VR/AR,VR/AR最有可能率先实现应用的九大领域:视频游戏.事件直播.视频娱乐.医疗保健.房地产.零售.教育.工程和 ...

  8. 海康网络摄像机通过国标GB28181协议注册到视频平台EasyGBS后,如何在摄像机中关闭声音?

    随着智慧城市的建设,安防摄像头在线下场景中的运用越来越广,而GB28181国标协议作为公共安全视频监控联网系统的国家标准,在平安城市.交通.道路等监控中广泛采用.大家可以这样理解:若想做统一的大监控平 ...

  9. RTSP/RTMP/GB28181协议视频监控平台搭建之国网B接口协议介绍

    我们知道TSINGSEE青犀视频全线产品对应了不同的视频协议,比如EasyNVR就是支持RTSP协议的视频平台,EasyDSS是支持RTMP协议的视频平台,EasyGBS是支持GB28181协议的视频 ...

最新文章

  1. SAP咨询顾问被客户投诉的几个原因
  2. SpringMVC 框架系列之初识与入门实例
  3. 关于按值传递和按引用传递(送给这个方面的新手——包括我自己)
  4. 【Ubuntu】Windows硬盘安装Ubuntu14.04
  5. 20172313 2017-2018-2 《程序设计与数据结构》第十周学习总结
  6. SAP Spartacus Org Unit明细页面的工具栏按钮设计
  7. Java静态类使用 使用 service
  8. JS手动实现一个new操作符
  9. java treemap value排序_【TreeMap】对Map按key和value分别排序
  10. java第五章课后题_黑猴子的家:Java SE 练习题第五章
  11. 质数的无穷性——从素数到数论
  12. 奥本海姆信号与系统第2版笔记和课后答案
  13. RM3100 stm32 hal库 spi 磁力计数据
  14. PTA 乙级 1002 写出这个数 (20 分) C++
  15. Windows查看Java内存使用情况
  16. 【计算机组成原理】学了计组,CPU执行时间你肯定会算了吧
  17. 【hadoop生态之ZooKeeper】第三章ZooKeeper内部管理【笔记+代码】
  18. 第一篇--读刘同的《别做那只迷途的候鸟》
  19. 计算机电源接口在哪,电脑电源接口定义图解
  20. elementUI实现table表头展示上、下角标

热门文章

  1. netstat -i FLG含义
  2. Git - 安装与配置
  3. axios发送x-www-form-urlencoded格式数据
  4. 国产操作系统统信UOS的简单故障维护,系统崩溃小妙招
  5. Chat Bot(聊天机器人)自动化测试脚本来解决人工测试的问题
  6. 量化投资之工具篇一:Backtrader从入门到精通(8)-交易系统代码详解
  7. AKSHARE 上获取股票数据用于盘后分析以及自己的交易模型的测试。
  8. VS2017+MFC+sqlite数据库操作
  9. 南怀瑾:如何静坐(附视频)
  10. NavCat15安装教程