近日,备受瞩目的 2024 年世界移动通信大会(2024 MWC 上海)在上海新国际博览中心和上海浦东嘉里大酒店盛大举行。作为亚洲地区连接生态系统的标志性盛会,MWC 以其深远的影响力和前瞻性视角,引领着行业潮流。本届大会以“未来先行(Future First)”为主题,聚焦“超越 5G”、“人工智能经济”、“数智制造”三大子主题。
作为领先的一站式场景化智能音视频 APaaS,七牛云应邀亮相,与来自全球的专业观众展开交流,共探未来数字世界发展新姿态。大会期间,七牛云 Miku 快直播产品全新发布,将超低延迟直播和 QRTC 传输网络打通,重塑未来视频直播新体验!
天下武功,唯快不破。
直播,同样要快。
想象一下,你正在直播一场足球比赛,但由于直播服务提供商的延时问题,导致屏幕前的观众观看到的比赛延时很高。这种时候,观众抱怨,你也沮丧。
我们都希望,直播中的延时最好为零。
但音视频的直播是一个非常复杂的工程系统,要做到非常低延时的直播,需要复杂的系统工程优化和对各组件非常熟悉的掌握。而常用的传统 HLS、FLV 直播受协议设计和软件实现限制,通常直播传输延时会在 5 秒~20 秒及以上范围。
延时的产生
谈到延时,它究竟是如何产生的?
直播延时的产生,涉及到数据的采集、编码、传输、解码和显示等多个环节。在直播过程中,每一个环节都可能成为延时的源头。比如,图像处理延时(画面剪裁、美颜、特效处理),视频编解码延时,网络传输的延时,播放下载功能的缓冲区。一般图像处理、数据拷贝、编解码带来的延时,都是毫秒级别的,真正会产生比较高延时的地方,一个是互联网上的网络传输延时,另一个就是播放下载功能的缓冲区了。
七牛云 Miku 快直播
但仅仅在转发系统层面去解决低延时的问题,也是不够的。比如在接入协议时如果是基于 TCP,那么延时就不可控。针对很多用户低延时、流畅播放的要求,七牛云于 2021 年推出了低延时直播产品。经过三年多的技术打磨,带来了超低延时的直播产品——Miku 快直播。七牛云不仅优化了协议与底层技术,还为基于微信生态下的各类直播业务场景提供了更为优渥的使用体验。支持千万级并发的同时,还实现了亚秒级开播体验,满足了用户对直播超低延时的核心诉求。
同时依靠七牛云自建的云边一体化架构的流媒体系统,实现大区高覆盖,综合使用七牛云海量节点,弹性调度,保证质量的情况下,降低使用成本。
七牛云 Miku 快直播在接入层采用了基于 WebRTC 拓展的 WHIP 和 WHEP 协议,使端到端延时平均控制在 800 毫秒以内,并且在 30%的丢包情况下依然能够流畅播放。这一技术突破,使客户在使用七牛云 Miku 快直播时无需嵌入任何 SDK,即可在浏览器和 APP 端实现流畅播放。
应用七牛云 Miku 快直播技术,使得体育赛事、电商直播、在线课堂等多种场景的互动直播体验得到了显著提升。实现亚秒级的延时,有效避免了观众在听到隔壁欢呼声后才看到进球画面的尴尬局面。早在 2018 年,七牛云便开始致力于 WebRTC 协议的产品化和优化,积累了深厚的技术经验。在开发 Miku 快直播时,我们继续改进这些经验并成功地扩展应用到直播场景中。
Miku 快直播的 QoE 优化
作为领先的一站式场景化智能音视频 APaaS 平台,早期在做音视频直播的时候,更关注的点通常是直播的成功率、画质是否卡顿、是否有模糊。但随着近年来技术的发展和用户要求的提高,我们把端到端的延时性纳入到了用户体验标准中,作为 QoE 里面一项非常重要的指标。
七牛云 Miku 快直播的 QoE 优化主要从三个方便入手:
第一,自适应平滑发送策略:重传是网络传输中引入延迟最大的因素。通过七牛云自研的 RTC 平滑发送策略,即使在网络抖动的情况下,也能在保持数据的实时性的同时显著降低重传率。
第二,音频动态冗余发送:音频的流畅度对于主观体验有很大影响。通过适当的音频冗余,即使在高丢包率的环境中,也能保持音频的流畅播放。
第三,视频 FEC 支持:适当的 FEC 冗余可以降低重传率,增强视频渲染的实时性。通过会话协商支持 XOR 和 Reed Solomon 两种 FEC 编码方式,可以根据网络状态自适应调整 FEC 发送速率,有效降低重传率。在丢包 10% 场景中,可以提升至少 1-RTT 的渲染延迟。
七牛云流媒体业务负责人宿度表示:“无论是体育赛事的激情瞬间,还是电商直播的互动购物,亦或是在线课堂的知识传授,七牛云 Miku 快直播都能提供稳定、流畅、超低延时的服务,满足用户对直播质量的高标准要求。通过持续的技术创新和迭代优化,七牛云将为用户带来更加流畅、超低延时的直播体验。并能将这一优势能力迁移到类似于 GPT-4o Demo 所呈现的音视频智能交互领域,与客户共同迎接生成式 AI 智能化时代的到来。”
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。