Netflix如何节省92%视频编码成本?
Netflix的IT基礎(chǔ)設(shè)施完全搭建在AWS之上,盡管AWS一直在降價,但對于完全依賴AWS的Netflix而言,成本依然居高不下。視頻編碼是重度消耗CPU的業(yè)務(wù),通過內(nèi)部的二級市場,即將未充分利用的計算濟源在內(nèi)部進行二次銷售,Netflix減少了92%的編碼成本。本文來自Netflix高級SRE,Dave Hann在re:invent 2017大會上的分享,并由科技博客博主Todd Hoff進行了內(nèi)容整理,LiveVideoStack對其進行了摘譯。
文 /?Todd Hoff
譯 / Ant
Netflix通過內(nèi)部的現(xiàn)貨市場節(jié)省了92%的視頻編碼成本。在2017年的re:Invent大會上,Netflix高級SRE Dave Hann做了“A Day in the Life of a Netflix Engineer”的分享(點擊閱讀原文訪問Dave的演講視頻),介紹了Netflix是如何做到的。
Netflix使用了3個AWS的region,幾十萬個EC2實例,其中許多實例并未充分使用。
視頻編碼占Netflix全部CPU技術(shù)能力的70%,30萬個CPU,以及1000個不同的自動擴展組(autoscaling groups)。
那么,為什么不創(chuàng)造一個二級市場,用于視頻編碼?
Netflix視頻編碼流程
從生產(chǎn)商獲得視頻之后,首先對其進行檢查,包括丟幀、變色等各種問題。
視頻文件非常大,往往以TB為記,處理這么大的視頻文件顯然并不明智,于是要將原始視頻文件分割成小塊,對其并行處理。
視頻塊送到多媒體處理流水線,那里有大量的編碼工作要做。Netflix支持2200種的設(shè)備以及多種編解碼器,所以需要輸出大量不同的格式視頻。
視頻塊編碼完成后,將再次進行校驗,以確認沒有產(chǎn)生任何問題。接下來,將視頻塊集成在一起,生成完整的視頻。最后,再進行一次校驗。
在多媒體流水線中超過70個不同的軟件進行協(xié)作。
Netflix認為靜態(tài)編碼后的視頻觀看體驗超過動態(tài)編碼,其結(jié)果是要生成大量的文件。
《Stranger Things》第二季為8K分辨率,有8幕。原始文件容量數(shù)以TB。每一季需要19萬個CPU小時來編碼,相當于2965個m4.16xlarge實例運營1小時。靜態(tài)編碼需要生成9570個不同的視頻、音頻和文本文件。
Netflix如何編碼?
一種顯而易見的方法是,為編碼流水線專門保留一部分實例。這種方式的結(jié)果好處是,計算資源隨時可用。
不過,編碼是一種爆炸性的工作負載,這意味著這些保留實例大部分時間并不能充分利用。
這種爆炸性的工作負載可以開啟二級市場,用于爆發(fā)性的工作負載。
AWS有二級市場,為什么不直接使用?Netflix有大量的保留實例,在一天的內(nèi),他們可以自動擴展或縮小10000個實例。當自動縮小后,就有許多未用的資源。
于是Netflix建立了自己的二級市場,用于視頻塊的編碼。工程師工具團隊建立了專門的API,實時(以分鐘為單位)暴露未用的資源。
通過內(nèi)部的二級市場節(jié)省了92%的編碼資源。
云經(jīng)濟學(xué)
和AWS一樣,Netflix開啟自己的二級市場也出于同樣的原因:云經(jīng)濟的目標就是提高機器的利用率。利用好保留實例,以榨取其更多價值。CPU一個千分之一秒不在工作都是一種浪費。
越來越顯現(xiàn),AWS(及其友商)將會成為基礎(chǔ)設(shè)施的吞噬者。
LiveVideoStack招募社區(qū)編輯
LiveVideoStack是專注在音視頻、多媒體開發(fā)的技術(shù)社區(qū),通過傳播最新技術(shù)探索與應(yīng)用實踐,幫助技術(shù)人員成長,解決企業(yè)應(yīng)用場景中的技術(shù)難題。如果你有意為音視頻、多媒體開發(fā)領(lǐng)域發(fā)展做出貢獻,歡迎成為LiveVideoStack社區(qū)編輯的一員。你可以翻譯、投稿、采訪、提供內(nèi)容線索等。
通過contribute@livevideostack.com聯(lián)系,或在LiveVideoStack公眾號回復(fù)『社區(qū)編輯』了解詳情。
總結(jié)
以上是生活随笔為你收集整理的Netflix如何节省92%视频编码成本?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LiveVideoStack Meet成
- 下一篇: Twitch如何实现转码器比FFmepg