1、GB/T28181开发1之SPVMN(1.0.0.1)环境搭建

https://blog.csdn.net/hiwubihe/article/details/82910685

2、SPVMN 视频监控联网调测软件完整版

https://download.csdn.net/download/chming_love/9389401

3、gb28181设备端实现

1) libeXosip包里tools目录下的sip_reg.c实现了sip的注册(gb28181协议是复用sip协议的注册来接入的)

https://www.cnblogs.com/dong1/p/10258344.html

2) 感谢Kira Jackson同学2012年公开的gb28181的实现

https://files.cnblogs.com/files/dong1/GBT28181.rar

libeXosip自带的sip_reg.c只有注册流程,这个基本算是比较完善的实现了各种指令的处理,仅操作硬件的回调函数需要自行实现

/*回调函数*/
struct _csenn_eXosip_callback
{
/*获取设备信息*/
/*device_info:设备信息结构体指针*/
/*返回值:成功时返回0,失败时返回负值*/
int (*csenn_eXosip_getDeviceInfo)(struct _device_info *device_info);

/*获取设备状态*/
/*device_info:设备状态结构体指针*/
/*返回值:成功时返回0,失败时返回负值*/
int (*csenn_eXosip_getDeviceStatus)(struct _device_status *device_status);

/*获取录像文件的起始时间与结束时间*/
/*时间格式:xxxx-xx-xxTxx:xx:xx*/
/*period_start:录像时间段起始值*/
/*period_end:录像时间段结束值*/
/*start_time:当前返回录像文件的起始时间*/
/*end_time:当前返回录像文件的结束时间*/
/*返回值:成功时返回符合时间段条件的剩余录像文件数量,失败时返回负值*/
int (*csenn_eXosip_getRecordTime)(char *period_start, char *period_end, char *start_time, char *end_time);

/*设备控制:向左、向右、向上、向下、放大、缩小、停止遥控/开始手动录像、停止手动录像/布防、撤防/报警复位/设备远程启动*/
/*ctrl_cmd:设备控制命令,_device_control类型的枚举变量*/
/*返回值:成功时返回0,失败时返回负值*/
int (*csenn_eXosip_deviceControl)(enum _device_control ctrl_cmd);

/*媒体控制:实时点播/回放/下载*/
/*control_type:媒体控制类型,实时点播/Play,回放/Playback,下载/Download*/
/*media_ip:媒体服务器IP地址*/
/*media_port:媒体服务器IP端口*/
/*返回值:成功时返回0,失败时返回负值*/
int (*csenn_eXosip_mediaControl)(char *control_type, char *media_ip, char *media_port);

/*播放控制:播放/快放/慢放/暂停*/
/*control_type:播放控制,播放/快放/慢放/PLAY,暂停/PAUSE*/
/*play_speed:播放速度,1为播放,大于1为快放,小于1为慢放*/
/*pause_time:暂停时间,单位为秒*/
/*range_start:播放范围的起始值*/
/*range_end:播放范围的结束值*/
/*返回值:成功时返回0,失败时返回负值*/
int (*csenn_eXosip_playControl)(char *control_type, char *play_speed, char *pause_time, char *range_start, char *range_end);
}csenn_eXosip_callback;

3)  sip接入成功了,就可以实现音视频流的rtsp点播服务了

ps封装及rtp/udp发送

https://blog.csdn.net/yingyemin/article/details/82910366

4、gb28181服务端端实现

28181服务端就需要跟上面的设备端对应了

首先需要sip服务器,然后rtsp点播请求,这里的rtsp点播是个客户端程序,跟设备里的RTSP服务对应。

gb28181服务器端的PS数据流的解析(rtsp客户端接收设备数据)

https://blog.csdn.net/mo4776/article/category/8485703

也可以用开源的工具,live555和ffmpeg都已经支持了ps流的解析。

5、gb28181一些细节,有网友做了个扫盲专栏

https://blog.csdn.net/longlong530/column/info/gbt28181

6、具体协议分析,有网页抓包了,搬过来

http://www.cnblogs.com/dpf-10/p/8915723.html

gb28181的SPVMN测试环境搭建以及设备端和服务器的具体实现的更多相关文章

  1. Spvmn测试环境搭建及其安全性讨论

    一.说明 这几天都在做设备的协议分析,然后看到有个叫Spvmn的不懂要怎么操作才能触发其操作过程,问了测试部的同事说也没有测试文档,自己研究了一下这里做个记录. 按我现在理解,各厂商有自己的私有协议. ...

  2. 『与善仁』Appium基础 — 1、Android系统的测试环境搭建

    目录 1.Android操作系统简介 (1)Android系统诞生 (2)Android系统的结构 (3)Android测试环境搭建整体思路 2.Java环境安装 (1)JDK8下载 (2)安装JDK ...

  3. 『与善仁』Appium基础 — 14、Appium测试环境搭建

    目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...

  4. Linux测试环境搭建的学习建议

    随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux测试环境搭建的一些建议. 一.Linux测试环境搭建从基 ...

  5. 总结Selenium自动化测试方法(二)测试环境搭建

    (接上期内容) 二.测试环境搭建 1.安装python 现在python3.0比python2.0多了一些改进的功能(详见http://zhidao.baidu.com/link?url=3sT1g7 ...

  6. https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    一:什么是https SSL(Security   Socket   Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安 ...

  7. 【转】https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    正需要这个,写的很好,就转过来了 转自: http://www.cnblogs.com/naniannayue/ 一:什么是https SSL(Security   Socket   Layer)全称 ...

  8. openstack controller ha测试环境搭建记录(二)——配置corosync和pacemaker

    corosync.conf请备份再编辑:# vi /etc/corosync/corosync.conf totem {        version: 2 token: 10000        t ...

  9. 【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结

    Appium 1.6.3 在Xcode 8 (真机)测试环境搭建经验总结 关于 Appium 1.6.3 在Xcode 8, 1真机上环境搭建问题更多,写此文章,供大家参考,让大家少走弯路. 在开始i ...

随机推荐

  1. unity如何停止不用字符串方式开启协程的方法

    通常我们知道开启协程用StartCoroutine("Method"); 停止协程用StopCoroutine("Method"); 如果我们想要终止所有的协程 ...

  2. MathType公式编辑器快捷键操作

    快捷键操作是最常见的操作方式,MathType软件系统提供大量的快捷键操作供用户使用.使用MathType公式编辑器快捷键操作可节省大量的操作的时间,本教程将详解MathType快捷键操作. 放大或缩 ...

  3. JBPM4.4_jBPM4.4的流程定义语言(设计流程)

    1. jBPM4.4的流程定义语言(设计流程) 1.1. process(流程) 是.jpdl.xml的根元素,可以指定的属性有: 属性名 作用说明 name 流程定义的名称,用于显示. key 流程 ...

  4. Python 流程控制:while

    while 语法如下,当条件为假时循环才退出,否则会一直循环下去: while 条件: 执行语句 当条件为假时,才会执行else语句: while 条件: 执行语句 else: 执行语句

  5. (使用lua++)Lua脚本和C++交互(四)

    上一篇中,你已经可以在Lua里面用C++的函数了,那么咱们再增加一点难度,比如,我有一个CTest对象,要作为一个参数,传输给func_Add()执行,怎么办?很简单,如果你对上面的代码仔细阅读,你会 ...

  6. php学习六:字符串

    前言:越来越觉得php的强大之处了,不紧是数组,在字符串方面也可以看出它的优势,第一:方法多,集合了js,c,c#等多门语言的方法:第二:有许多方法是其他语言不具备的,如他的模糊比较,就是其他语言所没 ...

  7. 【Java nio】buffer

    package com.slp.nio; import org.junit.Test; import java.nio.ByteBuffer; /** * Created by sanglp on 2 ...

  8. Ubuntu 如何更改用户密码

    你需要为第一个帐户创建一个密码.这可以用 passwd 命令来完成. 系统会提示输入你的旧密码一次,输入你的新密码两次.用 root 用户更改用户 paul 的密码[root@bigboy root] ...

  9. 【BZOJ1854】[Scoi2010]游戏 二分图最大匹配

    [BZOJ1854][Scoi2010]游戏 Description lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当 ...

  10. ios 监听设备旋转方向

    -(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { if(fromI ...