安装和测试SRS流媒体服务器

SRS是一个实时视频服务器,支持多种协议如RTMP、WebRTC等。本文介绍了如何通过Git获取并编译SRS,配置并启动服务器,以及使用ffmpeg进行推流和ffplay进行拉流的测试步骤。
摘要由CSDN通过智能技术生成

简介:

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

你可以用它实现视频推流,并且支持http回调事件(HTTPCallback),还可以保存视频流文件。支持本地化部署,操作简单。

1.1 安装SRS流媒体服务器

步骤一 :获取SRS

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

步骤二:编译SRS
 

./configure --gb28181=on
make

步骤三:参考SRS配置文件

配置文件在trunk/conf目录里,服务器启动时指定改配置文件(srs的conf文件夹有该文件)。

我们这里使用srs.conf,支持rtmp、hls、http-flv拉流。

# main config for srs.
# @see full.conf for detail config.

listen              1935;
max_connections     1000;
#srs_log_tank        file;
#srs_log_file        ./objs/srs.log;
daemon              on;
http_api {
    enabled         on;
    listen          1985;
}
http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
rtc_server {
    enabled on;
    listen 8000; # UDP port
    # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
    candidate $CANDIDATE;
}
vhost __defaultVhost__ {
    hls {
        enabled         on;
    }
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
    rtc {
        enabled     on;
        # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
        rtmp_to_rtc off;
        # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
        rtc_to_rtmp off;
    }

    play{
        gop_cache_max_frames 2500;
    }
}
~                                                                                                                                                                                    
~                                                                                                                                                                                    
~                                                                                                                                                                                    
"conf/srs.conf" 43L, 984C     

对应配置文件的解析可以参考full.conf文件

这里的端口:

1935:对应的是rtmp服务

1985: 对应的是http api服务,想进一步了解的可以去看官网:https://github.com/ossrs/srs/wiki/v4_CN_HTTPApi

8080: 对应的是http-flv、hls服务器端口

注意:云服务器一定要在后台开放对应的端口

步骤四:启动SRS

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

步骤五:查看日志

tail -n 30 -f ./objs/srs.log

1.2 查看控制台

在浏览器输入:

http://192.168.10.8:1985/console/ng_index.html
#改为自己的IP

63322190cdf24660ae87df866b8bb0c6.png

 看到这个画面就说明我们已经安装好了SRS

1.3 测试SRS流媒体服务器

步骤一: 使用ffmpeg推流

ffmpeg -re -stream_loop -1 -i /home/li/桌面/1.mp4 -acodec copy -f flv rtmp://192.168.10.8/live/livestream
# -i 后面是你要推流的本地视频地址
rtmp 后面是你要将视频推送到的服务器IP

4889facb368348928e82c6b89b2a43ad.png

 04232a6861304c3aa423e6c9fe3ddeed.png

 可以看到我们已经推流成功

步骤二:ffplay拉流

ffplay http://192.168.10.8:8080/live/livestream.flv
#  使用该命令拉流

e6ff76078d3b418093f829f4fa27cd1c.png

 可以看到我们已经在拉流了

 

SRS(Simple Rtmp Server)的定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。 • 运营级: 商业运营追求极高的稳定性,良好的系统对接,以及错误排查和处理机制。譬如日志文件格式,reload,系统HTTP接口,提供init.d脚本,转发,转码,边缘回多源站,都是根据CDN运营经验作为判断这些功能作为核心的依据。 • 互联网: 互联网最大的特征是变化,唯一不变的就是不断变化的客户要求,唯一不变的是基础结构的概念完整性和简洁性。互联网还意味着参与性,听取用户的需求和变更,持续改进和维护。 • 直播服务器: 直播和点播这两种截然不同的业务类型,导致架构和目标完全不一致,从运营的设备组,应对的挑战都完全不同。两种都支持只能说明没有重心,或者低估了代价。 • 集群: FMS(AMS)的集群还是很不错的,虽然在运营容错很差。SRS(Simple Rtmp Server)支持完善的直播集群,Vhost分为源站和边缘,容错支持多源站切换、测速、可追溯日志等。 • 概念完整性: 虽然代码甚至结构都在变化,但是结构的概念完整性是一直追求的目标。从SRS(Simple Rtmp Server)服务器,P2P,ARM监控产业,MIPS路由器,服务器监控管理,ARM智能手机,SRS(Simple Rtmp Server)的规模不再是一个服务器而已。 • 简单实现: 对于过于复杂的实现,宁可不加入这个功能,也不牺牲前面提到的要求。对于已经实现的功能的代码,总会在一个版本release前给予充分的时间来找出最简答案。不求最高性能,最优雅,最牛逼,但求最简单易懂。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值