V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
goforwardv2
V2EX  ›  程序员

CDN 在直播时发挥的作用大吗?

  •  
  •   goforwardv2 · 2022-02-23 10:42:53 +08:00 · 4574 次点击
    这是一个创建于 783 天前的主题,其中的信息可能已经有所发展或是发生改变。

    很多云厂商都提供直播的功能,都会提到运用了 CDN 技术来减少延迟。但是我不明白的一点是,网站内容可以提前同步到加速节点,用户访问时就近访问,可以减少延时。但是直播是实时的。源站向其他加速节点同步的时候延迟应该也很大啊,那就是说,用户通过 CDN 加速节点来观看视频的时候,比从源站直接请求视频内容观看延时应该差不多的啊,说明 CDN 应该没有发挥作用啊。哪位了解的大佬科普下!

    40 条回复    2022-02-27 07:13:53 +08:00
    Tianao
        1
    Tianao  
       2022-02-23 10:45:38 +08:00
    1. 这点延迟对于直播来讲不算什么;
    2. 用户直接访问源站的路由不一定好,延迟可能比 CDN 中转一下更高。
    yuzo555
        2
    yuzo555  
       2022-02-23 10:45:44 +08:00
    看需求,你如果需求是实时通信,比如网课这种,那肯定用处不大;
    但如果是一对多并且可以接受一定延迟( 30 秒以内)的场景,比如游戏直播,那作用不就来了吗。
    yuzo555
        3
    yuzo555  
       2022-02-23 10:46:20 +08:00
    而且如果源站非 BGP 线路,CDN 也可以起到动态加速优化链路的效果。
    acbot
        4
    acbot  
       2022-02-23 11:06:59 +08:00
    CDN 作用: 一,分流避免源网站带宽瓶颈和性能问题;二,除非你和源站在同一个省市运营商否则得话,CDN 访问源路由肯定比家宽要好(路由跳数少,延迟低),带宽也要有保障得多。
    zhs227
        5
    zhs227  
       2022-02-23 11:11:46 +08:00
    1. 边缘与中心节点的链路质量优于服务器直接到用户的质量
    2. 通过 CDN 可以有效降低单台机器负载
    3. 通过 CDN 一般延迟会增加
    zong400
        6
    zong400  
       2022-02-23 11:16:01 +08:00
    我也好奇这个问题,cdn 和直播的概念应该是互斥的
    opengps
        7
    opengps  
       2022-02-23 11:16:54 +08:00
    我理解,源站必然需要经过一层 cdn 之类的服务进行分发,不然怎么可能有那么大的出口带宽支撑很多人同时访问
    mrgeneral
        8
    mrgeneral  
       2022-02-23 11:35:34 +08:00
    CDN 主要是链路优化和流量分发,延时在接受范围内是没问题的,并且大家都有延时,那就相当于没有延时了。

    实时会议这些不走 CDN ,主要是延时不可接受并且流量并不会很大。
    Routeros
        9
    Routeros  
       2022-02-23 11:41:35 +08:00
    实时性只是直播要求之一,在线人数也是
    libook
        10
    libook  
       2022-02-23 11:55:04 +08:00
    CDN 各节点和原站之间可以做线路优化,节点到客户端也可以做线路优化,客户端直接到原站不一定有优化。理论上来说是这样的,实际还得测一测才知道。
    wanwaneryide
        11
    wanwaneryide  
       2022-02-23 11:59:19 +08:00
    @zong400 你可以找一下那种主播屏幕带弹幕的,你可以试试发个弹幕,记下时间,到你看到主播的屏幕上显示弹幕的时间,大概会有个 30 秒左右的延迟。另外有些主播为了防止窥屏,自己设置延迟多少分钟之类的
    otakustay
        12
    otakustay  
       2022-02-23 11:59:33 +08:00
    CDN 等于百米跑步让个专业选手帮你跑 90 米,剩下 10 米你自己跑。比你自己跑 100 米快多了
    zpxshl
        13
    zpxshl  
       2022-02-23 12:07:44 +08:00 via Android
    直播三大协议之 hls ,延迟普遍在 20s 以上
    gadfly3173
        14
    gadfly3173  
       2022-02-23 12:09:14 +08:00
    事实上你可以试试看自己直播和看大主播直播的延迟,一般大主播的延迟反而会高一点,可能你发一条弹幕要过 10-20 秒才能在主播的画面上显示出来,而你自己直播的时候弹幕延迟可能只有 5 秒
    mytsing520
        15
    mytsing520  
       2022-02-23 12:11:06 +08:00
    实际上网上直播延迟一般在 10-30s 之间
    rekulas
        16
    rekulas  
       2022-02-23 12:14:43 +08:00
    短并不意味着快,这问题出租司机都能回答你
    直接访问 amazon 官网 vs 挂飞机访问 amazon 官网
    你觉得哪个更快
    不过对于直播来说,快应该不是用 cdn 的目的,应该是为了稳定性
    V9NN
        17
    V9NN  
       2022-02-23 12:21:03 +08:00
    大型活动直播必须做延时处理,这是政策要求。
    个人直播视平台政策而定(个人直播实名+平台审核人员实时审查)。

    所以我们看到的国内绝大多数直播节目并不是真·直播。

    CDN 有作用,一来减轻了平台负担,二来节约了带宽成本。
    lmmortal
        18
    lmmortal  
       2022-02-23 12:23:00 +08:00 via iPhone
    网络收音机比实体收音机延迟个好几十秒
    glfpes
        19
    glfpes  
       2022-02-23 12:27:38 +08:00 via iPhone
    Cdn 如果没有,那么所有的用户连接都打你服务器,岂不是要挂
    xppppsfg
        20
    xppppsfg  
       2022-02-23 12:41:32 +08:00
    我看斗鱼这些平台都会使用用户上传带宽来节省 cdn 成本
    hu8245
        21
    hu8245  
       2022-02-23 13:17:05 +08:00
    兄弟,对于直播,加入客户端量巨大,cdn 是必需的。你要说延迟,那其实 cdn 引入的延迟占比较低。况且有各种方式降低延迟。可以了解下 CMAF 协议
    feller
        22
    feller  
       2022-02-23 13:47:31 +08:00
    很好奇 春晚倒计时怎么没有延时,精确到秒,,,
    gstqc
        23
    gstqc  
       2022-02-23 13:59:32 +08:00 via Android
    @feller
    广电规定电视直播要加至少几秒钟的延迟。
    DonDonc
        24
    DonDonc  
       2022-02-23 14:00:31 +08:00
    @feller 春晚不是单纯直播,包含录播片段,还有为了审查的延时处理,倒计时其实没有精确到秒,我甚至听说过会提前开始,保证审查延时后播出时接近 0 点,不清楚真假。
    lsylsy2
        25
    lsylsy2  
       2022-02-23 14:11:57 +08:00
    假如服务器带宽能承受 1000 个用户
    直连:1100 人观看直播,卡了
    CDN:源服务器用 10 个用户的带宽分发给 10 个 CDN 节点,每个节点分担 110 个用户
    cominghome
        26
    cominghome  
       2022-02-23 14:13:11 +08:00
    @zong400 概念是互斥的,但是你的服务大概率是扛不住的
    LeeReamond
        27
    LeeReamond  
       2022-02-23 14:16:12 +08:00
    这主题很怪,毕竟如果按标题反过来说,也就是 CDN 作用不大的话,难道直播就要所有数据回源?一个用户就要 20M 带宽
    chengyiqun
        28
    chengyiqun  
       2022-02-23 14:17:18 +08:00
    会有延迟的, 比如斗鱼延迟一般就有十几秒
    TempTXT
        29
    TempTXT  
       2022-02-23 15:42:08 +08:00
    cdn 用于直播的本质是视频分片文件的缓存和分发,延迟改善是指望不上的,它解决的是观众量大的问题。所以就看你怎么理解“直播”了,从主播发出音视频到你看到中间差了不到 1 秒算不算直播,差了 5 秒 10 秒算不算直播,主播在平台故意设置 5 分钟的播放延迟算不算直播。
    zong400
        30
    zong400  
       2022-02-23 15:51:10 +08:00
    @wanwaneryide 怪不得抢不到红包,呵呵
    otakustay
        31
    otakustay  
       2022-02-23 15:56:16 +08:00
    @feller #22 春晚你可以这么理解,其实它在 23:59:20 就数倒计时了,然后 23:59:50 开始放给你看
    neroxps
        32
    neroxps  
       2022-02-23 16:50:43 +08:00
    非同一地点的直播不需要完全一致的进度,故此 CDN 还是有他的意义,最直接楼上都说,降低源服务器的负债,达到更多人可以观看直播的目的。
    xxfye
        33
    xxfye  
       2022-02-24 01:50:31 +08:00 via Android
    @feller 电视直播遵循 6 秒原则,出事导播手里按一下 cut 掉 3 秒,所以春晚提前 6 秒倒计时。
    实际上从总台到你家,组播延迟都 10s 往上,偏远点一分钟都有可能,因此现实过零点一会儿才会看到倒计时。
    这就是为什么看到外面一些烟花响了,春晚还没倒计时。倒计时说到底也只是个仪式,不准也没人关心。
    Cassius
        34
    Cassius  
       2022-02-24 07:00:27 +08:00 via Android
    现在用 rtmp 的 CDN 里,边缘节点与主节点的延迟也就是帧级的,对于用户来说,延迟差异一般都在一个 GoP 内,一般是 2s ,而且外加现在网宿阿里华为腾讯申网巴拉巴拉都对关键帧做了优化,到用户终端这边,秒开级方案也有不少了。
    对于点对多点的公开直播是必须上 CDN 的,不像多播,几个用户就能拉垮你上行带宽。
    至于苹果这边,Apple HLS 规范里面 Low Latency 方案也多了去了,提升切片速度,延迟也能控制在 6s 内了。
    如果要求实时性更高的 WebRTC 也可以部署 CDN ,同步也是毫秒级,看用的不同技术方案了。
    如果都回源的话,源站吃不消,用户横跨了多个节点体验也很差。
    jerryjhou
        35
    jerryjhou  
       2022-02-24 08:23:25 +08:00 via iPad
    这是 2022 还是 2002 的提问…CDN 不是只有静态资源分发一种
    xqk111
        36
    xqk111  
       2022-02-24 09:38:45 +08:00
    如果流量都冲到源站,可能比 cdn 的花费更多,成年人只看利弊。
    RickyC
        37
    RickyC  
       2022-02-24 10:08:10 +08:00
    不知道直播是否用到 CDN 技术;目前听说的直播技术名词有推流和拉流等等;
    掌握这个直播技术的不多;
    感觉连腾讯和阿里也在研究当中;
    似乎存在技术封锁。
    wangtian2020
        38
    wangtian2020  
       2022-02-24 11:08:58 +08:00
    国内一些直播网站用 WebRTC 技术,偷偷的在让用户之间互相 P2P
    还搁这用 CDN 呢,睿叔叔已经把带宽钱全省下来了

    哔哩哔哩的直播可以原画画质,视频画质却抠抠搜搜。猜猜为什么,因为直播不花自己的带宽,视频花的是自己的带宽
    Lush
        39
    Lush  
       2022-02-26 20:46:25 +08:00 via Android
    mayli
        40
    mayli  
       2022-02-27 07:13:53 +08:00 via Android
    > 很多云厂商都提供直播的功能,都会提到运用了 CDN 技术来减少延迟。

    你的理解估计有问题 直播主要问题是流量 走 Cdn 是用缓存牺牲延迟换吞吐量
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4831 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 04:02 · PVG 12:02 · LAX 21:02 · JFK 00:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.