SRS是一款开源流媒体,适宜直播以及低延时流媒体畛域,然而从来不设限,能够利用在直播、视频会议、在线教育等场景。同时视频畛域还有两大块、广电和视频监控,随着互联网的迅速倒退,视频监控设施上云的需要越来越多,以前还能够私有化局域网外面搞一搞,然而随着挪动互联网的倒退,视频监控有大量的挪动端直播需要,让人随时随地能看解决监控报警事件、查看回放视频是刚需。同时这几年红黄蓝幼儿园事件、不良商家光明操持问题层出不穷,所以视频监控从行业逐步走向民用,安全校园、明厨亮灶、智慧社区、智能家居等场景的落地,更是放慢了视频监控上云的趋势。

Docker 是一个开源的利用容器引擎,基于 Go 语言 并听从 Apache2.0 协定开源。
Docker 能够让开发者打包他们的利用以及依赖包到一个轻量级、可移植的容器中,而后公布到任何风行的 Linux 机器上,也能够实现虚拟化。
容器是齐全应用沙箱机制,相互之间不会有任何接口(相似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)。

这次应用docker来对接一下SRS4.0和海康监控设施的GB28181的反对。

首先我应用的是阿里云服务器,在下面装置了docker.

装置docker实现后能够应用docker -v查看docker的版本。

拉去srs的docker镜像

docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4

创立SRS的docker容器

docker run -itd -p 1935:1935 -p 1985:1985 -p 8088:8080 -p 5060:5060/udp -p 9000:9000/udp registry.cn-hangzhou.aliyuncs.com/ossrs/srs
我的8080有货色占用所以映射成8088
docker ps查看运行的docker容器

能够应用命令查看端口是否开启

ss -antlp|grep 1935 (查看tdp)
ss -untlp|grep 9000 (查看udp)

并且在阿里云服务器将这些端口开启应用。

创立好容器后进入容器编译环境

docker exec -ti xxx(容器id) /bin/bash

编译环境(git,vim,gcc,gcc-c++,patch,unzip等)

yum -y install gcc gcc-c++
yum install -y patch
yum install -y unzip
yum -y install gcc automake autoconf libtool make
yum install -y git
yum install -y vim

编译环境实现后进行git SRS的源码到容器中

git SRS源码
git clone https://gitee.com/winlinvip/srs.oschina.git srs &&
cd srs/trunk && git remote set-url origin https://github.com/ossrs/srs.git && git pull

查看git仓库版本(个别都是3.0)
git branch -a

切换成4.0进行编译
git checkout 4.0release

再次进行编译
./configure && make

实现后再进行编译 gb28181
./configure --with-gb28181
make - 再输出make编译

实现后配置push.gb28181.conf

host填写本人的服务器ip

海康视频监控配置

ip

视频编码

而后进入trunk文件夹中输出命令启动srs进行推视频流到srs上。

启动srs
./objs/srs -c conf/push.gb28181.conf

下载vlc进行验证

关上网络串流(进行验证)

输出URL
rtmp://本人的ip:1935/live/78978201001320000001@78978201001320000001

拉流胜利!!!

终于把菜鸡问题解决~