SRS 搭建rtmp流媒体服务器

本文详细介绍如何从源码编译安装SRS直播服务器,并配置RTMP与HLS服务。包括下载源码、编译安装步骤及所需参数、启动第三方应用如Nginx和FFmpeg的方法,以及配置文件示例等关键信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:Gongjia

链接:https://www.jianshu.com/p/3bbd855c9b64
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1.源码下载:

git clone https://code.youkuaiyun.com/winlinvip/srs-csdn.git
cd srs-csdn
git pull  
git checkout 2.0release

2.编译安装

cd trunk
#查看编译时的帮助,里面有一些指定的参数是情况加减,官方文档
./configure -h 
#开始编译:
./configure --prefix=/usr/local/srs --with-ssl --with-hls --with-hds --with-dvr --with-nginx --with-http-callback --with-http-server --with-stream-caster --with-http-api --with-ffmpeg --with-transcode --with-ingest --with-stat --with-librtmp --with-research --with-utest --with-gperf --with-gprof
make
make install

3.第三方应用启动:



#启动nginx  for hls
sudo ./objs/nginx/sbin/nginx  

#ffmpeg
./objs/ffmpeg/bin/ffmpeg       

#to start the api-server
python ./research/api-server/server.py 8085

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

ps -ef | grep srs         #grep --color=auto srs
./objs/srs -v             #2.0.242

可能用到的调试命令:
sudo pkill -9 nginx 
objs/nginx/sbin/nginx -c ./objs/nginx-1.5.7/conf/nginx.conf
sudo nginx -s reload

到此为止,SRS已编译安装完成!

4.配置RTMP

文件目录:./conf/rtmp.conf 
配置内容:
listen              1935;
pid                 ./objs/srs.pid;
chunk_size          60000;
ff_log_dir          ./objs;
srs_log_tank        file;  
#配置日志答应到文件,需要和srs_log_level配合使用
srs_log_level       trace; 
#制定配置文件的级别,默认级别是trace
srs_log_file        ./objs/srs.log;  
#制定日志文件的位置。
max_connections     1000; 
#最大连接数
daemon              on; 
#以daemon的方式启动,如果要启动在console,那么需要配置daemon off;并且,需要配置srs_log_tank console;
utc_time            off; 
#是否使用utc时间。如果该值为off则使用本地时间,如果开始使用utc时间。
vhost __defaultVhost__ {   
#默认的vhost,在没有指明vhost的情况,默认使用这个vhost。
}

我配置的srs_kp.conf
注意gop_cache 一定要设置成on,否则切片推流有卡顿

# the config for srs to delivery hls
# @see https://github.com/ossrs/srs/wiki/v1_CN_SampleHLS
# @see full.conf for detail config.

listen              1935;
max_connections     1000;
daemon              off;
srs_log_tank        console;
http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
vhost __defaultVhost__ {
    dvr {
        enabled             on;
        #配置成时分秒
        dvr_path            ./objs/nginx/html/[app]/[stream]/[15][04][05].flv; 
        dvr_plan            segment;
        dvr_duration        5; #切片长度,这个可以改  e.g. 1 or 3
        dvr_wait_keyframe   on;
    }
    gop_cache   on;
}

  1. 推流和播放
    推流:
./objs/ffmpeg/bin/ffmpeg -i "./doc/source.200kbps.768x320.flv" -vcodec libx264 -vprofile baseline -level 30 -g 60 -vb 800k -strict experimental -acodec aac -ab 96000 -ar 48000 -ac 2 -f flv rtmp://127.0.0.1:1935/live/gongjia

播放:

rtmp://172.17.6.96:1935/live/gongjia
  1. 查看日志
tail -f  ./objs/srs.log
``




### 搭建配置SRS流媒体服务器教程 #### 获取SRS 为了开始搭建SRS流媒体服务器,首先需要获取SRS源码。可以从Gitee或GitHub仓库克隆项目,考虑到国内网络环境,荐使用Gitee上的资源,因为其下载速度更快[^2]。 ```bash git clone https://gitee.com/winlinvip/srs.oschina.git ``` #### 编译安装SRS 进入解压后的目录并编译安装SRS。通常情况下,默认的`./configure && make`命令足以完成编译过程。如果遇到依赖库缺失等问题,则需按照提示安装相应开发包后再继续尝试编译操作。 ```bash cd srs.oschina/ ./configure && make ``` #### 配置SRS服务端口与路径映射关系 编辑位于根目录下的`conf/srs.conf`文件,在此文件内可调整RTMP监听端口号以及设定虚拟主机名称等参数。对于大多数应用场景而言,默认配置已经能够满足需求,无需额外更改任何选项即可正常使用[^3]。 #### 启动SRS服务进程 通过执行如下指令来启动SRS服务: ```bash ./objs/srs -c conf/srs.conf ``` 该命令会读取指定位置(`conf/srs.conf`)中的全局设置项,并据此初始化整个系统运行状态。此时应该可以在本地计算机上看到类似下面的日志输出信息表示程序已成功开启工作模式[^1]。 #### 送视频SRS平台 利用OBS Studio这类开源软件作为客户端工具向刚刚部署完毕的服务器发送实时音视频数据。只需在“”页面里填写正确的URL格式(即`rtmp://<YourServerIP>:1935/live`)加上自定义频道ID(比如`mystream`),随后按下“开始广播”按钮便能实现远程传输目的了[^4]。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值