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
(查看tcp)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
拉流成功!!!
终于把菜鸡问题解决~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。