SRS环境搭建

489 篇文章 14 订阅
464 篇文章 13 订阅

1、SRS系统详解

1.1srs的安装

1.获取SRS

git clone https://github.com/ossrs/srs
cd srs/trunk

2.编译SRS

./configure && make

2、开放端口

注意: 新增端口时确保防火墙是开启状态,否则无法开放端口

查看防火墙状态
systemctl status firewalld
​
开启端口 
iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT 
​
8080:http流媒体服务
srs监听端口(系统默认):1935
srsAPI端口:1985
​
查看打开的端口
/etc/init.d/iptables status

2.1关闭防火墙和selinux

防火墙操作

临时关闭防火墙
systemctl stop firewalld
​
防火墙开机不启动
systemctl disable firewalld
​
临时打开防火墙
systemctl start firewalld
​
防火墙开机启动
systemctl enable firewalld

selinux操作

临时关闭SELinux
setenforce 0
​
临时打开SELinux
setenforce 
​
开机关闭SELinux
编辑/etc/sysconfig/selinux文件,将SELINUX的值设置为disabled  :SELINUX=disabled

系统重启(防火墙和selinux修改后,服务器重启才能生效)

重启系统:sudo init 6

 【学习地址】:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发

【文章福利】:免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~

3、修改配置文件

配置文件路径
vi /usr/local/srs/conf/srs.conf
#基本配置如下:
​
listen            1935;
max_connections    1000;
srs_log_tank        file;
srs_log_file        ./objs/srs.log;
http_api {
    enabled    on;
    listen        1985;
}
http_server {
    enabled    on;
    listen        8080;
    dir        ./objs/nginx/html;
}
stats {
    network    0;
    disk        sda sdb xvda xvdb;
}
vhost __defaultVhost__ {
    min_latency    on;
    mr {
        enabled    off;
    }
    mw_latency    100;
    gop_cache    off;
    queue_length    10;
    tcp_nodelay    on;
}

说明

HLS\FLV\HDS相关配置请参考SRS官网api

v2_CN_Home · ossrs/srs Wiki · GitHub

http_hooks配置(回调)

在srs.conf中的vhost __defaultVhost__下加入
http_hooks {
        enabled        on;
        on_connect        http://[ip]:[port]/[name];
        ...
    }

如:配置回调接口为*的机子,配置如下**

http_hooks {
        enabled         off;
        on_connect      http://IP:8080/dev/apis/srs/v1/srs/on_connect;    #当客户端连接到指定的vhost和app时
        on_close        http://IP:8080/dev/apis/srs/v1/srs/on_close;      #当客户端关闭连接,或者SRS主动关闭连接时
        on_publish      http://IP:8080/dev/apis/srs/v1/srs/on_publish;    #当客户端发布流时,譬如flash/FMLE方式推流到服务器
        on_unpublish    http://IP:8080/dev/apis/srs/v1/srs/on_unpublish;  #当客户端停止发布流时
        on_play         http://IP:8080/dev/apis/srs/v1/srs/on_play;       #当客户端开始播放流时
        on_stop         http://IP:8080/dev/apis/srs/v1/srs/on_stop;       #当客户端停止播放时。备注:停止播放可能不会关闭连接,还能再继续播放。
        on_dvr          http://IP:8080/dev/apis/srs/v1/srs/on_dvr;        #当DVR录制关闭一个flv文件时
    }

注意:回调函数的接口必须为POST方式,否则会报错

详细说明:v2_CN_HTTPCallback · ossrs/srs Wiki · GitHub

修改配置文件之后,需要重启srs服务

注意:

  • 事件:发生该事件时,即回调指定的HTTP地址。

  • HTTP地址:可以支持多个,以空格分隔,SRS会依次回调这些接口。

  • 数据:SRS将数据POST到HTTP接口。

  • 返回值:SRS要求HTTP服务器返回HTTP200并且response内容为整数错误码(0表示成功),其他错误码会断开客户端连接。

4、启动SRS

/etc/init.d/srs start

5、ffmepg推流

./objs/ffmpeg/bin/ffmpeg-i [推流地址] -c copy -f flv [拉流地址]
​
列:ffmpeg -i rtsp://admin:admin123456@172.30.140.210:554/h264/ch33/sub/av_stream -c copy -f flv rtmp://172.30.140.208:1935/live/livestream2

注意:

推流地址:该地址为音视频源地址,如摄像头访问地址,音视频文件地址等

拉流地址:通过srs系统向用户暴露出去的访问地址

6、SRS相关操作

查看SRS状态:
    /etc/init.d/srs status
    
启动SRS:
    /etc/init.d/srs start
    
停止SRS:
    /etc/init.d/srs stop
    
重启SRS:
    /etc/init.d/srs restart
    
Reload SRS:
    /etc/init.d/srs reload

7、web端调用接口

timo_srs服务为前端提供摄像头数据拉取,摄像头信息存储等功能。

http://[IP]:8080/dev/apis/srs/v1/swagger-ui.html

put:/video 添加或修改视频信息

VideoSourceModel {
id (integer, optional): ID ,
playBackAdd (string, optional): 视频回放地址 ,
stream (string, optional): stream ,
videoName (string, optional): 视频名称 ,
videoPlayAdd (string, optional): 视频播放地址 ,
videoSourceAdd (string, optional): 视频源地址
}

get:/video/list 获取视频列表

get:/video/play-back 获取指定视频的回放地址

id: 视频ID
startDate:回放开始时间

get:/video/play/{id} 播放指定视频

id:视频ID

get:/video/stop 停止播放指定视频

id:视频ID

SRS_Service 回调接口,不需要对接方进行调用

原文链接:SRS环境搭建 - 简书

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值