【推測(cè)】B站H.265(HEVC)編碼的觸發(fā)條件


上回,我測(cè)試了下B站全面開(kāi)放的4K視頻的一些指標(biāo)。

其中,我提到有一點(diǎn):所有投稿的4K視頻都會(huì)被B站服務(wù)器二壓,并且產(chǎn)生H265(HEVC)編碼格式的視頻流供移動(dòng)端和win10?UWP客戶端使用。
關(guān)于啟用H.265格式,我并沒(méi)有又找到公開(kāi)的官方說(shuō)明,只是坊間流傳說(shuō)在做灰度測(cè)試。

這里只找到一個(gè)比較“官方”的文章,原作者是B站視頻云技術(shù)專家,負(fù)責(zé)視頻編解碼團(tuán)隊(duì),開(kāi)發(fā)自研hevc編碼器。
啟用H.265視頻編碼,目前我可以追溯到去年的8月份就開(kāi)始了,但是沒(méi)有官方的公開(kāi)說(shuō)明(其實(shí)這個(gè)大不必宣傳,畢竟一般用戶感知不強(qiáng)),使得最近看“知乎”與新4K相關(guān)回答的時(shí)候,看到有少部分人在吐槽B站上了4K卻不上H.265。
其實(shí)之前,我也不知道,畢竟我自己主要是使用網(wǎng)頁(yè)端比較多,UWP幾乎不使用,APP看不了視頻的參數(shù)信息(這好像有辦法看的,有知道的麻煩告知一下)。之前調(diào)查B站初期4K視頻的時(shí)候注意到了,就特別關(guān)注了下。除去4K,其他普通的視頻也會(huì)有H.265,我想看看怎么產(chǎn)生H.265視頻流,試過(guò)直接上傳H.265編碼,直接被轉(zhuǎn)成H.264。想到之前看到的H.265視頻都來(lái)自知名UP主,流量大的視頻用H.265省流量合情合理。之前以為H.265視頻是隨著視頻發(fā)布一并生成的,系統(tǒng)會(huì)因?yàn)槭侵鸘P的視頻預(yù)判它會(huì)流量較大轉(zhuǎn)出H.265供現(xiàn)在B站的流量主體移動(dòng)APP使用。

之后,我也沒(méi)有深入下去。直到昨天,我發(fā)現(xiàn)我自己幾周前上傳的一個(gè)視頻居然產(chǎn)生了H.265視頻流。

之前還用它,討論下B站疑似取消1080p60不二壓取消的問(wèn)題。其實(shí)初次發(fā)現(xiàn)這個(gè)源視頻2Pass控制過(guò)碼率卻還是被壓時(shí),我想到是B站是不是全面啟用了H.265統(tǒng)一壓制視頻了。但把網(wǎng)頁(yè)的獲取視頻地址的api回復(fù)拉出來(lái)看,沒(méi)有hevc。
這是現(xiàn)在的api回復(fù):

獲?。篽ttps://api.bilibili.com/x/player/playurl?cid=192154320&bvid=BV13z4y1d79P&qn=116&type=&otype=json&fourk=1&fnver=0&fnval=16
這個(gè)是什么意思,這里不多涉及,它可以算是如何下載B站視頻的一個(gè)核心點(diǎn),以后討論。
之前是怎么樣的,我也沒(méi)截圖。我肯定這是后來(lái)產(chǎn)生的。
這個(gè)視頻的特點(diǎn)就是,不知道因?yàn)榍兄惺裁袋c(diǎn),播放量高了些,寫(xiě)作時(shí)754播放。
接著我查看了最近上傳的非4K視頻,沒(méi)有H.265,排除全面啟用。
之后查看我目前播放最高的視頻:

此視頻最高畫(huà)質(zhì)1080p60為不二壓直傳。1080p60和720p60畫(huà)質(zhì)檔api獲取上一如既往只回復(fù)單條視頻下載地址(就是上面“video”組中只有對(duì)應(yīng)畫(huà)質(zhì)id 1080p60對(duì)應(yīng)116 720p60對(duì)應(yīng)74,具體詳見(jiàn):CV5794140)。兩個(gè)獨(dú)立的60幀檔位沒(méi)有H.265,但是非大會(huì)員畫(huà)質(zhì)都有H.265了,這應(yīng)該也是后來(lái)B站自己轉(zhuǎn)碼生成的。

獲?。篽ttps://api.bilibili.com/x/player/playurl?cid=177815267&bvid=BV1e7411U7hf&qn=80&type=&otype=json&fourk=1&fnver=0&fnval=16
再看之前有1200播放的視頻(同樣不二壓),卻沒(méi)有產(chǎn)生。

這樣看來(lái),觸發(fā)條件還是有點(diǎn)迷。不過(guò)播放量肯定是一個(gè)考量因素,但是之前1200播放的視頻沒(méi)有觸發(fā)呢?
下面僅做個(gè)人推測(cè):這個(gè)生成H.265的條件可能是最近才上線的,它評(píng)定的是近期視頻稿件的播放增速。最近稿件的播放量漲速了比較高(可能一天100?)就會(huì)被認(rèn)為可能是點(diǎn)擊率高的稿件,追加轉(zhuǎn)碼出H.265格式視頻。拆電腦的視頻是近幾周的還在推廣期,增量大;播放之最本來(lái)是過(guò)了推廣播放增量每天個(gè)位數(shù),但之前轉(zhuǎn)發(fā)了下蹭了點(diǎn)熱度,導(dǎo)致播放一下又漲了200多。
手上樣本不多,就兩三個(gè)視頻其實(shí)也說(shuō)明不了什么,所以僅推測(cè)。

現(xiàn)在的B站的在線視頻格式可以說(shuō)是處于過(guò)渡階段,積極啟用H.265但又為了照顧瀏覽器兼容性還不得不要保留H.264。這導(dǎo)致同樣的視頻同畫(huà)質(zhì)要存儲(chǔ)雙份不同編碼的視頻。B站僅給潛在高播放視頻轉(zhuǎn)碼H.265,我想這恰恰在反映一個(gè)系統(tǒng)設(shè)計(jì)的tradeoff取舍問(wèn)題:轉(zhuǎn)H.265可以節(jié)省流量帶寬但要付出更高的服務(wù)器存儲(chǔ)。高流量熱門視頻使用新編碼節(jié)省的帶寬成本大于存儲(chǔ)成本,還能給用戶帶來(lái)更佳的觀看體驗(yàn)(網(wǎng)速需求低了),而低播放的視頻,由于新編碼能帶來(lái)的帶寬成本的節(jié)省很少,就無(wú)需浪費(fèi)存儲(chǔ)生成H.265。
好了,就BB到這里。之后會(huì)就本文提到的api,分享下幾個(gè)實(shí)用api調(diào)用方法,并借此通過(guò)python編程實(shí)現(xiàn)幾個(gè)小功能。
本人非此方面大佬,只分享探索學(xué)習(xí)成果。
By ZHY
2020.6.9凌晨
頭圖pid:57874264