流媒体服务器搭建–基于SRS in CentOS

流媒体服务器搭建–基于SRS

因为需要搭建监控 dashboard 需要能够直播的摄像头的流媒体服务。
在测试了 Node-Media-ServerSRS 之后,由于 NMS 存在一段时间后睡死的问题。所以选用了 SRS ,它的源码在这里

Linux的一些配置

如果是直接使用Linux服务器的话就跳过这一步。
我这边是使用了虚拟机,需要为 CentOS 设置网络

桥接模式

这边虚拟机我用的是 VM
打开桥接模式
桥接模式随后在 VM 的编辑栏上选择 虚拟网络编辑器 点击更改设置,进入如下界面
在这里插入图片描述桥接模式中选择宿主机正在使用的网卡。

配置 CentOS 网卡文件

CentOS 通常网卡是默认关闭的,需要手动修改网卡配置文件

  1. 配置网络信息
    网卡脚本一般位于 /etc/sysconfig/network-scripts/
    使用 Vi 打开并进行修改( Vi 的操作具体详见 菜鸟教程
    修改如下
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static --由 dchp 动态模式改成静态模式 static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=77f084da-b285-4dac-91aa-79f066fd4512
DEVICE=ens33
ONBOOT=yes -- 打开网卡 no 改成yes
IPADDR=10.203.22.10 --配置 ip 这个ip你要试着用主机 ping 一下,别和其他电脑重了
NETMASK=255.255.255.0 --固定配置
GATWAY=10.203.22.254 --固定配置
DNS=10.203.1.5 --主机一样即可
  1. 添加网关地址
    vi /etc/sysconfig/network
    内容如下:
NETWORKING=yes
HOSTNAME=xxxx #名字随便了
GATEWAY=192.168.1.1 #默认网关和宿主机相同
  1. 添加 DNS 服务器
    vi /etc/resolv.conf
    内容如下:
# Generated by NetworkManager
nameserver 192.168.0.1 #DNS,跟宿主一样

重启网卡

service network restart

安装服务器

该服务通常运行在Linux系统,系统的偏好是由于 SRS 采用了 state-threads 的原因。
作者放出了 CentOS 、Ubuntu 、 Raspberry Pi 等系统下编译的安装包。

本人直接下载了官网上的安装包,也可以直接从 GitHub 上对源代码进行编译。由于我直接使用了作者推荐的系统就直接下载安装包了。

CentOS 自带了解压缩的工具。
cd 到对应的目录,默认解压到当前文件夹

unzip file_name.zip

服务器的安装很方便,在当前文件夹中运行 INSTALL 脚本

sudo ./INSTALL

我在安装完之后被提示了错误,要求再安装一个 redhat-lsb 。

yum install -y redhat-lsb

完成之后应该就会提示安装成功了。
卸载的代码如下,其实就是删除对应路径下的软件文件

sudo rm -rf /usr/local/srs
sudo rm -rf /etc/init.d/srs

启动服务

SRS 提供了多种模式的启动配置文件。
默认的 SRS 服务器启动方案是

sudo /etc/init.d/srs start

关闭服务器就是对应的 stop

sudo /etc/init.d/srs stop

推流

推流这边选择了常见的 FFmpeg 。该软件具备丰富的推流、转码等功能。能够实现本地桌面、摄像头、mic、音视频文件等的直播推流需求。

如果进行推流的不是本机(我就是用我自己的电脑往这台服务器上推流)的话,CentOS需要关闭防火墙。

systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service 关闭开机启动

不嫌麻烦的话还可以使用 iptables 来管理 CentOS (注意要开放对应流媒体服务器的端口,通常都是 1935 和 8000 两个端口。

安装 FFmpeg

CentOS 下安装 FFmpeg 还是太费劲了,不如 Windows 下连安装都不需要,直接在可执行文件 exe 下面就可以使用命令行。

网上提供了源代码编译的方法,看了一下老费劲了。
最后还是推荐直接使用第三方的软件仓库。方便快捷,又对应版本。
首先切换到 root 用户,安装 epel源(为红帽系列系统提供第三方软件的项目)。

yum install epel-release

更新源

rpm -v --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

然后下载安装

yum install ffmpeg ffmpeg-devel

FFmpeg 推流

FFmpeg命令:几种常见场景下的FFmpeg命令(摄像头采集推流,桌面屏幕录制推流、转流,拉流等等)
我这边测试了从 pc 推本地桌面的命令(这边的 Server_IP 指代本机 IP 地址。后面的路径 live/livestream 好像是配置文件的时候定的)

ffmpeg -f gdigrab -i dektop -vcodec libx264 -preset:v ultrafast -tune :zerolatency -max_delay 50 -g -b 7000000 -f flv rtmp://Server_IP/live/livestream

在这里插入图片描述出现了推流的数据之后基本上就代表推流成功了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值