日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

朱政:金山H.265诞生记

發布時間:2024/4/11 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 朱政:金山H.265诞生记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


本文來自時任金山云算法總監朱政在LiveVideoStackCon 2017上的分享,并由LiveVideoStack整理而成。朱政闡述了金山云265方案(KS265)的演進之路,以及他們如何一步步在工程,算法和測試上完善金山云265。目前朱政已成為杭州微幀信息科技的創始人,繼續在編解碼這條路上探索極致。


文 / 朱政

整理 / LiveVideoStack


概覽


金山云265大家或多或少都聽過,因為其在某一方面確實有做的比較優秀。作為底層開發的團隊,首先我會更加關注代碼本身,其次會盡量多和大家分享一些干貨。由于我們的技術不是開放和開源的,所以本次會根據金山云265的演進之路來分享一些偏宏觀的經驗心得和方法。


分享的主要內容為:


1,序章:致敬X264

2,金山云265破繭而出

3,痛點與解決之道

4,未來展望


序章:致敬X264


X264編碼器的優秀應該是大家公認的,它號稱是視頻編碼的守望者。X264雖然是一個開源的編碼器,但幾乎商用的編碼器都做不到它那么好。它創造了許多眾所周知的工具和名詞,如Mbtree,CRF,2PASS。在國內外對X264的使用非常廣泛,它繁榮了H.264的內容和生態。另外,如果要做一款非常好的編碼器,并具有一定的速度和壓縮性能的基礎,是需要花很多年時間和精力的,而X264就極大地解放了視頻編碼底層開發的勞動力。


在這里先展示一下金山云265當前的性能對比:

?


性能摘要匯總



以Veryfast為例性能摘要


破繭而出


在最開始起步的時候,我們設定的目標就是要與X264復雜度對標,思考如何在保證HEVC高壓縮比的情況下,速度和功耗無限接近X264。起初想的就是要從零開始和從實時檔次開始做。接下來會給大家介紹我們這四年來的主要工作,會從以下四個方面來介紹:重構與推倒重來,工程化追求極致,算法,測試。


1, 重構與推倒重來


如果我們考慮從HM來改版的話,有一個好處就是工具比較全,但它的缺陷就在于重構優化難以駕馭,要想做實時就非常的難。所以我們就要從零開始,第一次從零開始,首先就要選取一些工具來實現,包括一些壓縮性能非常好的復雜工具都需要精心設計。然后就是效仿x264的快速檔,不做RDO。但第一次做出的版本,速度很不理想,和x264相比,Superfast檔的差距非常大,壓縮性能也沒有多大的優勢。因此,果斷推倒重來,進行第二次從零開始。



積累之前的經驗教訓,對通篇更加熟悉,進行第二次從零開始,重新優化數據結構和算法流程,更加專注于極致契合極限編程,也實現更多的工具。


?

2, 工程化追求極致


在工程方面,我們投入了很多的精力。我們會進行快速迭代,不斷試錯,找到突破口;由于當時團隊人數不是很多,因此采用小團隊結對編程,每個人都要熟系所有的代碼;每次都要單元測試先行,嚴格執行Code Review,每一處代碼和數據結構都要精益求精;解碼器也要追求極限速度;宗旨就是,不怕麻煩,只怕性能不夠,因此幾乎是把95%的精力都投入到5%的性能提升上。


下面給大家舉個工程優化的例子:


?

?

解碼器作為編碼器的副產品,也耗費了大量的精力。現在已經做到了比OpenHEVC平均提速2倍,并且全標準支持,魯棒性強。



3, 算法


由于不開源的原因,也就不能給大家分享核心的算法流程,但會在宏觀上為大家介紹一下。在算法設計上,我們設定了高目標,一個月一次迭代。目前快速算法約70個,算法相關的配置參數約200個,配置參數應用到API接口的配置方法可能很多用戶不知道,所以我們沒有完全開放。在做快速算法的過程中,會往里面不斷加入好的工具,為了將H.265的壓縮性能發揮出來,所以它的一些壓縮工具都要盡量用上。下面就是用到的一些快速檔次工具集:



整個算法設計過程就是:設計和實驗算法,調試bug和不匹配,實現新工具和新Feature優化代碼。下面展示快速算法不同檔次性價比:



4, 測試永不停歇


測試一方面可以分為性能測試和正確性測試兩方面,另一方面也可以分為單元測試,CI測試,算法測試,版本迭代測試。


性能測試就包括了復雜度的性能和壓縮性能,具體分為以下方面:



正確性測試也是涵蓋多方面的,具體分為以下方面:



講完上面四個方面,下面就來介紹一下金山云265的發展里程碑:



目前金山云265編碼器支持的一些Feature:


?

痛點與解決之道


金山云265最開始的困難就是研發困難,包括復雜度高,瀏覽器Flash,JS不支持等,經過我們努力也想出了一些解決的辦法。



在用戶方面,經常會存在一些難點,比如播放體驗差,帶寬成本高等,這些使用我們的金山云265就可以得到改善。另外客戶經常也會有一些顧慮,我們也都提供了相應的解決辦法。



下面就給大家展示一個金山云產品解決方案,這是一個包含云轉碼,客戶端SDK,全面覆蓋直播,點播,短視頻的解決方案:



未來展望



接下來,要做的事情,就是解決客戶的多樣化需求和本身編碼器不平衡,以及不充分的研發之間的矛盾,所以會從之前著重于實時檔,到現在的更關注慢速檔,爭取在離線轉碼上面有更好的壓縮效率,在中低碼率上面也會更多的關注高碼率。另外就是在基礎設施上面會更多的關注上層建筑,這里只是一個自己的定義,是代碼內部的,上層建筑就包括像碼控, 場景調優,主觀調優,自適應量化,就像阿里云他們做的窄帶高清的事情。另外我們還會嘗試極致壓縮,就是用深度學習在符合現有編碼標準的框架里測試,是否能夠獲得更好的壓縮性能。



總結

以上是生活随笔為你收集整理的朱政:金山H.265诞生记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。