RTMP服务器的延迟,多级边缘不影响延迟,gop为最大因素
来源:互联网 发布:北京公司网络建设 编辑:程序博客网 时间:2024/06/05 18:03
编码器用FMLE,用手机秒表作为延迟计算。
结论:
1. 影响延迟的三个重要因素:网络带宽不足延迟越大,服务器算法缓存越多延迟越大,编码gop越大延迟越大
2. 若只考虑服务器,NGINX-RTMP做源站时延迟在2-3秒以上。
3. 若只考虑服务器,SmartServer做边缘延迟最小在0.3秒,多级边缘服务器没有影响。
服务器结构如下:
源站:NGINX-RTMP
一级边缘:SmartServer
二级边缘:SmartServer
H264-Baseline-1秒GOP
H264,baseline,gop=1秒,fps=20,bitrate=500kbps
可见,延迟主要是在NGINX-RTMP,边缘服务器的延迟算法让延迟最低。
改变编码参数:
H264-Baseline-5秒GOP
H264,baseline,gop=5秒,fps=20,bitrate=500kbps
可见,gop变大后,每层都会有随机的延迟,原因是缓存了一些数据。
基本上5秒gop,就会有5/2秒延迟,即2.5秒左右延迟。
改变编码参数gop为10秒:
H264-Baseline-10秒GOP
H264,baseline,gop=10秒,fps=20,bitrate=500kbps
gop大了之后,延迟就要拼人品了。
改变编码参数为main:
H264-Main-1秒GOP
H264,main,gop=1秒,fps=20,bitrate=500kbps
基本上和baseline差不多。
没有什么影响,除了我的CPU上去了。
编码参数改为VP6:
VP6-1秒GOP
VP6 Quality=GoodQuality-GoodFramerate NoiseReduction=None DatarateWindow=Medium CPUUsage=Dedicated gop=1秒 fps=20
可见VP6也是一样,延迟在NGINX-RTMP源站,边缘没有延迟。
编码参数改为VP6,gop为10秒:
VP6-10秒GOP
VP6 Quality=GoodQuality-GoodFramerate NoiseReduction=None DatarateWindow=Medium CPUUsage=Dedicated gop=10秒 fps=20
可见VP6时也一样受gop影响。
HTTP切片方式的延迟
H264 Baseline gop=1秒 fps=20
HTTP切片长度为1秒
从左到右依次为:编码器,NGINX-RTMP源站,SmartServer边缘,HTTP切片边缘
可见:
NGINX-RTMP源站延迟在1.4秒
SmartServerRTMP边缘延迟0.6秒
HTTP切片边缘延迟1.1秒
实际环境中,1秒一个切片,在CDN分发时,下载的速度可能没有这么快,所以延迟应该会比这个高。
- RTMP服务器的延迟,多级边缘不影响延迟,gop为最大因素
- RTMP服务器的延迟,多级边缘不影响延迟,gop为最大因素
- RTMP服务器的延迟,多级边缘不影响延迟,gop为最大因素
- RTMP服务器的延迟,多级边缘不影响延迟,gop为最大因素
- RTMP服务器的延迟,多级边缘不影响延迟,gop为最大因素-andersonyan-ChinaUnix博客
- 影响机械磁盘速度的因素:寻道时间、旋转延迟、数据传输时间
- RTMP 延迟分析
- nginx-rtmp延迟分析
- 影响Linux服务器性能的因素
- 影响Linux服务器性能的因素
- 延迟渲染的边缘检测(Edge-Detection)抗锯齿算法
- 延迟
- SSH 连接服务器的延迟问题
- HTTP事务的延迟—TCP的影响
- 距离、带宽和延迟对VDI性能的影响
- 网络中延迟对主观感受的影响
- 服务器延迟原因汇总
- 服务器延迟原因汇总
- MVC 音乐商店 第 8 部分: 购物车与 Ajax 更新
- oracle 10g升级补丁
- 类成员函数的重载、覆盖和隐藏区别
- How Do you Motivate Yourself and Stay Focused?
- linux下oracle10g -bash: rlwrap: command not found(转)
- RTMP服务器的延迟,多级边缘不影响延迟,gop为最大因素
- SQL Server 2000中的列级约束与表级约束
- VBOX共享文件夹
- Android Toast提示
- 巧用api提升钣金设计装配 3 - 钣金样式和折弯规则
- linux0.00
- MVC 音乐商店 第 9 部分: 注册和结帐
- 第7周项目:输入圆的半径,求出该半径的圆的周长和面积并输出
- QT5.1编写及调用DLL.