前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AVB简介--第一篇:概述

AVB简介--第一篇:概述

作者头像
coderhuo
发布2020-04-02 18:03:02
5.5K0
发布2020-04-02 18:03:02
举报
文章被收录于专栏:coderhuocoderhuo
  • 一、音视频传输面临的主要问题
  • 二、如何解决这些问题
    • 1. 网络传输问题
    • 2. 媒体时钟同步问题
  • 三、AVB体系
    • 1.协议框架
    • 2. 网络拓扑
    • 3. 典型应用场景
      • a. 车载娱乐系统
      • b. 大型演唱会现场
  • 四、参考资料

本文是AVB系列文章的第一篇,简单介绍车载以太网中的AVB技术。

一、音视频传输面临的主要问题

大家想一下,在观看网络视频的时候,经常遇到的问题是什么?

  1. 卡顿
  2. 花屏
  3. (实时直播)延时大
  4. 音视频不同步

假设音视频源正常的,造成以上问题的原因是什么呢?

  1. 卡顿:网络不流畅、数据不能及时到达。
  2. 花屏:视频数据丢失、错误。然而这只是表面原因,根本原因也是网络不流畅、数据不能及时到达。
  3. (实时直播)延时大:网络不流畅、数据不能及时到达。
  4. 音视频不同步:网络网络不流畅、数据不能及时到达会造成这种现象,另外,媒体时钟不同步也会造成这种现象。

这样看来,影响网络音视频观看体验的主要原因基本上就下面两点:

  1. 网络不流畅,数据丢失或不能及时到达
  2. 媒体时钟不同步

这也是AVB要解决的主要问题。不同的是,我们观看网络视频一般是经由广域网传输,而AVB解决的是局域网内的音视频传输问题。

二、如何解决这些问题

1. 网络传输问题

我们知道,传统以太网是基于竞争的“尽最大努力传输”的分组报文网络。有人可能会说TCP是可靠的,不错,但它的可靠性是建立在重传机制上的,带来的副作用是延时加大。

另外,中间转发节点(比如网络中的交换机、路由器)对报文的传输影响比较大。比如:

  • 传输过程中,如果中间的转发节点缓存队列已满,会导致后续数据包丢失。
  • 传输时延受转发节点的缓存状态影响,如果缓存队列中数据较多,传输延时就较大,缓存队列中数据较少,传输延时就较小。

如果可以构建这样一个网络,它可以为音视频数据预留带宽(类似高速公路上的专用应急车道),那么不仅解决了竞争问题,还保证了音视频数据可以在规定的时间内从源头传输到目的地(时间敏感网络的概念)。

没错,带宽预留是AVB的一个重要组成部分。

2. 媒体时钟同步问题

以太网中传输的音视频都是离散的数字信号,而现实世界中的音视频都是连续的模拟信号。在音视频采集设备中,需要对模拟信号进行采样、量化、编码,才能转换为数字信号(简称模数转换,即A/D转换)。A/D转换过程中涉及到采样频率,即间隔多久采样一次。接收端收到数据后,按同样的频率进行播放。这就是媒体时钟同步

媒体时钟必须有个参考时钟,这样它才能知道从上次采集到现在过了多久,是否该进行下次采样。有的采集系统以系统时钟作为参考时钟,而有的采集系统以外部信号作为参考时钟。不同参考时钟很有可能是不同步的,比如A时钟的1ms可能对应实现世界的0.9ms,B时钟的1ms可能对应现实世界额1.1ms。另外,时钟都不是绝对稳定的,受温度、运行时间等因素影响都会产生漂移(就像手表,有的过段时间变慢了,有的过段时间变快了)。

问题来了,接收端怎么保证自己的播放速率和采集端的采集频率一致(即如何恢复媒体时钟)?如果没有一个统一的参考时钟,这是很难做到的。如果参考时钟不同步,就有可能导致本来该先播放的音频后播放,或者本该先播放的视频后播放,在观众看来就是音视频不同步。

AVB中的精确时钟同步技术,可以让所有节点的时钟保持同步,进而为媒体时钟同步提供了条件。

三、AVB体系

AVB被称为时间敏感网络,主要包含两方面含义:

  • 延时小,实时性好
  • 延时可控,最坏情况下的延时不超过一定的阈值

1.协议框架

AVB的全称是Audio Video Bridging,由一系列IEEE标准组成,目的是在局域网中高效传输音视频数据。

AVB协议栈如下图所示:

avb_stack
avb_stack

可以看出,AVB主要是链路层的协议,它和传统的TCP/IP协议栈是并列共存的关系。

AVB协议栈不仅包括了前面提到的带宽预留和时钟同步协议,还包括其他一些辅助协议,主要协议如下:

  1. IEEE Std 802.1AS-2011:精确时钟同步协议(Generalized Precision Time Protocol,简称gPTP),用来将网络内所有节点的时钟同步同步到同一个主时钟。
  2. IEEE Std 802.1 Qat:带宽预留协议(Stream Reservation Protocol,简称SRP),目前被整合在IEEE Std 802.1Q-2011 第35章。
  3. IEEE Std 802.1 Qav:流量整形协议(Forwarding and Queuing for time-sensitive streams,简称FQTSS),负责对流量进行排队、转发管理,目前被整合在IEEE Std 802.1Q-2011 第34章。
  4. IEEE Std 1722-2016:音视频传输协议(Audio Video Transport Protocol,简称AVTP)。
  5. IEEE Std 1722.1-2013:音视频管理协议(Audio Video Discovery, Enumeration, Connection management, and Control protocol,简称AVDECC),负责服务发现,节点能力遍历,链接管理等控制功能。
  6. IEEE Std 1733-2011:基于AVB的RTP/RTCP传输协议(Transport Protocol for Time-Sensitive Applications in Local Area Networks),它主要用于协调网络中的多个设备,比如以下场景:网络中有多个Talker且位于不同设备,接收端需要同步播放这些Talker的音视频数据。

2. 网络拓扑

AVB的网络拓扑如下所示:

avb_topology
avb_topology

它主要由两类节点组成:

  • End Station: 有时候也称为endpoint,它又分为Listener和Talker两种:
    • Listener:接收音视频数据的节点
    • Talker:输出音视频数据的节点
  • AV Bridge: 音视频网关

说明:

  • 一个节点可以包含多个Talker,即产生多条音视频数据流
  • 一个节点可以具有Talker和Listener的双重身份,既对外输出,又接收别人的数据

3. 典型应用场景

目前AVB主要应用在对时间敏感的场景中,比如工业控制,车载娱乐系统。下面简单举两个例子。

a. 车载娱乐系统
avb_in_vehicle
avb_in_vehicle

如上图所示,车内的DVD Player播放音视频文件,音频传输到扬声器,视频分别传输到后排座椅的两个显示器上。如何保证扬声器和两个显示器的同步,实现音视频同步?

  • 首先,gPTP协议保证了网络中所有节点的时钟是同步的。
  • 其次,SRP协议为音视频数据预留了带宽,保证都能在一定的时间内到达目的地。
  • 那么,如果在Talker端(DVR Player)就约定好,不同目的地的音视频数据在未来的同一时刻播放,是不是就实现了音视频同步?这就是AVTP协议中展示时间戳的意义所在。
b. 大型演唱会现场

大型演唱会现场都会布置多个扬声器来传输声音,可以简化成下面的模型。 那么如何控制这些扬声器同时“发声”? 道理一样,大家约定好在未来的同一时刻同时播放,先收到数据的节点把数据缓存起来,等待播放时刻的到来,然后产生“共鸣”。

avb_in_house
avb_in_house

四、参考资料

  1. https://avb.statusbar.com/page/developer-faq/
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、音视频传输面临的主要问题
  • 二、如何解决这些问题
    • 1. 网络传输问题
      • 2. 媒体时钟同步问题
      • 三、AVB体系
        • 1.协议框架
          • 2. 网络拓扑
            • 3. 典型应用场景
              • a. 车载娱乐系统
              • b. 大型演唱会现场
          • 四、参考资料
          相关产品与服务
          云直播
          云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档