0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

媒体传输协议的演进与未来

LiveVideoStack 来源:LiveVideoStack 2023-05-24 15:05 次阅读

音视频应用近年来呈现出迅猛的发展趋势,成为互联网流量的主要载体,其玩法丰富,形态多样,众多繁杂的媒体传输协议也应运而生。LiveVideoStackCon 2022北京站邀请到快手传输算法负责人周超,结合快手在媒体传输上的优化与实践,基于快手KTP、KLP、LAS等协议和标准,为我们介绍了媒体传输协议的演进与面临的挑战;还分享了最新的媒体传输标准CMTP,探索未来更多可能。

-01-

音视频大时代下媒体传输协议的繁华

本次分享会从媒体传输协议的现状、快手在媒体传输协议优化上的实践和对未来的展望三部分展开。

近几年,音视频技术发展迅速,叠加网络AI技术,音视频已无处不在,应用场景涵盖点播、直播、电商、实时互动、游戏、医疗和教育等多个方向。

从用户体验角度来看,音视频应用都需要在延迟、流畅度和清晰度之间寻找一个平衡点,对应到网络传输,本质就是需要在延迟、传输可靠性和带宽利用率之间找到一个平衡点。

8b9ee05a-f8fd-11ed-90ce-dac502259ad0.png

8c0afa1a-f8fd-11ed-90ce-dac502259ad0.png

基于此,音视频应用可以大致划分为三大类,即泛VoD、泛RTC和泛Live。

泛VoD偏重于点播类应用,对延迟不敏感,更注重传输可靠性和带宽利用率。泛RTC应用则对延迟非常敏感,在保证延时的前提下,才会追求传输的可靠性和带宽利用率。泛Live应用介于两者之间,对每个维度都有一定要求,并且不同的Live垂类场景,对三者(可靠性、延迟、带宽利用率)之间的平衡关系也有一定差异。

8c82f81c-f8fd-11ed-90ce-dac502259ad0.png

从架构上来看,泛VoD可以大致分为四个步骤。视频在采集和导入之后,叠加魔法表情等玩法,然后经过转码压缩上传到云端。在服务端进行审核和前处理等大量工作后,一般会进行二次转码,以进一步提高压缩率并生成多个质量的副本。最后,由CDN分发给用户,进行下载、解码、渲染和播放。

在生产端,创作者能否快速成功的发布作品,将直接影响他们的创作热情。

在消费侧,用户则更关注视频的清晰度和流畅度,这两个维度都需要可靠传输以及足够高的带宽利用率。提到可靠传输,最常见的就是HTTP协议和QUIC协议。此外,在消费侧,为了应对海量用户的差异性网络,一般会采用多码率自适应技术,例如DASH、HLS等。

8cafc3a6-f8fd-11ed-90ce-dac502259ad0.png

泛Live应用架构与泛VoD较为类似。主播和观众都希望获得低延迟、高清晰度和高流畅度的体验。但直播流实时产生,对传输的平稳性要求较高,对带宽利用率和延迟方面会做一定的妥协。例如,当网络出现剧烈波动时,允许出现丢帧和丢包。业内直播主要采用RTMP协议,近年来也在尝试QUIC协议,例如RTMP over QUIC的方案。在消费侧,通常也会采用多码率自适应技术。然而,常见的DASH和HLS技术,都是基于分片的架构,在直播场景中会带来较大的延迟。目前,为了降低直播延迟,许多厂商也在尝试基于WebRTC的快直播方案。

8ceed9f6-f8fd-11ed-90ce-dac502259ad0.png

泛RTC场景的目标非常明确,就是要实现超低延迟的互动。在满足低延迟的前提下,再提升清晰度和流畅度。目前使用最多的方案是WebRTC,很多公司也基于WebRTC进行了二次开发,形成自己的方案。

8d186492-f8fd-11ed-90ce-dac502259ad0.png

总体而言,每类应用场景目前都有各自比较成熟的协议,其稳定性高、各厂商支持好,但也存在灵活性差、跨层优化难和业务不感知等问题。

-02-

快手在媒体传输优化上的实践

8d505c30-f8fd-11ed-90ce-dac502259ad0.png

在快手的传输体系中,底层算法是最核心的部分,包括常见的拥塞算法、多码率自适应算法、弱网对抗算法等等。在此基础之上,我们设计了丰富的传输协议,例如KTP、LAS、AAS、KLP等。KTP是快手自研的第一个私有传输协议,用于直播推流、作品发布和RTC等业务场景;LAS是快手自研低延迟直播多码率自适应协议,目前已形成行标,几乎所有云厂商都支持;KLP是快手自研的直播拉流协议,用于提升直播拉流的传输效率;AAS是点播场景下的多码率自适应协议,包含短视频和长视频场景。

8d8aa818-f8fd-11ed-90ce-dac502259ad0.png

KTP在设计之初,就希望一个协议能同时支持支持点播、直播和RTC等多个业务场景,解决协议繁多、维护和优化成本高的问题。在架构上,KTP总体分为两层:底层是传输控制层,通过对协议的设计,支持在传输延时、可靠性和带宽利用率之间取得动态平衡。在其之上是业务感知层,感知业务特性,根据不同业务的特征,采取最佳的策略与算法。

8dbd137a-f8fd-11ed-90ce-dac502259ad0.png

通过实际测试对比发现,在直播推流场景,KTP在60%丢包率时,依然可以保持清晰、流畅的推流体验(左图),而RTMP在15%丢包率时,会发生严重卡顿,处于不可用状态(右图)。

8e2fa48a-f8fd-11ed-90ce-dac502259ad0.png

在作品发布场景上,基于KTP的通用上传服务,已经用户快手各个作品发布/文件传输的场景,并显著提升了作品发布成功率,从最初的70%~80%提升到99%以上。此外,即便在用户网络越来越复杂、作品大小越来越大的情况下,其发布耗时也一直处于下降的状态。

8e734f00-f8fd-11ed-90ce-dac502259ad0.png

最后,在RTC场景,KTP支撑着快手内部所有的RTC业务,例如PK、连麦、会议、StreamLake等等。基于先进的算法与架构,基于KTP的RTC解决方案,在体验和性能等多个维度上,都显著领先竞品。

8eb9ce76-f8fd-11ed-90ce-dac502259ad0.png

此外,在2021年ACM Multimedia的低延迟传输挑战赛中,快手也以巨大的优势取得了第一名的好成绩。

8f809ed4-f8fd-11ed-90ce-dac502259ad0.png

协议是桥梁,支撑各种功能与业务需求,但其传输性能主要取决于底层算法。例如网络领域的核心算法之一的拥塞控制算法,在过去几十年一直是研究的热点与难点,直接影响着协议的传输性能、带宽利用率、弱网抗性等。快手一直持续在算法领域深耕,例如自研的拥塞控制算法IA2C,性能远超BBR;基于强化学习的NNCC,在带宽利用率上取得新的突破;最近正在准备上线的下一代拥塞算法AQDC,在带宽利用率和延迟上,均取得显著收益。

8fc8e482-f8fd-11ed-90ce-dac502259ad0.png

8ff63cc0-f8fd-11ed-90ce-dac502259ad0.png

KTP广泛用于作品发布、直播推流和RTC等场景,并取得了很好的收益。但由于历史原因,在下行链路上,KTP并未很好的做支持和优化。于是,在2020年,我们复用了KTP的底层传输控制,并在此基础上,增加了适用于直播拉流特性的策略与算法,形成了KLP协议。KLP在海外上线的时候,取得了非常好的效果。

90363442-f8fd-11ed-90ce-dac502259ad0.png

909114ca-f8fd-11ed-90ce-dac502259ad0.png

在消费侧,为了应对用户差异性的网络特性,一般会采用多码率自适应技术,来平衡流畅度和清晰度,例如国际标准DASH和HLS,其大致原理为将视频文件转码成多个档位,每个档位进行分片处理,消费侧依据实时网络状况选择不同的分片,最终拼接成一个完整的视频。这两个标准成熟度高,但最初都是为点播设计,直接用于直播场景,会带来较大的延迟。

90c0d0a2-f8fd-11ed-90ce-dac502259ad0.png

在经过充分的调研和讨论后,快手决定自己建立一套低延迟的直播多码率标准,也就是LAS,目前LAS已经正式成为行标,也被业界广泛采用,相关细节可参考官网介绍(https://las-tech.org.cn/#/)。

9111d74a-f8fd-11ed-90ce-dac502259ad0.png

在点播多码率上,我们同时考虑了短视频和长视频之间的差异,形成了快手点播多码率自适应标准——AAS。在协议描述上,参考了MPD和DASH的设计,最核心的是快手自研究的多码率算法,包括传统基于模型的算法、基于深度学习的ABR等,这些算法在不同场景,均取得了非常好的效果。

9157103a-f8fd-11ed-90ce-dac502259ad0.png

此外,在2022年ACM Multimedia的短视频传输挑战赛中,快手也以巨大的优势取得第一名的好成绩。

91bf3746-f8fd-11ed-90ce-dac502259ad0.png

目前,快手的网络传输主要依托于自研的一系列协议,但仍存在一系列问题,例如下行场景覆盖不足、业务耦合、生态封闭、无法赋能行业、三方CDN不能全场景支持等。

-03-

下一代媒体传输协议:CMTP

91f111c6-f8fd-11ed-90ce-dac502259ad0.png

基于之前多个协议成功的经验和算法积累,我们期望设计一套全新的协议CMTP,可适用于所有场景,并能解决覆盖不足、生态封闭等问题。总体而言,CMTP具有以下四个特性:架构通用、全场景、高扩展性和特性丰富。

92658c90-f8fd-11ed-90ce-dac502259ad0.png

在架构上,CMTP分为五层:

UDP/TCP层:底层IO使用的网络协议,默认采用UDP,UDP灵活性高,易扩展,可以支持多种算法与策略,对于UDP Block的情况,则采用TCP。

传输控制层:支持UDP和TCP两种模式。基于UDP规范了协议字段、组包拆包方式、会话管理等,支持ARQ、FEC、拥塞控制、0-RTT、加密、多路复用等功能。基于TCP也规范了协议字段、组包拆包方式等,并支持加密、多路复用等功能。

传输表示层:规范了传输控制层所需要提供的接口和功能,包括媒体会话、媒体流的定义,以及媒体数据、控制信令的表示方式等,同时支持协议优选。

应用感知层:以组件化的方式组织,感知业务的不同需求,并通过对应的组件提供专属优化功能,包含直播组件(Live)、点播组件(VoD)、实时通信组件(RTC)和通用组件。各个组件功能独立,可插拔、替换或新增,从而保证其足够强的扩展性、兼容性和业务适应性。

通用接口层:规范了对外的标准接口和配置,包括客户端和服务端接口,元信息和通用配置的格式等。

92a3ed00-f8fd-11ed-90ce-dac502259ad0.png

目前CMTP已经在快手落地,也取得了显著的收益。此外,很多厂商也已经支持CMTP,并与快手一起推进标准化。未来,希望有更多团队加入我们,共同建设良好的CMTP生态。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HTTP
    +关注

    关注

    0

    文章

    467

    浏览量

    30324
  • 传输协议
    +关注

    关注

    0

    文章

    68

    浏览量

    11338
  • ai技术
    +关注

    关注

    1

    文章

    1141

    浏览量

    23709

原文标题:媒体传输协议的演进与未来

文章出处:【微信号:livevideostack,微信公众号:LiveVideoStack】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【RTC程序设计:实时音视频权威指南】信令与媒体协商

    媒体描述有多种格式,例如会话描述协议sdp,在通信中,双方交换完sdp后就可以进行数据传输了。 在传输过程中,可会可能会遇到一些问题,例如带宽的限制会导致发生网络拥堵,在rtc中带
    发表于 04-29 17:24

    网络传输协议有几种?

    网络传输协议是一种规定计算机在网络中进行通信的规则或标准。常见的网络传输协议有以下几种: 1. TCP/IP协议:TCP/IP(
    的头像 发表于 04-02 16:04 286次阅读

    编解码一体机在流媒体传输中的核心作用

    传输带宽的需求,还能降低存储空间的使用。 实时传输:编解码一体机支持实时传输协议,能够实现音视频流的实时传输,保证流
    的头像 发表于 01-31 14:20 144次阅读
    编解码一体机在流<b class='flag-5'>媒体</b><b class='flag-5'>传输</b>中的核心作用

    如何选择传输协议?TCP和UDP的优缺点和适用场合

    如何选择传输协议?TCP和UDP的优缺点和适用场合  传输协议是计算机网络中的重要组成部分,它负责在主机之间传输数据。常见的
    的头像 发表于 12-11 11:42 474次阅读

    TCP传输控制协议知识科普拓展

    传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
    的头像 发表于 11-27 17:46 645次阅读
    TCP<b class='flag-5'>传输</b>控制<b class='flag-5'>协议</b>知识科普拓展

    串口传输协议

    通信传输协议
    油泼辣子
    发布于 :2023年11月16日 17:18:55

    如何实现MQTT协议数据传输

    如何实现MQTT协议数据传输? 随着物联网技术的不断发展,越来越多的设备和应用需要实现互联互通。而MQTT作为一种轻量级的发布/订阅消息传输协议,在物联网领域应用广泛,成为了许多设备之
    的头像 发表于 11-15 17:23 618次阅读

    物联网MQTT消息传输标准协议技术介绍

    QUIC(Quick UDP Internet Connections)是由 Google 开发的一种新的传输协议,运行于 UDP 之上,旨在减少建立新连接所带来的延迟,提高数据传输速率,并解决 TCP 的一些限制。
    发表于 11-13 12:36 386次阅读
    物联网MQTT消息<b class='flag-5'>传输</b>标准<b class='flag-5'>协议</b>技术介绍

    信号协议中同步传输和异步传输有什么区别

    在信号协议中,有非常多的种类,如UART,I2C,SPI,PCIe等等,它们有自己的一套制定规则,但是在协议制定中,一定需要在同步和异步中选择其中一项作为传输规则。 所以这其中的同步传输
    的头像 发表于 11-07 14:50 505次阅读
    信号<b class='flag-5'>协议</b>中同步<b class='flag-5'>传输</b>和异步<b class='flag-5'>传输</b>有什么区别

    基于嵌入式Linux的无线多媒体传输系统设计与实现

    电子发烧友网站提供《基于嵌入式Linux的无线多媒体传输系统设计与实现.pdf》资料免费下载
    发表于 10-26 14:37 0次下载
    基于嵌入式Linux的无线多<b class='flag-5'>媒体</b><b class='flag-5'>传输</b>系统设计与实现

    请问视频网络传输需要哪些压缩或者解码协议

    现需要将stm32采集到的摄像头信息,通过网口传输给PC直接通过PC抓图,视频网络传输需要哪些压缩或者解码协议
    发表于 10-17 07:56

    SCTP流控制传输协议简析

    SCTP(Stream Control Transmission Protocol,流控制传输协议,RFC 2960、RFC 3286、RFC 3309)是一个 IP 协议之上的、可靠的、面向控制信令的、
    的头像 发表于 07-25 10:02 1122次阅读
    SCTP流控制<b class='flag-5'>传输</b><b class='flag-5'>协议</b>简析

    传统TCP设计的可靠传输协议详解

    传统TCP设计的可靠传输协议是一种基于TCP协议实现的可靠传输方法。下面是传统TCP设计的可靠传输协议
    的头像 发表于 07-21 16:51 438次阅读

    网络传输协议有几种 通信协议原理

     通信协议是指一组规则和约定,用于在通信双方之间进行数据交换和传输,确保数据能够准确、可靠地传输和解析。
    发表于 06-26 17:42 1290次阅读

    网络传输协议有几种

    TCP/IP协议:是一组用于互联网通信的协议,常常被称为TCP/IP协议族。TCP/IP协议分为两个协议层,即
    发表于 05-05 15:03 2897次阅读