云话题 | 第3期 你女朋友在买买买时,程序员小哥在干嘛?

2024-01-17 10:40

本文主要是介绍云话题 | 第3期 你女朋友在买买买时,程序员小哥在干嘛?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介: 年货节来了,你女朋友下单了吗?观看直播已经成为人们日常上网的习惯之一,直播购物作为其中的重要项目,销售额屡创新高。最近,天猫年货节刚刚开幕,淘宝直播中就涌入了不少的用户前来抢购,毕竟足不出户就可以买到全国甚至全球的年货,对热衷买买买的消费者们来说实在太方便了。那么,直播抢购背后到底蕴藏着哪些技术?平台在开发网络直播系统时为什么如此看重CDN?在高并发直播的当下,CDN的技术人员都需要关注什么?阿里云Edge Plus的第3期云话题,边缘酱将为你讲讲关于直播抢购与CDN的那些事。

年货节来了,你女朋友下单了吗?

观看直播已经成为人们日常上网的习惯之一,直播购物作为其中的重要项目,销售额屡创新高。最近,天猫年货节刚刚开幕,淘宝直播中就涌入了不少的用户前来抢购,毕竟足不出户就可以买到全国甚至全球的年货,对热衷买买买的消费者们来说实在太方便了。

那么,直播抢购背后到底蕴藏着哪些技术?平台在开发网络直播系统时为什么如此看重CDN?在高并发直播的当下,CDN的技术人员都需要关注什么?阿里云Edge Plus的第3期云话题,边缘酱将为你讲讲关于直播抢购与CDN的那些事。

你关心的,就是云话题
接下来进入正题

云话题 | 第3期 关于直播抢购与CDN的那些事

特邀专家:卢日 阿里云高级技术专家,GRTN网络总设计和布道师,目前负责阿里云视频直播产品和流媒体实时加速平台研发。

一、互联网直播最关键的技术指标是什么?

想必大家都知道,“直播”已经是非常普遍的一种娱乐形式了,直播的及时性和互动性成为信息触达、互动沟通的新媒介。随着5G、超高清、VR等技术的发展,主播与观众的互动需要更加实时,“延时”这个指标愈发的重要。
高延时影响了直播互动体验,阻碍了直播在一些场景的落地,特别在电商直播,直播间的评论提问是观众和主播互动的一个重要手段,主播的实时互动反馈对直播间的活跃度和交易达成至关重要。

二、直播中的那几秒延时都分布在哪里?

我们剖析直播延时的分布,在直播全链路可以分为7个步骤:分别是采集、编码、发送、分发、接收、解码和渲染。其中采集+编码,解码+渲染总体延时比较固定,共100ms左右,变动比较大的部分是分发和接收,从数十毫秒到数秒不等,主要取决链路时延抖动、协议栈的优化情况,以及CDN资源的覆盖情况。

所以,互联网上的直播的“延时”,主要是受限于不同地域、复杂的网络情况、传输速度等以上的原因。

image.png

三、技术人员如何才能在延时上有所突破?

为了帮助直播系统打破瓶颈,技术人员通常需要深入以上7个环节中进行优化。比如,编码器需要考虑发送时的拥塞情况,来实时调整码率进而缓解拥塞,从而降低延时;再比如传统的流媒体传输中媒体数据发送和底层的传输是相互独立的,底层TCP传输的拥塞控制算法是个通用算法,不会考虑媒体的特性,这样的分层结构是很难形成即时反馈系统的,为了保障流畅度,缓存区的大小设计会相对保守,从而牺牲了端到端的时延,如果传输层和应用层是一体化的,QoS控制针对媒体特性来专门设计,同时配合编码侧的码率控制,就能通过组合拳的方式,大大地降低延时。
在传统的架构里,这个7个环节相互独立,这样做的好处是团队分工比较明确,但问题就是优化手段很难做到跨界融合,导致无法做到系统级优化。

目前,国内常见的直播场景包括1对N广播式直播和N对N互动式直播,其中1对N广播式直播大部分采用RTMP、HLS或FLV协议,虽然具备集成方便、兼容性较好、支持大规模并发等优点,但延时最低也需要3-6秒;而N对N互动直播一般采用WebRTC/RTC协议,延时可以控制在800毫秒之内,但是无法支持大规模并发直播。所以,作为开放视频云服务的云计算厂商,阿里云推出了超低延时直播方案RTS(Real-time Streaming)。这个低延时直播方案是通过嵌入直播推流端与播放端SDK,或集成阿里云基于WebRTC的开放的自研协议,最终实现端到端毫秒级直播能力。

四、直播系统开发人员为什么如此看重CDN?

很多人会把CDN的存在比喻成网络系统中的“快递小哥”,其实它的工作原理就是在复杂的互联网传输链路上,首先确保大量的边缘节点覆盖,复用节点和网络资源,在接入成本、资源覆盖、承载能力上实现了最优平衡;然后,再通过一系列的负载均衡、分布式存储、智能调度、抗弱网优化、缓冲策略、网络请求的重定向和内容管理等技术优化手段,为终端请求的内容寻找一条最快、最优的传输路径。

所以,对于直播系统来说,CDN作为基础设施的资源储备十分重要。尤其是在大型活动期间业务流量突发,弹性、灵活的CDN可以在系统平稳方面发挥关键作用。

五、直播延时,还能进一步降低吗?

想要进一步降低直播延时,是流媒体开发人员的共同目标。卢日所带领的团队联合手淘技术、达摩院XG实验室在先后从直播、短延时直播拓展到RTC领域,并在QoS和AAA方面发力,最终成功构建了GRTN全球实时传输网。它的定位是基于中心云和边缘云的异构节点,构建超低延时、全分布式下沉的通信级流媒体传输网络。

目前,GRTN融合了互联网直播和RTC等多种业务场景的音视频流传输和交换。基于GRTN的短延时直播RTS可以支持标准H5 WebRTC推播,在千万级并发情况下延时可以控制在1s以内;RTC端到端延时可以控制在250ms左右。在2020双十一期间,淘宝首次启用了GRTN全球实时传输网络。数据显示,在启用了GRTN后,直播端到端的延时相较于传统的HTTPFLV/RTMP方式,降低了83%。未来GRTN会在节点资源覆盖和QoS上继续大力投入,在超大规模直播场景下将时延进一步压缩20%。欢迎大家关注“阿里云Edge Plus”微信公众号,后台留言GRTN进入用户交流群。

本文为阿里云原创内容,未经允许不得转载。

原文链接

这篇关于云话题 | 第3期 你女朋友在买买买时,程序员小哥在干嘛?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/615752

相关文章

豆包 MarsCode 不允许你还没有女朋友

在这个喧嚣的世界里,爱意需要被温柔地唤醒。为心爱的她制作每日一句小工具,就像是一场永不落幕的浪漫仪式,每天都在她的心田播撒爱的种子,让她的每一天都充满甜蜜与期待。 背景 在这个瞬息万变的时代,我们都在寻找那些能让我们慢下来,感受生活美好的瞬间。为了让这份浪漫持久而深刻,我们决定为女朋友定制一个每日一句小工具。这个工具会在她意想不到的时刻,为她呈现一句充满爱意的话语,让她的每一天都充满惊喜和感动

LabVIEW程序员是怎样成长为大佬

成为一名LabVIEW编程领域的“大佬”需要时间、实践、学习和解决复杂问题的经验。尽管LabVIEW作为一种图形化编程语言在初期可能相对容易上手,但要真正成为精通者,需要在多个层面上深入理解。以下是LabVIEW程序员如何逐步成长为“大佬”的路径: 1. 打好基础 LabVIEW的大佬们通常在初期会打下非常坚实的基础,理解LabVIEW编程的核心概念,包括: 数据流编程模型:Lab

程序员必备心理学——心流

心理学之心流 前言一、“心流”是什么?二、心流的好处二、如何进入心流心流状态的四个阶段第一个阶段:挣扎第二个阶段:放松第三个阶段:心流第四个阶段:巩固 进入心流的技巧 总结题外话 前言 你是否常常感觉自己明明学习了一整天,但是就是感觉没有太多的收获。这个时候除了你的学习方向等问题之外,也可能是你的学习方法太低效了。作者本人就经常有这种情况,好在偶然间在b站刷到一个大佬的这个心

程序员都在使用的画图工具

大家好,我是袁庭新。 程序员都在使用的画图工具,你一定没用过这款画图工具吧!我教程中的架构图都是用它来画的。 比如我编写的RDB工作原理图就是用draw.io绘制的,如下图所示: 再例如Redis集群故障恢复原理图我也是通过draw.io工具绘制的,如下图所示: 是不是觉得draw.io绘制的图形特别简洁、美观。它的官网是: https://www.drawio.com dra

GitHub:代码是程序员沟通最直接的手段

如果不是 Andreessen horowitz 的投资,估计 GitHub 很难被福布斯、CNN、纽约时报等传统媒体注意到。普通大众之前不了解这个工具,是因为它距离记者的世界太远了——GitHub 是一个程序员所使用的托管项目的服务。 但在一些程序员眼里,它不仅是托管项目的地方,还是“开源”项目的大本营,而且是提高程序员“技术水平”和“技术品味”的地方,更是一个程序员社交的地方。

黑马程序员---银行业务调度系统

模拟实现银行业务调度系统逻辑 需求分析: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 异步随机生成各种类型的客户,生成各类型用户的概率比例为:         VIP客户 :普通客户 :快速客户 =  1:6:3。 客户办理业务所

黑马程序员---空中网面试题

空中网4k/5k月薪挑选大四实习生的线程题     两年前,我们一个大四的学员去应聘空中网的实习生职位,空中网只给他出了三道线程题,拿回家做两天后再去给经理讲解,如果前两题做好了给4k月薪,第三道题也做出来的话就给5k的月薪。这样的实习薪水和招聘要求,不需要有工作经验的限制,纯粹是技术功底的比拼和考核,而不像许多其他公司非要招两年工作经验的人,逼得那些刚毕业和未毕业的大学生不得不去撒谎,不得不去做

黑马程序员---线程并发库

软件包 java.util.concurrent 在并发编程中很常用的实用工具类。 请参见:            描述 接口摘要BlockingDeque<E>支持两个附加操作的 Queue,这两个操作是:获取元素时等待双端队列变为非空;存储元素时等待双端队列中的空间变得可用。BlockingQueue<E>支持两个附加操作的 Queue,这两个操作是:获取元素时等待队列变为非空,以及

黑马程序员---多线程

TraditionalTread 传统线程技术回顾 创建线程的两种方式: thread3中,同时创建了Thread的子类和Runnable,那么会优先执行Thread的子类,因为Runnable的代码被当做参数传到了Thread类里,Thread子类的run方法又覆盖了父类的方法,所以会执行Thread子类的代码。 package cn.itcast.heima;public class T

黑马程序员---代理

分析代理类的作用与原理及AOP的概念 代理的概念与作用  1.已经写好一个类,现在要为这个类增加一些功能,例如,异常处理、日志、计算方法的运行时间、事务管理、等等,你准备如何做? 现在我们写一个代理类: 保持了原来那个类的功能,又增加了你现在需要的功能。 主函数调用的时候,直接调用代理类就行了。 这就是代理类的功能。   2.编写一个与目标类具有相同接口的代理类,代理