• RTMP服务器的延迟,多级边缘不影响延迟,gop为最大因素


    转自:http://blog.chinaunix.net/uid-26000296-id-4932826.html

    编码器用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分发时,下载的速度可能没有这么快,所以延迟应该会比这个高。

  • 相关阅读:
    luoguP5024 保卫王国 动态dp
    luoguP4571 [JSOI2009]瓶子和燃料 裴蜀定理
    luoguP3235 [HNOI2014]江南乐 数论分块 + 博弈论
    luoguP4101 [HEOI2014]人人尽说江南好 结论
    hdu 3032 NIm or not Nim? Multi SG
    luoguP4279 [SHOI2008]小约翰的游戏 Anti-SG 博弈论
    luoguP3480 [POI2009]KAM-Pebbles 阶梯Nim
    Educational Codeforces Round 65 (Div. 2)
    [PKUSC2018]主斗地(搜索+贪心)
    Codeforces Round #557 (Div. 1)
  • 原文地址:https://www.cnblogs.com/dwj192/p/10254241.html
Copyright © 2020-2023  润新知