美文网首页音视频开发集锦
SRS 搭建rtmp流媒体服务器

SRS 搭建rtmp流媒体服务器

作者: 南风无影 | 来源:发表于2017-06-28 19:02 被阅读6341次

    1.源码下载:

    git clone https://code.csdn.net/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 搭建rtmp流媒体服务器

      本文链接:https://www.haomeiwen.com/subject/gklsxxtx.html