利用Simple-RTMP-Server(SRS)来进行直播

1、下载SRS

官方地址:http://www.ossrs.net/srs.release/releases/

百度地址:http://pan.baidu.com/s/1kV8WQpx

 

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的时长)

详细说明:https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS

dvr配置节(录制成FLV)

详细说明:https://github.com/ossrs/srs/wiki/v2_CN_DVR

http_hooks配置节(回调)

on_connect  当客户端连接到指定的vhost和app时回调

详细说明:https://github.com/ossrs/srs/wiki/v2_CN_HTTPCallback

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

利用Simple-RTMP-Server(SRS)来进行直播_第1张图片

确定后,开始推流

由于设置了HLS分发和录制FLV,所以在nginx目录下(/usr/local/srs/objs/nginx/html/live)会有m3u8/ts和flv文件

利用Simple-RTMP-Server(SRS)来进行直播_第2张图片

有一个文件是:livestream2.1479218641365.flv.tmp,是由于正在推流当停止推流后就变成真正的FLV文件

ts文件的长度和个数是根据配置文件的hls_fragment和hls_window属性配置出来,详细请参看:https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS

 

用VLC来播放HLS或RTMP

利用Simple-RTMP-Server(SRS)来进行直播_第3张图片

rtmp播放地址:rtmp://10.10.3.62:1935/live/livestream

hls播放地址:http://10.10.3.62/live/livestream.m3u8

 

你可能感兴趣的:(利用Simple-RTMP-Server(SRS)来进行直播)