一看B站影片就卡?這可能真不是電腦的問題
不知道最近螢幕前的小夥伴有沒有這樣的經歷:一用瀏覽器打開B站影片,就會偶爾出現卡頓的情況,部分場景下還會出現電腦風扇狂轉的情況,十分的詭異。
這時有用戶指出B站處於節省頻寬的目的在Web端開啟了HEVC編碼播放,導致電腦播放時造成較高的負載,對此B站也是予以了回應。
看到這裡,相信不少圍觀群眾就要納悶了:這個HEVC編碼到底是個什麼東西?怎麼開了以後電腦就卡?
這就要從影片的編碼技術開始說起了,而且筆者可以肯定地說,電腦卡頓的鍋,源頭既不在B站身上,也不是電腦配置低,至於為什麼,還請接著往下看:
所謂影片編碼方式就是指通過壓縮技術,將原始影片格式的文件轉換成另一種影片格式文件的方式。
這裡有個重點是對影片進行壓縮,那為什麼要壓縮影片呢?其實很簡單,因為原始影片實在是太大了。
拿一個1080P(1020×1080)解析度,60幀的影片舉例,未經壓縮的情況下,光是一幀就有1920x1080x3/1024/1024≈6MB的內容,每秒就佔據了大約360MB的內容,這樣的大小連本地存儲都費勁,更何況用於網路傳輸,現如今千兆頻寬才剛剛開始普及,承載不了這麼龐大的數據量,因此顯然需要對原始影片進行一定的處理。
這也是影片編碼技術出現的緣由,通過去除影片數據中冗餘資訊,實現影片數據在互聯網中快速傳輸和離線的存儲。使得影片數據量得以極大的壓縮,有利於傳輸和存儲。
在過去的幾十年中,一系列的影片編碼標準被廣泛的應用。目前已有的影片壓縮標準有很多種,包括國際標準化組織(ISO)和國際電工技術委員會(IEC)制定的MPEG-1、MPEG-2、MPEG-4標準;國際電信聯盟電信標準化部門(ITU-T)制定的H.261、H.263等等。
直到2003年,ITU-T和ISO/IEC正式公布了H.264/MPEG-4 AVC影片壓縮標準,由於在編碼效率和靈活性方面有著相當大的優勢,H.264也成為了目前應用最為廣泛的影片編碼標準。
而HEVC則是H.264之後又一革命性的影片編碼技術,相比傳統的H.264編碼技術,HEVC可以在保證相同影片畫質的前提下,減少約50%左右的數據量,同時支援8K影片的編碼。
如此先進的編碼技術自然也是得到了眾多廠商的支援,蘋果、Android、AMD、NVIDIA、英特爾等廠商都先後對HEVC編碼技術進行了支援。
那看起來很美好的一個事情,為什麼到瀏覽器這裡就不行了呢?
問題主要出在HEVC複雜的專利授權模式上,光是HEVC技術相關的專利池就有MPEG LA、HEVC Advance和Velos Media三家,而高額的授權費用往往使得很多廠商望而卻步,以MPEG LA為例,廠商每年前十萬台終端免費,之後每台終端花費0.20美元,2500萬美元封頂,這對於可以免費下載到多台設備的瀏覽器廠商來說,無疑是十分巨大的開銷。
也因此,很多瀏覽器都放棄了GPU對HEVC硬解的支援,因此在觀看HEVC編碼的影片時,CPU負載經常過高,也就出現了文章最開始所說的卡頓或者風扇狂轉的情況,只有Safari幸免於難。
當然,眾多廠商也並沒有完全擺爛,Google曾經開發了一套叫做VP9的編碼技術,但由於種種原因並未普及開來,後來Google、微軟、亞馬遜、Facebook、Netflix等幾大互聯網公司聯合推出了開源免費的AV1編碼技術,但由於在影片編解碼方面,為這個編碼格式提供硬體解碼的廠商目前比較少,導致AV1編碼技術在普及之路上也充滿了艱難險阻。
所以短期來看,瀏覽器不支援HEVC編碼還沒有什麼好的解決方法,不過2020年,Fraunhofer宣布最新的影片編解碼標準 H.266/VVC制定完成。同等畫質下將節省近50%傳輸流量,清晰度越高,碼率節省越多。這項耗時3年的標準,主要面向未來的4K和8K,希望H.266的出現能改善這個局面吧。