SRS流媒体服务(一)SRS服务搭建和FFMPEG实现模拟直播推流和拉流

SRS(Simple Realtime Server)是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181。

SRS可以扩展成集群,还涉及多种协议和场景。下图是SRS的概览大地图

SRS官方wiki介绍

一、SRS服务安装

服务器环境:Linux(CentOS7)

安装SRS版本:4.0

建议通过官网下载稳定版源码:SRS官网源码下载地址,然后从第五步开始安装

 以下为Git方式从SRS官方GitHub仓库拉取最新源码安装,拉取到的代码可能为最新开发版源码

1、首先通过yum安装git,CentOS7没有自带git。

cd /usr/local //进入到/usr/local
mkdir git //创建git目录
cd git //进入git目录
yum -y install git //通过yum安装git

 2、查看git版本,因为yum版本更新不及时,这里是比较老的版本。

git --version

3、进入到/usr/local目录下,创建srs目录,通过git命令克隆SRS服务到srs目录。

cd /usr/local //进入/usr/local目录
mkdir srs //创建srs目录
ls //查看当前目录
cd srs  //进入刚创建的srs目录
git clone https://gitee.com/ossrs/srs.git  //将SRS克隆到本地

 4、将srs移动到SRS4.0

mv srs SRS4.0

5、编译SRS 

cd /usr/local/srs/SRS4.0/trunk/
./configure

make

 6、启动SRS服务,指定启动配置文件

./objs/srs  -c  conf/srs.conf

通过启动日志提示可以看到可通过查看运行状态命令

./etc/init.d/srs status  //查看运行状态
./etc/init.d/srs stop    //停止运行

7、访问http://192.168.5.102:8080

ifconfig //查看服务器IP

默认开启了防火墙且没有开放任何端口

 访问失败

 

 默认未开启8080端口和http

 

开放8080端口、开放http

firewall-cmd --zone=public --add-port=8080/tcp --permanent //永久开启8080端口
firewall-cmd --zone=public --add-service=http --permanent //永久开启http

 

 

 但是现在依旧访问不了,因为验证发现并没有生效

firewall-cmd --zone=public --query-port=8080/tcp
firewall-cmd --zone=public --query-service=http  //验证是否生效

 重启防火墙,再次验证生效

 再次访问http://192.168.5.102:8080成功

二、安装FFMPEG工具

ffmpeg下载地址

 找到ffmpeg工具bin目录路径,添加到系统环境变量path里

 查看版本,安装成功

 三、使用ffmpeg模拟直播推流,将本地视频模拟视频流推送至SRS服务器,默认推流端口1935,注意开放端口号1935.

ffmpeg -re -i d://ffmpeg/ksxf.mp4  -c copy -f flv -y rtmp://192.168.5.102/live/livestream

 开始推流

使用ffplay拉流

ffplay rtmp://192.168.5.102/live/livestream

测试SRS服务推流拉流成功

如果拉流没有声音可能需要配置环境变量如下:

变量名:SDL_AUDIODRIVER

变量值:directsound

猜你喜欢

转载自blog.csdn.net/weixin_44341110/article/details/120638140