SRS搭建流媒体直播服务器

SRS直播服务

SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。

https://github.com/ossrs/srs

SRS提供了丰富的接入方案将RTMP流接入SRS。并提供HLS、flv直播功能。

srs直播

安装

本文章提供安装版本为v2.0-r2。

https://github.com/ossrs/srs/releases/tag/v2.0-r2
修改源代码
SRS2.x是不支持Http Flv的跨域访问的,这个支持在SRS3中得到了“通过配置”的方式进行支持,而截止2017-11-01,SRS3尚未发布。因此要解决这个问题可以有以下两种方式

1、在SRS外部再使用一个Nginx进行反向代理。

2、修改SRS2.x的源代码,找到目录“trunksrcapp”下的“srs_app_http_stream.cpp”文件,搜索
“w->header()->set_content_type("video/x-flv");”
代码,在其下一行增加代码:
“w->header()->set("Access-Control-Allow-Origin", "*");”
解决这个问题。这个解决方案来自于这里
https://github.com/ossrs/srs/issues/1002#issuecomment-340406201

注意:本段摘自同事。

安装依赖

yum-config-manager --add-repo http://www.nasm.us/nasm.repo
yum install zlib-devel

执行编译安装

chmod +x configure
./configure --with-hls --with-dvr --with-nginx --with-http-callback --with-http-api --with-http-server && make && sudo make install

srs.conf配置

# 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;

# 内置Nginx 代理
http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
vhost __defaultVhost__ {
    # hls直播(手机端)
    hls {
        enabled         on;
        hls_fragment    10;
        hls_window      60;
        hls_path        ./objs/nginx/html;
        hls_m3u8_file   [app]/[stream].m3u8;
        hls_ts_file     [app]/[stream]-[seq].ts;
    }
    # flv直播
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
        hstrs       on;
    }
}

# vhost多租用
vhost dvr.com {
    hls {
        enabled off;
    }

    dvr {
        enabled      on;
        dvr_path     ./objs/nginx/html/[app]/[stream].[timestamp].flv;
        dvr_plan     session;
    }
}

dvr录制存储配置规则

https://github.com/ossrs/srs/wiki/v2_CN_DVR#custom-path

需要做直播录制的可以看看。另外conf下的配置包含的全部应用场景。

启动SRS服务器

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

启动SRS服务器

rtmp协议端口为1395,推流地址规则:

rtmp://localhost/[app]/[stream]

例如:

rtmp://localhost/live/stream1

建议下载VLC播放器测试直播,使用obs进行推流/串流。

http://www.obsapp.net/
来源: 雨林博客(www.yl-blog.com)