杜比编码器ac3
ac3編碼器ffmpeg本身帶有,不需要第三方庫(kù)。
以下結(jié)論均是實(shí)測(cè)得到。
ac3對(duì)于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 再試試其他六個(gè)聲道的。
AV_CH_LAYOUT_5POINT1_BACK時(shí),用ac3編碼,第三個(gè)和第四個(gè)聲道和其他聲道耦合。第五個(gè)和第六個(gè)也與其他聲道耦合。各個(gè)聲道音頻跳動(dòng)很大。AV_CH_LAYOUT_5POINT1聲道全耦合,跳動(dòng)也很大。
ac3同樣不支持以下宏
AV_MATRIX_ENCODING_DOLBYEX 2個(gè)通道
AV_MATRIX_ENCODING_DOLBY 1個(gè)通道
AV_MATRIX_ENCODING_DPLII 1個(gè)通道
AV_MATRIX_ENCODING_DOLBYHEADPHONE 2個(gè)通道
AV_CH_LAYOUT_NATIVE 1個(gè)通道,它的意思是指指定解碼器輸出的信道順序?yàn)楸緳C(jī)編碼器信道順序。
ac3支持下面宏
AV_MATRIX_ENCODING_NONE
AV_MATRIX_ENCODING_DPLIIX 2個(gè)通道
AV_MATRIX_ENCODING_DPLIIZ 1個(gè)通道
AV_MATRIX_ENCODING_NB 3個(gè)通道
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
對(duì)于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 //解碼后音柱正常
這些宏定義轉(zhuǎn)換成二進(jìn)制數(shù)后,有幾個(gè)1就代表有幾個(gè)通道。
多的通道由低的通道布局組成,如AV_CH_LAYOUT_STEREO就是由AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT通道組成,這里不僅是組成關(guān)系,還有通道的順序,第一個(gè)通道就是AV_CH_FRONT_LEFT,第二個(gè)通道就是AV_CH_FRONT_RIGHT。
第四個(gè)無(wú)法顯示的聲道是AV_CH_BACK_LEFT
根據(jù)音頻格式宏,得出占幾個(gè)字節(jié)。
av_get_bytes_per_sample(AV_SAMPLE_FMT_S16)=2,av_get_bytes_per_sample(AV_SAMPLEAV_SAMPLE_FMT_S32)=4
返回值是一個(gè)單通道在一個(gè)通道布局中的第幾個(gè)聲道,注意第一個(gè)聲道是0,比如AV_CH_FRONT_RIGHT在AV_CH_LAYOUT_STEREO中的聲道數(shù)是1。
int av_get_channel_layout_channel_index(uint64_t channel_layout,uint64_t channel);
在ffmpeg4.4.1中包含這個(gè)宏,它支持22個(gè)聲道:
AV_CH_LAYOUT_22POINT2
根據(jù)通道個(gè)數(shù),獲得默認(rèn)的布局。
int64_t av_get_default_channel_layout(int nb_channels)
根據(jù)通道布局獲得對(duì)應(yīng)的通道數(shù)
int av_get_channel_layout_nb_channels(uint64_t channel_layout)
DTS:即數(shù)字影院系統(tǒng)(Digital Theater Systems),是一種多聲道的編碼格式,但它的編碼碼率很高,為768-1536kbps,聽(tīng)覺(jué)效果優(yōu)于ac3,但它的壓縮比只有3:1。
ac3被廣泛用于5.1聲道,它的編碼碼率為384-448Kbps,分為左/右前置,中置/低音,左/右后置環(huán)繞。低音聲道是120Hz以下。AC-3要求的pcm輸入流的采樣頻率可以為48 kHz、 44.1 kHz、 或 32 kHz 中 的 任何 一種,而且是20bits。壓縮比是1:9~10。AC3在ffmpeg中支持的音頻格式宏只有AV_SAMPLE_FMT_FLTP,編碼后產(chǎn)生的音頻格式宏也是AV_SAMPLE_FMT_FLTP。ac3編碼,實(shí)測(cè)每次送進(jìn)編碼器的采樣數(shù)可以是1536,根據(jù)其編碼器原理,猜測(cè)只支持這個(gè)采樣數(shù),未實(shí)證考究。
ac3的一幀包含有6個(gè)blocks,以及一個(gè)header。header中包含ac3的類(lèi)型,采樣率信息,幀長(zhǎng),輸入通道數(shù)等。
像MP3、AAC一樣,AC3利用聲音的掩蔽特性,使用改進(jìn)的離散余弦變換(MDCT)進(jìn)行壓縮。
E-AC-3支持多達(dá)15個(gè)全帶寬音頻通道,最大比特率為6.144Mb/s。音頻聲道:1.0到15.1(即從單聲道到15個(gè)全音域通道和一個(gè)低頻聲道)
Dolby Surround 7.1 格式包括8個(gè)通道,并按以下通道布局:Left(左),Centre(中),Right(右),Low-Frequency Effects (LFE)(低頻效果),Left Surround(左環(huán)繞),Right Surround(右環(huán)繞),Back Surround Left (new)(后左環(huán)繞(新的)) 和 Back Surround Right (new)(后右環(huán)繞(新的))
普通聲道向ac3編碼聲道映射表
https://bbs.csdn.net/topics/340266520?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164082489116780269890257%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164082489116780269890257&biz_id=&utm_medium=distribute.pc_search_result.none-task-community_post-2allfirst_rank_ecpm_v1~rank_v31_ecpm-16-340266520.pc_search_result_control_group&utm_term=ac3%E7%BC%96%E7%A0%81&spm=1018.2226.3001.4187
總結(jié)
- 上一篇: HaaS506 - M320快速开始
- 下一篇: 从零开始完整开发基于websocket的