本文共 1963 字,大约阅读时间需要 6 分钟。
1、下载SRS
官方地址:
百度地址:
2、编译安装SRS
tar zxvf srs-2.0-b2.tar.gz
cd srs-2.0-b2
mv trunk/ /usr/local/srs
cd /usr/local/srs
./configure --full #--full,开启SRS所有的功能。
make
注意:官方说需要关闭防火墙和selinux
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 { enabled on; hls_path ./objs/nginx/html; hls_fragment 3; hls_window 12; } dvr { enabled on; dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].flv; dvr_plan session; dvr_duration 30; dvr_wait_keyframe on; time_jitter full; } http_hooks { enabled on; on_connect http://10.10.3.62/kgdxpr; }}
说明:
hls配置节(hls分发)
enabled:是否开启HLS
hls_fragment:指定ts切片的最小长度(单位:秒)
hls_window:指定HLS大小,即m3u8中ts文件的时长之和,超过总时长后,丢弃第一个m3u8中的第一个切片,直到ts的总时长在这个配置项范围之内。即SRS保证下面的公式:
hls_window >= sum(m3u8中每个ts的时长)详细说明:
dvr配置节(录制成FLV)
详细说明:
http_hooks配置节(回调)
on_connect 当客户端连接到指定的vhost和app时回调
详细说明:
lua用ngx.var.request_body获取回调传的数据
#启动分发hls(m3u8/ts)的nginx
/usr/local/srs/objs/nginx/sbin/nginx
#启动srs服务
/usr/local/srs/objs/srs -c /usr/local/srs/conf/srs.conf
4、利用OBS推流和用VLC播放
例如推流地址:rtmp://10.10.3.62:1935/live/livestream
确定后,开始推流
由于设置了HLS分发和录制FLV,所以在nginx目录下(/usr/local/srs/objs/nginx/html/live)会有m3u8/ts和flv文件
有一个文件是:livestream2.1479218641365.flv.tmp,是由于正在推流当停止推流后就变成真正的FLV文件
ts文件的长度和个数是根据配置文件的hls_fragment和hls_window属性配置出来,详细请参看:
用VLC来播放HLS或RTMP
rtmp播放地址:rtmp://10.10.3.62:1935/live/livestream
hls播放地址:http://10.10.3.62/live/livestream.m3u8
转载地址:http://infco.baihongyu.com/