SRS流媒体服务(一)SRS服务搭建和FFMPEG实现模拟直播推流和拉流
一、SRS服务安装服务器环境:Linux(CentOS7)1、首先通过yum安装git,CentOS7没有自带git。cd /usr/local //进入到/usr/localmkdir git //创建git目录cd git //进入git目录yum -y install git //通过yum安装git2、查看git版本,因为yum版本更新不及时,这里是比较老的版本。git --version
SRS(Simple Realtime Server)是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181。
SRS可以扩展成集群,还涉及多种协议和场景。下图是SRS的概览大地图
一、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工具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
更多推荐
所有评论(0)