AVB概述

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

网络音视频数据传输过程中卡顿、花屏、音视频不同步了,主要原因如下:
1、网络不流畅,数据丢失或不能及时到达
2、多媒体同步问题
这些都是AVB面对的问题,区别是我们看的网络视频经广域网传输,而AVB解决的是局域网内的音视频传输问题。

二、如何解决呢

1. 网络传输问题

以太网是基于竞争的“争取最大努力传输”的分组报文网络,没错TCP是可靠的,但他的可靠建立在重传机制基础上,副作用是延时较大。

另外,中间转发节点(比如网络中的交换机、路由器)对报文的传输影响比较大。比如:传输过程中,如果中间的转发节点缓存队列已满,会导致后续数据包丢失。传输时延受转发节点的缓存状态影响,如果缓存队列中数据较多,传输延时就较大,缓存队列中数据较少,传输延时就较小。

如果可以构建这样一个网络,可以为音视频数据预留带宽(类似高速公路上的应急车道),保证音视频数据在规定的时间从源头到达目的地(时间敏感网络的概念),注意,带宽预留是AVB的一个重要组成部分。

2. 多媒体同步问题

多媒体同步包含两个方面的内容:

  • 媒体时钟恢复(频率同步),它解决的是按什么样的速度播放的问题
  • 播放时间同步(相位同步),它解决的是什么时候播放的问题

1、媒体时钟恢复
现实世界中音视频都是连续的模拟量,而以太网中传输的都是数字量,音视频采集过程中需要采样、量化、编码过程,其中涉及采样频率,而播放的过程中需要相同的频率进行播放,此为媒体时钟恢复
采样需要确定采样间隔,需要用参考时钟,有的采样系统用系统时钟为参考时钟,有的以外部时钟做参考时钟,可想而知,不采样系统同的参考时钟如果不同呢,必定或多或少不同步(比如A时钟的1ms可能对应实现世界的0.9ms,B时钟的1ms可能对应现实世界额1.1ms)。而且还可能受温度、运行时间等因素影响产生漂移。
问题来了:如何保证采集端的采集速率与播放端的播放速率一致(即如何恢复媒体时钟)?

2、播放时间同步
对于单一的音视频流,解决了媒体时钟恢复的问题,一般就能正常播放了。但是如果一个接收者 同时接收多条音视频流 ,或者一个发送者将音视频发送到 多个接收者同步播放 ,我们还要解决数据流之间的同步问题,保证同一时刻采样的数据在同一时刻播放,这就是播放时间同步。

同样如果参考时钟不同步,就会导致本来先播放的后播放,观众看来就是音视频不同步。
AVB中的精确时钟同步技术,可以让所有节点的本地时钟保持同步,为媒体时钟同步、播放时间同步提供了条件。

三、 AVB体系

AVB被称为时间敏感网络,它主要解决两个问题:

  • 延时问题:
    通过带宽预留,保证延时小,实时性好(延时可控,最坏情况下的延时不超过一定的阈值)
  • 同步问题:
    媒体时钟同步:不同的媒体类型有自己的媒体时钟,这些媒体时钟都映射到gPTP时间(同一个时间坐标系),接收端可以轻松进行媒体时钟恢复。
    播放时间同步:数据发送时指示接收方在未来的某个时间点播放,如果有多个接收者,它们就会在未来的同一时刻同时播放。

3.1 协议框架

全程Audio Video Bridging, 目的是在局域网中高效传输音视频数据。
AVB协议栈如下图所示:
在这里插入图片描述
可以看出,AVB主要是链路层的协议,它和传统的TCP/IP协议栈是并列共存的关系。

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

IEEE Std 802.1AS-2011:精确时钟同步协议(Generalized Precision Time Protocol,简称gPTP),用来将网络内所有节点的时钟同步同步到同一个主时钟。
IEEE Std 802.1 Qat:带宽预留协议(Stream Reservation Protocol,简称SRP),目前被整合在IEEE Std 802.1Q-2011 第35章。
IEEE Std 802.1 Qav:流量整形协议(Forwarding and Queuing for time-sensitive streams,简称FQTSS),负责对流量进行排队、转发管理,目前被整合在IEEE Std 802.1Q-2011 第34章。
IEEE Std 1722-2016:音视频传输协议(Audio Video Transport Protocol,简称AVTP)。
IEEE Std 1722.1-2013:音视频管理协议(Audio Video Discovery, Enumeration, Connection management, and Control protocol,简称AVDECC),负责服务发现,节点能力遍历,链接管理等控制功能。
IEEE Std 1733-2011:基于AVB的RTP/RTCP传输协议(Layer 3 Transport Protocol for Time Sensitive Applications in Local Area Networks),它主要是将传统的RTP/RTCP流映射到二层的AVB流,使用二层AVB的性能,从而降低延时、提高同步精度。

3.2 网络拓扑

它主要由两类节点组成:

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

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

3.3 典型应用场景

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

首先,gPTP协议保证了网络中所有节点的时钟是同步的。

其次,SRP协议为音视频数据预留了带宽,保证都能在一定的时间内到达目的地。

那么,如果在Talker端(DVR Player)就约定好,不同目的地的音视频数据在未来的同一时刻播放,是不是就实现了音视频同步?这就是AVTP协议中展示时间戳的意义所在。

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

参考文档:https://blog.coderhuo.tech/2020/03/22/AVB_summury/#3-%E5%85%B8%E5%9E%8B%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF

下一篇:gPTP简介

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android AVB (Android Verified Boot) 是安卓系统中的一种安全功能,目的是确保用户设备上的操作系统和应用程序未被篡改。它使用了基于密钥的验证方法,以验证设备上的固件和启动程序的完整性和可靠性。 Android AVB的工作原理是,在设备启动时,固件和启动程序会被验证。首先,设备会检查固件和启动程序的数字签名,以确保它们是由受信任的开发者签名的。如果签名验证通过,则设备会继续启动,否则会发出警告或者拒绝启动。 除了验证签名外,Android AVB还会检查系统分区的哈希值是否与预期的哈希值匹配。这些哈希值是在设备正常运行时生成的,并被记录在一个被称为AVB表的数据结构中。如果发现系统分区的哈希值与预期的哈希值不匹配,设备将中断启动并显示一条警告信息。 通过使用Android AVB,设备能够有效防止来自未经授权的来源的操作系统和启动程序的篡改。这增加了设备的安全性,使用户能够放心使用设备,而不担心潜在的恶意软件或未经授权的更改。 总之,Android AVB是安卓系统中的一种安全功能,它通过验证数字签名和哈希值来确保设备上的操作系统和启动程序的完整性。它帮助防止未经授权的篡改,提高了设备的安全性。 ### 回答2: Android AVB(Android Verified Boot)是安卓系统中的一种验证引导机制,它通过在设备启动过程中验证系统的完整性,防止未经授权的修改及恶意软件损害系统安全。以下是关于Android AVB的一些要点。 首先,Android AVB使用数字签名验证系统引导映像的完整性。在设备启动时,引导加载程序(Bootloader)会验证引导映像的签名,只有通过数字证书签名的映像才能被加载,这样可以确保系统引导过程没有受到非法篡改。 其次,Android AVB启用分区级别的验证,每个分区的映像都需要通过数字签名进行验证。这使得系统分区、供应商分区和OEM分区等可以被独立验证,并且可以防止未经授权修改。 另外,Android AVB还使用了完整性元数据(Integrity Metadata)来确保系统分区的数据安全。完整性元数据存储了每个分区的哈希值和签名信息,设备启动时会加载并验证这些元数据,以确保分区的数据没有被篡改。 最后,Android AVB还可以在设备上使用强制加密(Force Encryption)来确保用户数据的密钥只能被正确验证的引导映像解锁。这可以防止未经授权的访问或修改用户数据。 总的来说,Android AVB通过数字签名、分区级别的验证以及完整性元数据等机制,确保了安卓设备系统引导过程的完整性和安全性,并且防止了未经授权的修改和恶意软件的攻击。 ### 回答3: Android AVB是指Android Verified Boot的缩写,是一种用于验证和保护Android设备的引导过程的安全机制。它的目标是检测和阻止未经授权的软件从设备的启动过程中加载和运行。 Android Verified Boot通过使用数字签名和哈希算法来验证引导镜像的完整性和真实性。在设备启动的过程中,它会使用设备制造商预装的公钥来验证引导镜像的数字签名是否有效,并且只有当验证通过时才会加载和运行系统。这样可以防止未经授权的软件或者恶意代码被插入到引导过程中,提高了设备的安全性。 此外,Android AVB还可以更容易地检测到设备的Root状态和未经授权的修改。通过保护系统分区和检测分区是否已被修改,它可以提供更可靠的保护机制,防止未经授权的软件或者恶意代码对设备进行篡改。这可以帮助用户避免安全漏洞和数据泄露。 总之,Android AVB是一种用于验证和保护设备启动过程的安全机制,通过验证引导镜像的完整性和真实性,检测设备的Root状态和分区是否被修改,提高了Android设备的安全性。这有助于保护用户的个人数据和设备免受恶意软件和未经授权的修改的威胁。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值