[SRS流媒体]SRS rtmp http-flv流低延时设置、测试
延迟影响因素
编码器:不同的编码器(免费或开源的),延迟也是不同的。
流媒体服务器:SRS2
流协议:比如:rtmp是实时性比较高的,http_flv也是实时性比较高的,HLS就不行了,官方说60s之内的都可以容忍……
播放器:主要是播放器的缓冲区时长,比如flash播放器的缓存时长是3s,那么一定会有3s的延时。
网络:有网络问题导致的累积延迟。
视频码率:200k和2M的码率这个比较,当然也可以归到网络原因中去。
- 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 80;
- dir ./objs/nginx/html;
- }
- stats {
- network 0;
- disk sda sdb xvda xvdb;
- }
- vhost __defaultVhost__ {
- #最小延迟打开,默认是打开的,该选项打开的时候,mr默认关闭。
- min_latency on;
- #Merged-Read,针对RTMP协议,为了提高性能,SRS对于上行的read使用merged-read,即SRS在读写时一次读取N毫秒的数据
- mr {
- enabled off;
- #默认350ms,范围[300-2000]
- #latency 350;
- }
- #Merged-Write,SRS永远使用Merged-Write,即一次发送N毫秒的包给客户端。这个算法可以将RTMP下行的效率提升5倍左右,范围[350-1800]
- mw_latency 100;
- #enabled on;
- #https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#gop-cache
- gop_cache off;
- #配置直播队列的长度,服务器会将数据放在直播队列中,如果超过这个长度就清空到最后一个I帧
- #https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#%E7%B4%AF%E7%A7%AF%E5%BB%B6%E8%BF%9F
- queue_length 10;
- #http_flv配置
- http_remux {
- enabled on;
- mount [vhost]/[app]/[stream].flv;
- hstrs on;
- }
- }
测试
编码器: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
热门文章推荐
- [SRS流媒体]SRS rtmp http-flv流低延时设置、测试
- [SRS流媒体]RTMP部署的步骤
- [SRS流媒体]RTMP/HLS 直播服务器simple-rtmp-server安装
- [SRS]srs流媒体RTMP环境配置(RTMP配置教程)
- [SRS流媒体]Simple Rtmp Server的安装与简单使用
- [SRS流媒体]SRS集群边缘节点配置
- [SRS流媒体服务器]捕捉摄像头的图像后发送到SRS流媒体服务器
- [srs流媒体技术]Simple-RTMP-Server流媒体