B站HI-RES的重編碼到底有沒有損失?如何只從音頻碼率判斷B站HIRES視頻真實(shí)音頻數(shù)據(jù)量

大家好,首先非常感謝大家一如既往對我們的支持。
最近做了一些實(shí)驗(yàn)(也不能叫做實(shí)驗(yàn),就算是B站的性能測試吧),其中有音頻的,也有視頻的。
視頻部分呢,肯定B站大佬們的知識性和專業(yè)性都比我強(qiáng)得多的多,所以就不在這兒班門弄斧了,所得的視頻實(shí)驗(yàn)數(shù)據(jù)也已經(jīng)和工作組的其他小伙伴們交流過了。
本文章就著重聊聊B站的HIRES音頻功能里,大家關(guān)注最多的兩個(gè)問題,這兩個(gè)問題是我在翻我視頻的評論和私信,已經(jīng)QQ粉絲群里基本上是討論最多的幾個(gè)問題之一了。
再次強(qiáng)調(diào)(自保),本人非以音頻編輯制作為生計(jì)的從業(yè)者,所論述的觀點(diǎn)也可能不是很對,請大家理性討論,歡迎大家友善交流并指出不當(dāng)之處,但是如果你是來找茬抬杠的,那我就不客氣的拉黑你了,因?yàn)楫吘怪袊诉€是太多了不是嗎?

首先,先討論一下朋友們關(guān)心的最大的問題:B站HIRES音頻的重新編碼到底會不會有損原音質(zhì)??
這個(gè)問題是有省時(shí)助手的:B站轉(zhuǎn)碼后的HIRES音頻對比原上傳音頻文件完全無損失。
先拋出結(jié)論可能就會有人抬杠:怎么可能?B站都會對視頻二壓后有損畫質(zhì),難道音頻就不會?
這種抬杠我只能說是呵呵。這就純屬缺席審判加有罪推論了,根本就是靠想象去研究問題……
昨天我們上傳了4個(gè)測試用的視頻。

我們用某種方式把這四個(gè)視頻的HIRES音軌給緩存了出來。文件是M4S格式的,用MKVTOOLNIX查看顯示里邊封裝了FLAC音軌。
于是我們將其中的FLAC音軌拆解了出來,然后將該音軌無損轉(zhuǎn)換成WAV文件(與我們上傳視頻時(shí)封裝在視頻中的音軌格式相同)。
之后我們進(jìn)行了對比:

其中文件大小是一個(gè)字節(jié)都不差,說明持續(xù)時(shí)間可以精確到微秒級的一致了。你可能會說:「因?yàn)閃AV的關(guān)系,文件長度一樣,但是內(nèi)容不一樣,它文件大小也是一樣的。」那好繼續(xù)往下看。
我們對這四組文件進(jìn)行了AU的「振幅統(tǒng)計(jì)」分析:

「頻率分析」:

以及波形圖和頻譜圖的對比:

其中所有數(shù)據(jù)都是一模一樣的。我們觀察了波形圖和頻譜圖,也是一模一樣。所以我們就可以認(rèn)定,B站編碼后的HIRES FLAC在音頻數(shù)據(jù)信息上是完全一致的。
至于B站的HIRES編碼,我認(rèn)為這是一個(gè)高壓縮率的FLAC編碼,這個(gè)在我之前的文章也有說過:

實(shí)際情況是:對于FLAC這種編碼,無論他再怎么高壓縮,它能還原出來的音頻信息是不會有損失的。為什么B站用了這么高壓縮率的模式,那答案肯定就是因?yàn)榫W(wǎng)絡(luò)帶寬成本和服務(wù)器空間成本,這些都是要錢的。所以B站使用一個(gè)盡量高的壓縮也是十分合理的,因?yàn)檫@個(gè)高壓縮并沒有影響音質(zhì)。
2022/9/15更新
經(jīng)我們進(jìn)一步測試,證實(shí)了B站的HIRES音頻流完全和上傳之前視頻里封裝的音頻完全相同:
我們用特殊手段得到了B站的音頻流,有的以.m4s封裝,有的則以.m4a封裝,但是數(shù)據(jù)流編碼均為FLAC編碼。其中B站的音頻流文件與我們封裝的音頻文件的「音頻MD5」完全相同。
(有關(guān)MD5是什么東西請百度)
下圖左側(cè)是封裝的原FLAC格式音頻,右側(cè)為B站HIRES音頻流文件。

可以看出,封裝格式不同,但是編碼都是FLAC,只是B站的編碼器壓縮率更高,我們的壓縮率為level6,經(jīng)測試B站的壓縮率比FLAC1.2的編碼器的最高壓縮率level8還要高。
但是無論壓縮率怎樣高,這些都是毫不影響音質(zhì)的。
所以,有人評論說B站會「二壓音質(zhì)」就純屬無稽之談了。目前現(xiàn)在B站的所有APP,包括計(jì)算機(jī)應(yīng)用、網(wǎng)頁版和移動設(shè)備,都不能繞開SRC。這個(gè)我覺得也不是完全應(yīng)該B站背鍋,操作系統(tǒng)的設(shè)計(jì)也占到一定的責(zé)任,畢竟在音頻數(shù)據(jù)層面B站是沒有打任何折扣的。如果你可以調(diào)整系統(tǒng)的SRC,那么損失可以說是微乎其微,對于大多數(shù)人來說SRC和原音頻采樣率一致(或SRC高于B站音頻采樣率96kHz/24bit)的話,是很難分辨出來的差距和區(qū)別的(可能你不是那大多數(shù)人),如果您對此感到懷疑的話,可以自行盲聽測試或分析音頻文件。
如果說,話都說到這兒了,有些人還是要罵B站垃圾、HIRES功能是噱頭的話,那沒準(zhǔn)我也可以理解為是他們無能,畢竟他們沒有能力去改SRC,也不能給B站提供一個(gè)更好的獨(dú)占方案,而只能「無能狂怒」似的罵罵B站而已。

下面是本文的第二部分
有些朋友與我交流說:「UP,你的視頻都有標(biāo)注詳細(xì)的采樣率、位深度,甚至最后還會貼出頻譜圖。但是現(xiàn)在HIRES的視頻越來越多,他們并沒有詳細(xì)標(biāo)注,有些音頻碼率也很小還標(biāo)注了96k/24bit,這個(gè)應(yīng)該怎么區(qū)分呢?」
就這個(gè)問題,其實(shí)我也不能給予一個(gè)完全準(zhǔn)確的答案,原因還是看我這篇文章關(guān)于「音頻文件就是個(gè)容器」這個(gè)比喻:

對于B站的HIRES音頻的FLAC編碼,我們可以使用如下小技巧來大概判斷這是個(gè)什么級別的HIRES,因?yàn)锽站會把所有音頻統(tǒng)一用他們的壓縮率和編碼方式去重新編碼,所以在音頻碼率可上以做到一個(gè)「同級別一致」(自己編的詞,理解一下吧)。
首先明確一點(diǎn),B站HIRES音頻的最大采樣速率是96kHz,位深度統(tǒng)一為24bit
以我們的4個(gè)測試視頻為例:
如果這個(gè)音頻是一個(gè)動態(tài)比較大的,比較激烈的JPOP的話,那么音頻碼率可以大概是這樣的一個(gè)對應(yīng)關(guān)系:
如果封裝為96kHz/24bit(每聲道的音頻頻譜最大可達(dá)48kHz)
實(shí)驗(yàn)1:若該音頻最高頻譜達(dá)48kHz的話,那么音頻碼率大致應(yīng)為3000~3200kbps左右。


實(shí)驗(yàn)2:若該音頻最高頻譜達(dá)33kHz左右的話(上邊1/3是沒有數(shù)據(jù)),那么音頻碼率大致為應(yīng)為2500~2700kbps左右。


實(shí)驗(yàn)3:若該音頻最高頻譜只有22k左右,例如48k/24bit或CD音頻,把他們強(qiáng)行以改變采樣率的方法封裝成96/24的音頻的話,那音頻碼率可能僅為2000~2300kbps。


如果該HIRES音頻封裝為48kHz/24bit(每聲道的音頻頻譜最大可達(dá)24kHz)
實(shí)驗(yàn)4:若該音頻的響度比較大,且頻譜圖已經(jīng)如圖所示全占滿的話,音頻碼率可達(dá)1900kbps左右,基本上和上邊的實(shí)驗(yàn)3類似。


如果CD音頻用更改位深度的方法欺騙B站識別為HIRES音軌,使其不會被壓縮,碼率也可能僅有1400kpbs左右,不會很高。
請注意:以上實(shí)驗(yàn)均基于響度大,實(shí)際音頻數(shù)據(jù)比較多的流行類歌曲進(jìn)行試驗(yàn)。
若該音頻為古典獨(dú)奏:特別是鋼琴小提琴獨(dú)奏,音頻碼率基本上與上方實(shí)驗(yàn)3的音頻碼率相似。
若該音頻不是一直像實(shí)驗(yàn)用歌曲那么動感,比如是抒情歌曲,或者副歌部分比較動感,前半部分比較抒情,那么碼率上在上述實(shí)驗(yàn)數(shù)據(jù)上還要打一個(gè)9折(85%~90%)左右可能比較準(zhǔn)。

以上就是本文的全部內(nèi)容,基本上就是一個(gè)心得的交流和解答一下一些評論和私信中朋友們比較關(guān)心的問題。
如果再有什么其他問題,也歡迎您在本文評論區(qū)、本號每個(gè)視頻下方的評論區(qū),甚至是私信和QQ群與我們交流。
另外,歡迎您友善地提出意見和建議,但是不代表up會100%無條件接受和采納您的意見和建議~我們在和您交流類似于這個(gè)問題時(shí),肯定會闡述和維護(hù)我們現(xiàn)有的技術(shù)和觀點(diǎn),請不要覺得我們的反駁就是對您的不友善,謝謝大家。
最后重申一下,上述所有實(shí)驗(yàn)均為本人親自試驗(yàn),結(jié)果只能當(dāng)作竅門、心得交流用途使用,不能代表任何官方的意見,請大家悉知。本人可保證所有數(shù)據(jù)真實(shí)有效,但是可能不能保證是完全準(zhǔn)確和完全正確的。不當(dāng)之處請友善討論。
?