最近关注GB28181的朋友很多,昨天有位朋友问到GB28181出内网的问题,希望我花5分钟的时间

讲讲如何通过GB28181协议将内网的摄像机视频推送到公网。要说清楚这个问题,5分钟的时间应该不

够,还是写篇文章跟大家分享下。

说这个问题之前,我想先聊聊GB28181协议,首先我们需要了解的是GB28181是应用层协议,而

不是传输层协议。所谓应用层协议说简单点就是发送方跟接收方商议怎么协作:比如第一个信令由谁

发起,视频流的采用什么封装格式,什么时候开始推送视频,什么时候结束推送等等。GB28181协议

规定下级(也可以理解为客户端)首先向上级(服务端)注册,这一点让内网摄像机设备通过GB281

81协议主动推送视频到公网有了可能性。局域网的摄像机设备只有内网IP,公网下的服务无法主动找

到摄像机设备,然公网下的服务有公网IP,内网中的摄像机通过路由转换最终可以将注册信息发送给公

网下的服务(这一点rtsp协议是做不到的,rtsp协议规定首先得服务端向客户端发送命令,所以内网摄

像机设备通过rtsp协议主动推送视频到公网是行不通,通过在内网部署流媒体服务主动推送视频流到公

网可行,代价是增加一台服务器)。

客户端设备已经注册上来了,接下来服务端要做的事情是查询设备信息以及发起视频流请求命令。

客户端设备跟服务端在同一个局域网时,服务端发送的查询及请求命令的目的地址直接填写客户端设备

的IP及Port即可;客户端设备在内网服务端在公网时服务端发送命令的目的地址该填什么呢?直接填客

户端设备的内网IP及Port?显然不正确,身在公网的服务根本不知道客户端设备内网IP + Port家住何方,

哪一条路可以抵达。服务端要想将命令成功发送给客户端设备必须得找到合适的路径(路由路径)。

合适在路径在哪,摄像机设备注册到服务端会产生一条从内网设备到公网服务的路径,服务端沿着这

条路径下发命令即可将命令发送给内网客户端设备。服务端并不用关心这条路径的所有节点,只要将

目的地址的IP及Port设置为设备注册上来时公网测的IP及Port即可。

如需交流,可以加QQ群766718184,或者QQ:350197870

博主提供Ffmpeg、GB28181视频教程

播放地址: http://www.iqiyi.com/u/1426749687

源码及Demo下载地址:http://www.chungen90.com/index.php?m=text&a=index&classify_id=207
视频下载地址:      http://www.chungen90.com/index.php?m=text&a=index&classify_id=208

GB28181出内网的更多相关文章

  1. 内网劫持渗透新姿势:MITMf简要指南

    声明:本文具有一定攻击性,仅作为技术交流和安全教学之用,不要用在除了搭建环境之外的环境. 0×01 题记 又是一年十月一,想到小伙伴们都纷纷出门旅游,皆有美酒佳人相伴,想到这里,不禁潸然泪下.子曰:& ...

  2. 内网穿透神器(ngrok)服务端部署【分享一台自己的ngrok服务器】【多平台】

    Ngrok为何物 “ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放.”这是百度百科上给Ng ...

  3. 烂泥:openvpn tun模式下客户端与内网机器通信

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 前两篇文章我们介绍了有关openvpn的搭建与配置文件的讲解,这篇文章我们再聊介绍下,在tun模式下openvpn客户端如何与内网机器通信的问题. 一.实 ...

  4. <<< 如何查看自己是外网还是内网

    判断的方法很简单,就是看你的网络中有没有路由器,不管是有线路由还是无线路由,只要你的网络中用了路由,那你就是内网,用路由器的网络有一个特点,那就是只要路由器在开着,那你开了电脑之后就可以直接上网,不需 ...

  5. 内网公告牌获取天气信息解决方案(C# WebForm)

    需求:内网公告牌能够正确显示未来三天的天气信息 本文关键字:C#/WebForm/Web定时任务/Ajax跨域 规划: 1.天定时读取百度接口获取天气信息并存储至Txt文档: 2.示牌开启时请求Web ...

  6. 内网渗透测试思路-FREEBUF

    (在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一.通过常规web渗透,已经拿到webshell.那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接, ...

  7. 解决内网主机ping不通网关能ping内网

    有一台笔记本电脑可以自动获取IP,可以和内网其他主机互相PING通,就是PING 不通网关,只能上内网,不能上外网,IP换到其他主机上也可以上外网,说明路由器上没什么限制.路由器也查了,电脑也重装了, ...

  8. vIDC v2.0 强大的端口转发神器使用总结-开放内网tfs代码服务

    vIDC2.0 端口映射工具,最近在公司闲来无事,想自己整个tfs来管理自己的研究代码. 本来是想用微软Visual Studio提供的免费tfs,但是无奈速度太慢.他们的服务器在美国,中国也没有代理 ...

  9. 在centos下部署docker内网私服

    Docker内网私服:docker-registry with nginx & ssl on centos docker-registry既然也是软件应用,自然最简单的方法就是使用官方提供的已 ...

随机推荐

  1. python 拼图验证码

    基于python2.7 django 1.10 用谷歌浏览器验证测试没问题,写的很烂,纯属学习 项目地址 https://github.com/cainiaoit/-Jigsaw-verifying- ...

  2. linux知识点小结

    PATH环境变量,记录了所有可以直接执行的二进制命令的原件或者链接 harvey@ubuntu:/etc$ echo $PATH /usr/lib/lightdm/lightdm:/usr/local ...

  3. Ubuntu16.04搭建LAMP开发环境

    Ubuntu16.04搭建LAMP开发环境 虚拟机上安装好Ubuntu16.04后,是一台空白的Ubuntu.我的目的是搭建LAMP环境,顺便搭一个Python Django环境. 基本设置 1.配置 ...

  4. .NET APlayer播放器 demo

    工作需要,想开发一款播放器,当无意间浏览到APlayer的时候大爱啊,有木有迅速投入精力,在APlayer论坛看大牛们的作品及经验,看SDK中提供的chm电子书最后看了博客园中周见智的文章(灰常好!最 ...

  5. 给object数组进行排序(排序条件是每个元素对象的属性个数)

    从汤姆大叔的博客里看到了6个基础题目:本篇是第3题 - 给object数组进行排序(排序条件是每个元素对象的属性个数) 解题关键: 1.Array.sort的用法 2.object的属性数量的统计 解 ...

  6. J.U.C并发框架源码阅读(十六)FutureTask

    基于版本jdk1.7.0_80 java.util.concurrent.FutureTask 代码如下 /* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is su ...

  7. servlet多线程同步问题

    Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率.•由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的同步问题.•如 ...

  8. Python的程序结构[2] -> 类/Class[4] -> 内建类 super

    内建类 super / Built-in Type super 关于内建类 对于 super 可以从官方文档中看到基本介绍,super 接收一个类,以及类或类的实例,最终返回一个代理对象的实例.而 M ...

  9. 使用after伪类,配合IE的zoom或者overflow清除浮动

    用after伪类实现,兼容多种浏览器:.clearfix:after {content:"."; display:block; height:0; clear:both; visi ...

  10. UVA 11990 ”Dynamic“ Inversion(线段树+树状数组)

    [题目链接] UVA11990 [题目大意] 给出一个数列,每次删去一个数,求一个数删去之前整个数列的逆序对数. [题解] 一开始可以用树状数组统计出现的逆序对数量 对于每个删去的数,我们可以用线段树 ...