利用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

確定后,開始推流

由於設置了HLS分發和錄制FLV,所以在nginx目錄下(/usr/local/srs/objs/nginx/html/live)會有m3u8/ts和flv文件

有一個文件是:livestream2.1479218641365.flv.tmp,是由於正在推流當停止推流后就變成真正的FLV文件

ts文件的長度和個數是根據配置文件的hls_fragment和hls_window屬性配置出來,詳細請參看:https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS

 

用VLC來播放HLS或RTMP

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM