docker srs 流媒体服务器
操作系统版本:centos 7
docker-ce版本:19.03
srs版本:4.0.34
介绍:
SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS,
包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。 SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、
转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、 转封装成HDS、转封装成DASH、录制成FLV/MP4。SRS包含支大规模集群如CDN业务的关键特性,
譬如RTMP多级集群、源站集群、VHOST虚拟服务器 、 无中断服务Reload、HTTP-FLV集群。此外,SRS还提供丰富的应用接口,
包括HTTP回调、安全策略Security、HTTP API接口、 RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用Applications。
官方文档:https://github.com/ossrs/srs/wiki
安装centos和docker-ce步骤省略,比较简单
1.创建自定义网络
#创建自定义网络
docker network create --driver bridge --subnet 172.0.0.0/16 srs_network
#查看已存在网络
docker network ls
2.创建配置文件
创建容器:
# 安装并启动srs 使用阿里云镜像
docker run -p 1935:1935 -p 1985:1985 -p 8080:8080 \
--name srs \
registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.34
拷贝配置文件
# 把容器中的配置文件复制出来
docker cp -a srs:/usr/local/srs/conf /home/docker/srs4/conf
# 把容器中的日志文件复制出来
docker cp -a srs:/usr/local/srs/objs /home/docker/srs4/objs
# 删除 srs 容器
docker rm -f srs
3.挂载配置文件并启动
docker run -p 1935:1935 -p 1985:1985 -p 8080:8080 \
--name srs \
--network srs_network \
--ip 172.0.0.35 \
-v /home/docker/srs4/conf/:/usr/local/srs/conf/ \
-v /home/docker/srs4/objs/:/usr/local/srs/objs/ \
-d registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.34
4.开通端口
firewall-cmd --zone=public --add-port=1935/tcp --permanent
firewall-cmd --zone=public --add-port=1985/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
5.推流地址
rtmp://服务器 IP 地址:1935/live/t1
6.推流
obs推流:https://obsproject.com/
ffmpeg推流:
ffmpeg -re -i test.mp4 -vcodec copy -acodec copy -b:v 800k -b:a 32k -f flv rtmp://192.168.30.59/live/t1
循环推流:
ffmpeg -threads 2 -re -fflags +genpts -stream_loop -1 -probesize 1280 -i test.mp4 -c:v copy -c:a aac -f flv rtmp://192.168.30.59:1935/live/t1
播放:vlc播放器
7.srs控制台
http://服务器 IP 地址:8080
--------------------------------------------------
8.gb28181视频监控
修改配置push.gb28181.conf
host 服务器ip
9.NVR配置
平台接入28181
sip服务器地址:服务器ip
启用协议
视频编码id
保存
10.gb28181启动srs
docker run -p 1935:1935 -p 1985:1985 -p 8080:8080 \
--name srs \
--network srs_network \
--ip 172.0.0.35 \
-v /home/docker/srs4/conf/:/usr/local/srs/conf/ \
-v /home/docker/srs4/objs/:/usr/local/srs/objs/ \
-d registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.34 \
./objs/srs -c conf/push.gb28181.conf