好意思偷它視頻嗎?B站竟免費奉獻了這些黑科技

作為一個小眾網站,嗶哩嗶哩視頻網(簡稱B站)最近可謂是大新聞連連。先是在春節期間,快視頻涉嫌盜竊盜竊B站視頻資源,甚至連上傳者(UP主)的頭像ID、視頻下方的評論區都如出一轍,鬧得群情鼎沸;還未把這事的賬算清楚,B站又弄出了一次大動靜——B站正式提交了IPO計劃書,即將在紐約證交所上市。一時間,B站儼然成為了國內風頭最盛的視頻網站。

快視頻已經就相關事件道歉

B站正在準備IPO

關於B站的種種,很多網友特別是B站死忠都有話可說。B站可能是國內視頻站中,風格最鮮明的一家,它沒什麼廣告,畫質很好,運營貼心,因此被很多網友視為良心網站。不過,其實B站除了無廣告畫質高這樣的用戶可以直接感知到的優點,還做過不少鮮為人知的好事,例如大眾都沒怎麼關注的開源,B站直接把自己的很多優良技術,都分享給了同行!這些開源分享的技術,不少都和視頻播放以及彈幕有關,能夠把這些自己的優勢項目貢獻給整個互聯網,這在一定程度上,也可以稱得上是壯舉了。那麼B站都有什麼開源項目?又有何影響力?一起來了解一下吧。

DanmakuFlameMaster烈焰彈幕使(點擊進入開源項目)

這是B站的彈幕引擎,主要運用於客戶端當中。我們知道B站的一大立命之本就是其彈幕系統,在視頻中插入彈幕其實還是有不少講究的。在這方面,B站的體驗可謂是業界領先,不過儘管如此,B站依然把自己的彈幕引擎進行了開源,業界同行都可以免費使用。

B站開源的彈幕引擎叫做DanmakuFlameMaster烈焰彈幕使,這名字一聽上去就中二得非常貼合B站的文化氛圍。不過,這彈幕引擎並非只是名字炸裂的空殼,它的內在也相當驚艷。一個好的彈幕引擎該有怎樣的表現?B站開源的這個彈幕引擎,可以說是標杆一樣的存在。

B站開源了自己的彈幕引擎

舉個例子吧。在「烈焰彈幕使」誕生之前,B站手機客戶端用的是老版本的彈幕引擎。在這個彈幕引擎中,你一旦有什麼操作,很有可能會導致彈幕重新載入。例如,你改變了彈幕的字體大小,或者只是開啟/關閉彈幕,當前屏幕的彈幕都會先全部清空,然後又重新從右邊慢慢飄出來。如此一來,如果對彈幕有什麼操作,彈幕的觀看體驗就立馬斷斷續續,而「烈焰彈幕使」就很好解決了問題。

「烈焰彈幕使」在很久以前已經出現,優勢明顯

使用了「烈焰彈幕使」後,B站的視頻彈幕可以很大程度上實現「所見即所得」。無論你改變彈幕的字體大小、樣式、顏色或者是開啟關閉彈幕,屏幕顯示的彈幕會實時變更,沒有了重載的步驟。不僅如此,這個彈幕引擎的性能還非常高,以往一旦彈幕多了容易卡屏掉幀(B站刷彈幕的傳統你懂的),但在「烈焰彈幕使」中彈幕基本如絲般順滑。就算在安卓4.X的時代,手機彈幕播放體驗也能做到和高端PC不相上下,的確頗有「黑科技」的意味。

得益於這個彈幕引擎,彈幕才能實時呈現豐富的效果

目前這個優秀的彈幕引擎已經在GitHub上進行了開源,目前拿到了6500+顆星,根據報道多家同行都使用了「烈焰彈幕使」中的相關代碼,例如大家熟知的優酷土豆、鬥魚TV甚至B站的死對頭ACFun等等。近年來越來越多的視頻網站加入了彈幕系統,沒有B站開源「烈焰彈幕使」,歷史的進程是否會發生什麼變化?或許這需要各大視頻站付出更多個人的奮鬥了。

ijkplayer(點擊進入開源項目)

這是B站另一個影響力巨大的開源項目。我們知道,B站除了彈幕系統,視頻播放方面也堪稱一絕。B站的視頻畫質可以做得比同行普遍更高,但播放器起來卻又很流暢,而且很早就在手機平板等移動設備上實現了硬解。B站視頻播放的根基就是其播放器ijkplayer,而這個播放器,也被B站放到了GitHub上開源。

ijkplayer是一個出色的播放器,硬解能力強

ijkplayer基於ffplay開發而來,它的一大出色之處在於支持相當多的平台,而且在這些平台上基本都實現了視頻的硬解。如果你玩手機已經有了一些年頭,應該會知道在以前,一票視頻App在手機上播片靠的是CPU軟解,例如早期的快播、鬥魚等等。之所以這麼設計,一定程度上是由於當時的手機CPU並不是都集成NEON模塊,而且市場還處於NV、高通、德州儀器、三星等群雄爭霸的狀態,對種種機型的硬解都提供支持,是一個費時費力的活兒,而且還容易出現花屏等問題。而B站的客戶端,卻很早就對各種手機都提供了比較出色的硬解支持。

得益於ijkplayer,B站流暢播放一些高規格的視頻

B站的硬解技術備受好評,得益於硬解,有時候用手機客戶端看B站,甚至比PC上用Flash看更加流暢。而且,硬解後流暢度有所保障,使B站能夠去嘗試一些更高規格的視頻,例如現在B站的某些視頻已經可以做到1080p、60禎的程度。得益於ijkplayer和上面提到的「烈焰彈幕使」引擎,用B站手機App就算是播放高清視頻和密集的彈幕,依然非常流暢且省電。一些手機評測會用B站來持續播放視頻,力證某部手機續航能力多強,其實之所以願意用B站,對硬解的全面支持導致播放本身就十分省電這點,也應該是有考慮在內的。

和「烈焰彈幕使」一樣,ijkplayer開源後,也有大量同行使用了相關代碼,例如鬥魚和美拍等等。ijkplayer在GitHub上拿到了超過17000顆星,比「烈焰彈幕使」還高,影響力可見一斑。

flv.js(點擊進入開源項目)

最近幾年HTML5的大潮已經全面襲來,不少視頻網站都已經拋棄Flash,轉用了HTML5播放器。和Flash相比,HTML5播放視頻更加高效,不僅流暢而且還省電,同時讓Flash坐冷板凳的話安全性和穩定性都有所提高。但是,其實從Flash過渡到HTML5並不是一件很輕鬆的事情,這往往需要把視頻從FLV重新封裝為MP4之類的格式——直到B站「flv.js」這個神一樣的解決方案出現。

B站開源的這個flv.js可謂是十足十的黑科技

flv.js的神奇之處,就是可以讓HTML5播放FLV格式的視頻,同時還能夠讓HTML5實現低延遲的HTTP FLV直播。這意味著,網站不需要重新封裝視頻格式,就能直接用HTML5播放器取代Flash播放器,一舉解決了歷史遺留問題。因此我們也可以看到,B站成為了換裝HTML5最積極的國內視頻站之一,在16年的下半年B站已經開啟了HTML5視頻測試,不久後則默認全站採用了HTML5,引領了國內視頻站轉型HTML5的風潮。

得益於flv.js,B站早早全站轉型HTML5

flv.js如此神奇,但更難得可貴的是這是一個開源的項目。目前,這個項目在GitHub上獲得了超過11000顆星,影響力巨大,國內視頻站近兩年紛紛換裝HTML5播放器,該項目起到了不可忽視的作用。

不過遺憾的是,flv.js的開發者在B站並沒有得到重視,由於不滿公司的考核制度和待遇,已經跳槽,希望B站能夠更加重視人才,不再錯過技術大神吧。

B站的不公待遇導致flv.js作者出走,非常可惜

總結

B站可謂是國內少有的叫好叫座的互聯網企業。一方面,這和B站出色的用戶體驗、良心的運營分不開;另一方面上文所提到的這些開源項目,也在很大程度上推動了同行發展,為B站贏得了口碑。實際上,B站的發家史也有偷視頻、盜鏈、放盜版等劣跡,但通過轉型,終贏得尊重。要贏得尊重,絕不在於你抄了多少,而在於你奉獻了多少。實際上,國內不少互聯網大企業例如騰訊、阿里等等,都會把一些技術開源,回饋給整個行業,希望有越來越多的企業能夠做出更多開源的壯舉,引領整個行業一起進步吧。


推薦閱讀:

skyworth支持什麼格式的視頻?
如何免費看Vip視頻?
一個用十年時間解決的問題
探秘視頻編碼黑科技,窄帶高清2.0視覺模型及場景實戰
再見,會聲會影

TAG:B萌 | 嗶哩嗶哩 | 視頻 |