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 有货色占用所以映射成 8088docker 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 进行验证
关上网络串流 (进行验证)
输出 URLrtmp:// 本人的 ip:1935/live/78978201001320000001@78978201001320000001
拉流胜利!!!
终于把菜鸡问题解决~