Skip to content

v2_CN_FlvVodStream

winlin edited this page Jan 20, 2015 · 22 revisions

点播FLV流

HTTP VOD

推荐以下的方式:

  • 点播建议用http分发,http服务器一大堆。 SRS能将直播流录制为flv文件,并且提供了一些工具来支持flv点播流, 但是应该使用其他的HTTP服务器分发flv文件。
  • 总之,srs不支持点播,只支持直播。这是官方回答。

点播FLV流的主要流程是:

  • 服务器录制直播为FLV文件,或者上传FLV点播文件资源,到SRS的HTTP根目录:objs/nginx/html
  • HTTP服务器必须要支持flv的start=offset,譬如nginx的flv模块,或者SRS的实验性HTTP服务器。
  • 使用research/librtmp/srs_flv_injecter将FLV的时间和对于的offset(文件偏移量)写入FLV的metadata。
  • 播放器请求FLV文件,譬如:http://192.168.1.170:8080/sample.flv
  • 用户点击进度条进行SEEK,譬如SEEK到300秒。
  • 播放器根据inject的时间和offset对应关系找出准确的关键帧的offset。譬如:300秒偏移是6638860
  • 根据offset发起新请求:http://192.168.1.170:8080/sample.flv?start=6638860

备注:SRS还不支持限速,会以最快的速度将文件发给客户端。 备注:SRS还提供了查看FLV文件内容的工具research/librtmp/srs_flv_parser,可以看到metadata和每个tag信息。

SRS Embeded HTTP server

SRS支持http-api,因此也能解析HTTP协议(目前是部分支持),所以也实现了一个简单的HTTP服务器。

SRS的HTTP服务器已经重写,稳定可以商用。

对于一些嵌入式设备,并发也不高时,可以考虑使用SRS的HTTP服务器分发HLS,这样比较简单。

Config

HTTP FLV点播流的配置:

    # http static vhost specified config
    http {
        # whether enabled the http static service for vhost.
        # default: off
        enabled     on;
        # the url to mount to, 
        # typical mount to [vhost]/
        # the variables:
        #       [vhost] current vhost for http server.
        # @remark the [vhost] is optional, used to mount at specified vhost.
        # @remark the http of __defaultVhost__ will override the http_stream section.
        # for example:
        #       mount to [vhost]/
        #           access by http://ossrs.net:8080/xxx.html
        #       mount to [vhost]/hls
        #           access by http://ossrs.net:8080/hls/xxx.html
        #       mount to /
        #           access by http://ossrs.net:8080/xxx.html
        #           or by http://192.168.1.173:8080/xxx.html
        #       mount to /hls
        #           access by http://ossrs.net:8080/hls/xxx.html
        #           or by http://192.168.1.173:8080/hls/xxx.html
        # default: [vhost]/
        mount       [vhost]/hls;
        # main dir of vhost,
        # to delivery HTTP stream of this vhost.
        # default: ./objs/nginx/html
        dir         ./objs/nginx/html/hls;
    }

Winlin 2015.1

Welcome to SRS wiki!

SRS 5.0 wiki

Please select your language:

SRS 4.0 wiki

Please select your language:

SRS 3.0 wiki

Please select your language:

SRS 2.0 wiki

Please select your language:

SRS 1.0 wiki

Please select your language:

Clone this wiki locally