·您当前的位置:首页 > 技术教程 > SRS流媒体技术 >

[SRS流媒体]SRS rtmp http-flv流低延时设置、测试

时间:2016-01-07 10:05 Johnny_feng
[SRS流媒体]SRS rtmp http-flv流低延时设置、测试

延迟影响因素

编码器:不同的编码器(免费或开源的),延迟也是不同的。

流媒体服务器:SRS2

流协议:比如:rtmp是实时性比较高的,http_flv也是实时性比较高的,HLS就不行了,官方说60s之内的都可以容忍……

播放器:主要是播放器的缓冲区时长,比如flash播放器的缓存时长是3s,那么一定会有3s的延时。

网络:有网络问题导致的累积延迟。

视频码率:200k和2M的码率这个比较,当然也可以归到网络原因中去。

  1. listen              1935; 
  2. max_connections     1000; 
  3. srs_log_tank        file; 
  4. srs_log_file        ./objs/srs.log; 
  5. http_api { 
  6.     enabled         on; 
  7.     listen          1985; 
  8. http_server { 
  9.     enabled         on; 
  10.     listen          80; 
  11.     dir             ./objs/nginx/html; 
  12. stats { 
  13.     network         0; 
  14.     disk            sda sdb xvda xvdb; 
  15. vhost __defaultVhost__ { 
  16.     #最小延迟打开,默认是打开的,该选项打开的时候,mr默认关闭。 
  17.     min_latency     on; 
  18.     #Merged-Read,针对RTMP协议,为了提高性能,SRS对于上行的read使用merged-read,即SRS在读写时一次读取N毫秒的数据 
  19.     mr { 
  20.         enabled     off; 
  21.         #默认350ms,范围[300-2000] 
  22.         #latency     350; 
  23.     } 
  24.     #Merged-Write,SRS永远使用Merged-Write,即一次发送N毫秒的包给客户端。这个算法可以将RTMP下行的效率提升5倍左右,范围[350-1800] 
  25.     mw_latency      100; 
  26.     #enabled         on; 
  27.     #https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#gop-cache 
  28.     gop_cache       off; 
  29.     #配置直播队列的长度,服务器会将数据放在直播队列中,如果超过这个长度就清空到最后一个I帧 
  30.     #https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#%E7%B4%AF%E7%A7%AF%E5%BB%B6%E8%BF%9F 
  31.     queue_length    10; 
  32.     #http_flv配置 
  33.     http_remux { 
  34.         enabled     on; 
  35.         mount [vhost]/[app]/[stream].flv; 
  36.         hstrs   on; 
  37.     } 

测试

编码器:OBS

播放器:SRS-Player(http://www.ossrs.net/srs.release/releases/demo.html?ip=192.168.1.170)

测试协议:rtmp、http-flv

码率:

200K延时 rtmp:1-2s(1s7) http_flv: 2s2

800K延时 rtmp:2s http_flv:3s30

http://my.oschina.net/fengjihu/blog/422218

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器