乐趣区

关于docker:使用docker来对接SRS40与HIKVSION监控视频GB28181的支持

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

拉流胜利!!!

终于把菜鸡问题解决~

退出移动版