文档章节

SRS rtmp http-flv流低延时设置、测试

冯继虎
 冯继虎
发布于 2015/05/29 14:05
字数 467
阅读 10086
收藏 9

配置参考

https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency

延迟影响因素

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

流媒体服务器:SRS2

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

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

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

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

SRS配置低延迟

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

© 著作权归作者所有

下一篇: SRS Forward集群
冯继虎
粉丝 32
博文 52
码字总数 21459
作品 0
西城
部门经理
私信 提问
[直播一揽子]直播采集端开发使用的工具合集

1、HBStream流媒体网络科技的博客 http://www.cnblogs.com/haibindev/ 里面的多媒体部分还是可以看看的。比如这篇: http://www.cnblogs.com/haibindev/archive/2011/12/29/2305712.html 关于...

拉风的道长
2016/11/14
110
0
HTTP协议/RTSP协议/RTMP协议的区别

https://www.cnblogs.com/gongyuhonglou/p/5605320.html RTMP有累积延迟 HTTP协议/RTSP协议/RTMP协议的区别 RTSP、 RTMP、HTTP的共同点、区别 共同点: 1:RTSP RTMP HTTP都是在应用应用层。...

nimeghbia
2018/01/16
0
0
利用Simple-RTMP-Server搭建RTMP和HLS直播服务(上)

SRS(Simple-RTMP-Server)定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码,在Github上人气颇高。本文是由王学投稿的SRS搭建直播的学习笔记,由LiveVideoStac...

livevideostack
2017/12/04
0
0
直播服务器简单实现 http_flv和hls 内网直播桌面

直播都不陌生了,如今主流的协议分析的对比图,个人见解。 协议 httpflv rtmp hls dash 传输层 http流 tcp流 http http 视频格式 flv flv tag Ts文件 Mp4 3gp webm 延时 低 低 高 高 数据分段...

mathlmx
2017/01/12
0
0
SRS配置采集(ingest)

via:https://github.com/simple-rtmp-server/srs/wiki/v1CNIngest 一、什么是ingest(采集) 采集(Ingest)指的是将文件(flv,mp4,mkv,avi,rmvb等等),流(RTMP,RTMPT,RTMPS,RTSP,H...

Johnny_feng
2015/06/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Redox OS 发布 0.5 版

Redox OS 是一个几乎完全以 Rust 语言编写的通用操作系统及周围生态(例如文件系统、显示服务器及 Rust 版本的 libc)。其遵循微内核架构,在一定程度上兼容于 POSIX。 该项目于日前发布了 ...

linuxCool
39分钟前
1
0
更新上传git/gitee项目时出现密码配置错误(incorrect username or password)的解决办法

1.输入【git remote add origin git地址】 命令时出现incorrect username or password的错误,这是因为之前弹出输入账户和密码时输错了,而且会一直默认错误的账户和密码,因此需要把之前输入...

west_coast
46分钟前
0
0
Jenkins基础入门-1-Jenkins简单介绍和环境安装

如果在做自动化测试的朋友,应该熟悉Jenkins,或者至少使用过。如果一个人没有使用过Jenkins或者hudson,hudson是Jenkins的前身,他还说自己做过自动化测试,只能说,他只不过是在做半自动化...

shzwork
46分钟前
0
0
linux上解压版安装jdk,tomcat

需要的安装包 1.vmware12 2.centos7版本 3.安装完成后需要xshell来连接远程虚拟机,虚拟机保证要联网,网络畅通。 4.xftp用来向linux传输文件用,一般来说xshell和xftp配套使用 5.对应的压缩...

architect刘源源
今天
27
0
使用 spring 的 IOC 解决程序耦合

工厂模式解耦 在实际开发中我们可以把三层的对象都使用配置文件配置起来,当启动服务器应用加载的时候,让一个类中的方法通过读取配置文件,把这些对象创建出来并存起来。在接下来的使用的时...

骚年锦时
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部