杜比编码器ac3

简介: 杜比编码器ac3

ac3编码器ffmpeg本身带有,不需要第三方库。

以下结论均是实测得到。

ac3对于ffmpeg多声道中的宏,如下宏不支持:

not sport:AV_CH_LAYOUT_7POINT1_WIDE_BACK AV_CH_LAYOUT_7POINT1 AV_CH_LAYOUT_7POINT1_WIDE AV_CH_LAYOUT_OCTAGONAL AV_CH_LAYOUT_HEXADECAGONAL AV_CH_LAYOUT_STEREO_DOWNMIX

可以看出8声道的宏全不支持。

七声道的宏也全不支持:

AV_CH_LAYOUT_6POINT1

AV_CH_LAYOUT_6POINT1_BACK

AV_CH_LAYOUT_6POINT1_FRONT

AV_CH_LAYOUT_7POINT0

AV_CH_LAYOUT_7POINT0_FRONT

6声道的宏如下:

not sport:AV_CH_LAYOUT_6POINT0 AV_CH_LAYOUT_6POINT0_FRONT AV_CH_LAYOUT_HEXAGONAL

sport:AV_CH_LAYOUT_5POINT1_BACK AV_CH_LAYOUT_5POINT1 再试试其他六个声道的。

AV_CH_LAYOUT_5POINT1_BACK时,用ac3编码,第三个和第四个声道和其他声道耦合。第五个和第六个也与其他声道耦合。各个声道音频跳动很大。AV_CH_LAYOUT_5POINT1声道全耦合,跳动也很大。


ac3同样不支持以下宏

AV_MATRIX_ENCODING_DOLBYEX 2个通道

AV_MATRIX_ENCODING_DOLBY 1个通道

AV_MATRIX_ENCODING_DPLII 1个通道

AV_MATRIX_ENCODING_DOLBYHEADPHONE 2个通道

AV_CH_LAYOUT_NATIVE 1个通道,它的意思是指指定解码器输出的信道顺序为本机编码器信道顺序。


ac3支持下面宏

AV_MATRIX_ENCODING_NONE

AV_MATRIX_ENCODING_DPLIIX 2个通道

AV_MATRIX_ENCODING_DPLIIZ 1个通道

AV_MATRIX_ENCODING_NB 3个通道

ac3编码后的音频格式为fltp。

ac3不支持的音频格式:

AV_SAMPLE_FMT_S32

AV_SAMPLE_FMT_FLT

AV_SAMPLE_FMT_S16

AV_SAMPLE_FMT_DBL

AV_SAMPLE_FMT_U8

AV_SAMPLE_FMT_NONE

AV_SAMPLE_FMT_U8P

AV_SAMPLE_FMT_S16P

AV_SAMPLE_FMT_S32P

AV_SAMPLE_FMT_DBLP

AV_SAMPLE_FMT_S64

AV_SAMPLE_FMT_S64P

AV_SAMPLE_FMT_NB


ac3支持的音频格式:

AV_SAMPLE_FMT_FLTP


eac3支持的宏:

AV_CH_LAYOUT_5POINT1

AV_CH_LAYOUT_5POINT1_BACK

eac3不支持的:

AV_CH_LAYOUT_6POINT0

AV_CH_LAYOUT_6POINT0_FRONT

AV_CH_LAYOUT_HEXAGONAL

AV_CH_LAYOUT_6POINT1

AV_CH_LAYOUT_6POINT1_BACK

AV_CH_LAYOUT_6POINT1_FRONT

AV_CH_LAYOUT_7POINT0

AV_CH_LAYOUT_7POINT0_FRONT

AV_CH_LAYOUT_7POINT1

AV_CH_LAYOUT_7POINT1_WIDE

AV_CH_LAYOUT_7POINT1_WIDE_BACK

AV_CH_LAYOUT_OCTAGONAL

AV_CH_LAYOUT_HEXADECAGONAL

AV_CH_LAYOUT_STEREO_DOWNMIX


对于6-8声道的布局aac支持情况如下

aac不支持的宏:

AV_CH_LAYOUT_5POINT1

AV_CH_LAYOUT_6POINT0

AV_CH_LAYOUT_6POINT0_FRONT

AV_CH_LAYOUT_HEXAGONAL

AV_CH_LAYOUT_6POINT1

AV_CH_LAYOUT_6POINT1_BACK

AV_CH_LAYOUT_6POINT1_FRONT

AV_CH_LAYOUT_7POINT0

AV_CH_LAYOUT_7POINT0_FRONT

AV_CH_LAYOUT_7POINT1_WIDE

AV_CH_LAYOUT_HEXADECAGONAL

AV_CH_LAYOUT_STEREO_DOWNMIX

aac支持的宏:

AV_CH_LAYOUT_5POINT1_BACK //解码后音柱不正常。

AV_CH_LAYOUT_7POINT1

AV_CH_LAYOUT_7POINT1_WIDE_BACK //解码后音柱正常


这些宏定义转换成二进制数后,有几个1就代表有几个通道。

多的通道由低的通道布局组成,如AV_CH_LAYOUT_STEREO就是由AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT通道组成,这里不仅是组成关系,还有通道的顺序,第一个通道就是AV_CH_FRONT_LEFT,第二个通道就是AV_CH_FRONT_RIGHT。


第四个无法显示的声道是AV_CH_BACK_LEFT

根据音频格式宏,得出占几个字节。

av_get_bytes_per_sample(AV_SAMPLE_FMT_S16)=2,av_get_bytes_per_sample(AV_SAMPLEAV_SAMPLE_FMT_S32)=4


返回值是一个单通道在一个通道布局中的第几个声道,注意第一个声道是0,比如AV_CH_FRONT_RIGHT在AV_CH_LAYOUT_STEREO中的声道数是1。

int av_get_channel_layout_channel_index(uint64_t channel_layout,uint64_t channel);


在ffmpeg4.4.1中包含这个宏,它支持22个声道:

AV_CH_LAYOUT_22POINT2


根据通道个数,获得默认的布局。

int64_t av_get_default_channel_layout(int nb_channels)


根据通道布局获得对应的通道数

int av_get_channel_layout_nb_channels(uint64_t channel_layout)


DTS:即数字影院系统(Digital Theater Systems),是一种多声道的编码格式,但它的编码码率很高,为768-1536kbps,听觉效果优于ac3,但它的压缩比只有3:1。

ac3被广泛用于5.1声道,它的编码码率为384-448Kbps,分为左/右前置,中置/低音,左/右后置环绕。低音声道是120Hz以下。AC-3要求的pcm输入流的采样频率可以为48 kHz、 44.1 kHz、 或 32 kHz 中 的 任何 一种,而且是20bits。压缩比是1:9~10。AC3在ffmpeg中支持的音频格式宏只有AV_SAMPLE_FMT_FLTP,编码后产生的音频格式宏也是AV_SAMPLE_FMT_FLTP。ac3编码,实测每次送进编码器的采样数可以是1536,根据其编码器原理,猜测只支持这个采样数,未实证考究。


ac3的一帧包含有6个blocks,以及一个header。header中包含ac3的类型,采样率信息,帧长,输入通道数等。

像MP3、AAC一样,AC3利用声音的掩蔽特性,使用改进的离散余弦变换(MDCT)进行压缩。

E-AC-3支持多达15个全带宽音频通道,最大比特率为6.144Mb/s。音频声道:1.0到15.1(即从单声道到15个全音域通道和一个低频声道)


Dolby Surround 7.1 格式包括8个通道,并按以下通道布局:Left(左),Centre(中),Right(右),Low-Frequency Effects (LFE)(低频效果),Left Surround(左环绕),Right Surround(右环绕),Back Surround Left (new)(后左环绕(新的)) 和 Back Surround Right (new)(后右环绕(新的))

普通声道向ac3编码声道映射表


image.png

相关文章
|
6月前
|
机器学习/深度学习 编解码 边缘计算
YOLOv5改进 | 卷积模块 | 用ShuffleNetV2卷积替换Conv【轻量化网络】
本文介绍了如何在YOLOv5中用ShuffleNetV2替换卷积以减少计算量。ShuffleNetV2是一个轻量级网络,采用深度可分离卷积、通道重组和多尺度特征融合技术。文中提供了一个逐步教程,包括ShuffleNetV2模块的代码实现和在YOLOv5配置文件中的添加方法。此外,还分享了完整的代码链接和GFLOPs的比较,显示了GFLOPs的显著减少。该教程适合初学者实践,以提升深度学习目标检测技能。
YOLOv5改进 | 卷积模块 | 用ShuffleNetV2卷积替换Conv【轻量化网络】
|
4月前
|
编解码 人工智能 Linux
SD中的VAE,你不能不懂
要想生成一幅美丽的图片,没有VAE可不行
SD中的VAE,你不能不懂
|
6月前
|
算法 安全 测试技术
移相全桥DC-DC变换器
本文介绍了基于PPEC-86CA3A移相全桥数字电源控制芯片的电源设计与开发过程。首先,文章讲解了如何搭建移相全桥变换器的外围电路,并展示了相关硬件平台的图片。接着,详细阐述了使用PPEC Workbench软件进行快速开发的步骤,包括新建工程、设置控制参数、启动参数、保护参数以及通讯端口的选择,并提供了下发参数和调试的操作指南。在功能验证部分,涉及了采样校正、保护功能(如输出过压保护)的验证以及开环和闭环调试。最后,提到了PPEC-86CA3A芯片和PPEC Workbench软件在电源研发中的重要角色,它们简化了电源设计和调试的流程,降低了开发难度。
|
6月前
|
算法 安全 测试技术
移相全桥DC-DC变换器快速设计与开发
本篇将基于PPEC-86CA3A移相全桥数字电源控制芯片以及PPEC Workbench开发软件带领大家进行实际移相全桥DC-DC变换器的设计与开发 。 一、移相全桥变换器设计与开发 1、外围电路设计与硬件平台搭建 1)外围电路设计 这里给出了PPEC-86CA3A移相全桥数字电源控制芯片的采样、PWM驱动以及硬件保护等外围电路设计图,大家可参考下图进行外围电路搭建与连接。 2)硬件平台搭建 大家可根据前文介绍的参数设计方法进行电源拓扑的器件选型,再按照外围电路设计图搭建PWM驱动电路、采样电路以及保护电路并与电源控制核心进行连接。移相全桥DC-DC变换器的硬件测试平台如图。 2
150 2
|
6月前
|
机器学习/深度学习 自然语言处理 机器人
编码器-解码器(Encoder-Decoder)结构
编码器-解码器(Encoder-Decoder)结构
671 5
|
6月前
|
机器学习/深度学习 数据处理 计算机视觉
YOLOv5改进 | 2023 | 将RT-DETR模型AIFI模块和Conv模块结合替换SPPF(全网独家改进)
YOLOv5改进 | 2023 | 将RT-DETR模型AIFI模块和Conv模块结合替换SPPF(全网独家改进)
307 0
|
机器学习/深度学习 计算机视觉 文件存储
YOLOv5改进系列(5)——替换主干网络之 MobileNetV3
YOLOv5改进系列(5)——替换主干网络之 MobileNetV3
8170 2
YOLOv5改进系列(5)——替换主干网络之 MobileNetV3
|
算法
卷积码编码器的结构与表示
卷积码编码器的结构与表示
11206 1
卷积码编码器的结构与表示
|
缓存 NoSQL
KUC720AE101 ABB 遵循提取、解码和执行步骤
KUC720AE101 ABB 遵循提取、解码和执行步骤
144 0
KUC720AE101   ABB 遵循提取、解码和执行步骤
|
编解码
STM32F103C8 AD单通道
STM32F103C8 AD单通道
95 0