828华为云征文|华为云Flexus云服务器docker部署srs6,协议可使用HLS协议

828华为云征文|华为云Flexus云服务器docker部署srs6,协议可使用HLS协议

  • 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧!

什么是华为云Flexus云服务器

  • 华为云Flexus云服务是新一代开箱即用、体验跃级、面向中小企业和开发者打造的高品价比云服务产品。Flexus云服务器X实例是华为云Flexus云服务的一个产品
  • Flexus云服务器X实例是新一代面向中小企业和开发者打造的柔性算力云服务器,可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负载场景。

开始接触华为云Flexus云服务器X实例

  • 获取华为云Flexus云服务器X实例后第一步就是先去华为云上重置服务器密码

    在这里插入图片描述
    在这里插入图片描述

  • 重置完毕后用ssh工具登录华为云服务器,这里我用的是finalshell,也可以用其他工具登陆比如xshell或者Putty都可以
    在这里插入图片描述

  • 登录上去查看硬盘大小,可以看到是100g硬盘,硬盘总大小是正常的

root@flexusx-ebe8:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.2G  1.1M  1.2G   1% /run
/dev/vda1        99G  4.2G   90G   5% /
tmpfs           5.7G     0  5.7G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.2G  4.0K  1.2G   1% /run/user/0
  • 然后输入 ufw status可以看到默认防火墙是关闭的,因此我们就不需要额外再去配置端口开放相关的配置,只要在华为云安全组配置端口开放就可以了
root@flexusx-ebe8:~# ufw status
Status: inactive

docker环境的安装

  • 然后进行docker容器的安装,安装最新版本的docker
  • 这里因为docker现在已经无法直接通过网络安装,所以我们通过离线安装的方式安装docker环境
  • 从官网下载离线包
https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/

在这里插入图片描述

  • 如图所示,把离线包传到服务器上,进行安装
dpkg -i *.deb
  • 查看安装的docker版本
root@flexusx-ebe8:/home/docker# docker -v
Docker version 27.1.2, build d01f264
  • 至此docker容器环境安装完毕

srs相关

什么是srs

  • SRS的全称为Simple Realtime Server,是一个开源的(MIT协议)简单高效的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH和GB28181等协议。 SRS媒体服务器和FFmpeg、OBS、VLC、 WebRTC等客户端配合使用,提供流的接收和分发的能力,是一个典型的发布 (推流)和订阅(播放)服务器模型。

什么是HLS

  • HLS (HTTP Live Streaming)是Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u8的索引文件,TS媒体分片文件和key加密串文件。
  • HLS对比webrtc,延迟比较大,约为5~10秒,但是优势在于播放流畅不卡顿,且加载完毕后可来回拖拉进度条

开始安装srs并配置HLS

  • 先配置CANDIDATE="127.0.0.1",这里配置为外网ip,也就是华为云提供的弹性公网ip
  • 然后用docker启动srs,使用配置文件为hls.conf
  • 使用的版本为srs6的release版本
docker run -it --name=srs -d -p 1935:1935 -p  8080:8080  --restart=always ossrs/srs:6 ./objs/srs -c conf/hls.conf
  • 输入docker ps 查看容器运行状态

    root@flexusx-ebe8:~# docker ps
    CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS                                                                                                                                     NAMES
    bfa8e8ea8551   ossrs/srs:6   "./objs/srs -c conf/…"   25 seconds ago   Up 25 seconds   1985/tcp, 0.0.0.0:1935->1935/tcp, :::1935->1935/tcp, 5060/tcp, 8000/udp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 9000/tcp, 10080/udp   srs
    
    
  • 相比较webrtc来说,配置少了很多,当然也可以配置https,srs也提供https.hls.conf,都可以使用,因为hls不像webrtc强制要求使用https,这次我们就不使用https来启动

  • 查看docker ps 可以看到容器正常运行着,这就代表着srs服务已经部署完毕了

配置Flexus云服务器X实例安全组

  • 经过上面部署srs服务,这时候服务是已经部署完毕了,但是我们还没法通过外网进行访问,还需要对Flexus云服务器X安全组的配置进行修改

  • 进入安全组的配置页面
    在这里插入图片描述

  • 新建安全组
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 这里我们开放1935,8080即可,而webrtc则需要开放更多的端口

  • 然后加入新建的安全组
    在这里插入图片描述

  • 这样我们的实例的端口也就开放成功了

srs功能测试

srs服务器监控

  • 部署完毕srs后,开始对srs进行功能测试

  • 输入网址进行访问,http://ip:8080/

  • 服务器ip填弹性公网ip,点击连接到SRS,就可以看到服务器的运行状态与srs的运行状态,以及负载网速cpu磁盘等各种信息
    在这里插入图片描述

使用HLS推流测试

  • 进入srs播放器
  • 我们使用FFMPEG进行推流
  • linux环境使用如下sh脚本进行推流
    for((;;)); do \
        ./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.flv \
        -c copy \
        -f flv rtmp://192.168.1.170/live/live200; \
        sleep 1; \
    done
  • windows环境使用如下bat脚本进行推流
@echo off
:loop
.\ffmpeg.exe -re -i test.mp4 -vcodec h264 -c copy -f flv rtmp://192.168.1.170/live/live200
timeout /t 1
goto loop

在这里插入图片描述

  • 然后进入SRS播放器播放HLS流
  • 这里要注意的是播放地址的写法,是标准的播放HLS流的写法http://ip:8080/live/live200.m3u8

在这里插入图片描述

  • 可以很清楚的看到有进度条,而且随着时间推移,进度条会不断增大,而且画面流畅清晰
  • 至此srs-hls就部署完毕了

欢迎大家一起加入华为云!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lgbisha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值