深度解析 H.265 視訊解決方案

又拍雲發表於2017-06-08

又拍雲上線了 H.265 從編碼解碼到 CDN 分發,完整的端到端的自適應解決方案;提供視訊上傳、視訊儲存、視訊編碼、視訊分發適配、視訊解碼等功能。又拍雲希望能以雲服務的方式將大公司才能長期支付使用的 H.265 提供給更多企業。

視訊網站支援 H.265 需要解決哪些問題?


H.265與 H.264 相比,擁有 2 倍的壓縮效率 (photo via WWDC)

更高的壓縮率需要更先進的技術,H.265 通過更智慧的演算法來處理影象,在維持質量的同時保持更低的位元率,但是也要付出一定代價:顯著增加壓縮效果,所依賴的演算法複雜性,需要數倍於目前 2K 解析度部署所用 H.264 編解碼器的計算能力來支撐,而提供這種能力需要大量的伺服器來支撐。

除此外,鑑於有些客戶端不支援 H.265 視訊,還需要 對客戶端進行有效識別,響應不同副本的視訊給客戶端。

又拍雲 H.265 視訊自適應方案

又拍雲 H.265 視訊自適應方案整合了視訊上傳、視訊儲存、視訊編碼(轉碼)、視訊分發適配、視訊解碼等功能。

視訊上傳轉碼:使用又拍雲端儲存,可以滿足視訊上傳加速、轉碼、儲存的需求。在使用雲端儲存的基礎上,使用者選擇將上傳的 H.264 編碼的視訊,同步轉為 H.265 編碼的視訊儲存;

視訊非同步轉碼:針對已儲存在又拍雲上的 H.264 編碼的視訊,通過又拍雲非同步轉碼服務,可轉為 H.265 視訊儲存,同時保留 H.264 視訊副本;

H.265分發適配:在又拍雲 CDN 層面提供 H.265 分發適配功能,可對不同的客戶端進行智慧識別,在使用者訪問時響應不同的編碼的視訊資源。

CDN 如何識別 H.265 視訊請求 ?

CDN 當前識別客戶端是否支援 H.265 解碼是通過 HTTP 請求頭:Accept-Encoding: h265 來判斷的,CDN 收到該請求之後,再去判斷 CDN 節點是否有 H.265 快取副本,否則直接返回原始視訊資源。

從流程圖可以看出,H.265 視訊資源響應了一個 Content-Encoding:h265 的頭部。

H.265 視訊資源訪問流程

• 第一步:客戶端請求 H.265 視訊資源,例如:http://video.example.com/test.mp4,HTTP 請求頭攜帶 Accept-Encoding: h265,方便 CDN 智慧識別;

• 第二步:CDN 節點判斷是否有 H.265 視訊副本,如有,則直接響應給客戶端,整個流程結束;如果沒有,則進入第三個步驟;

• 第三步:CDN 節點回源獲取 H.265 視訊資源,如有則直接響應,並在 CDN 節點進行快取;如果沒有,進入第四步;

• 第四步:源站返回原始視訊資源,並在 CDN 節點預設快取 6 分鐘,快取過期之後回源探測。

如何接入又拍雲 H.265 視訊服務

場景一:使用又拍雲端儲存

使用又拍儲存源,可以滿足視訊上傳加速、視訊轉碼(包括編碼)、視訊的儲存等需求。如果您的視訊已經轉成 H.265 編碼的視訊,請忽略視訊轉碼步驟。

1. 視訊上傳和儲存

又拍雲物件儲存服務提供 API、FTP/FTPS、UPX、cURL、SDK 等多種上傳方式,支援海量安全儲存,更多瞭解請參考:又拍雲端儲存服務介紹又拍雲端儲存開發者開發者工具

2. 視訊非同步轉碼

如果您存在又拍雲物件儲存服務的原始視訊是 H.264 編碼的視訊,與此同時,希望同步轉為 H.265 的視訊,我們可以提供非同步視訊轉碼服務。詳細參見:又拍雲音視訊處理服務

3. 視訊分發適配

從上文可以看出,您可以在又拍雲物件儲存服務上儲存兩個不同副本的視訊資源,一個是 H.264 視訊副本,這裡稱為原始視訊;另外一個是 H.265 視訊副本,這樣可以滿足不同客戶端的訪問。您既希望支援 H.265 視訊的客戶端可以訪問到 H.265 視訊,不支援 H.265 視訊的客戶端可以訪問到原始視訊副本,此時,通過一定的約定規範,CDN 可以做到智慧識別並響應不同副本的視訊資源。

4. 移動端 SDK 解碼

又拍雲目前支援移動端 H.265 解碼,支援iOSAndroid平臺。詳細參見:Android SDK 和 iOS SDK

場景二:使用又拍雲CDN(使用者自主源)

使用使用者自主源,又拍雲無需提供視訊檔案的儲存,使用者自行將視訊轉為 H.265 編碼格式,自行上傳即可。我們可以提供的服務包括適配分發適配、移動 SDK 解碼。

直接使用又拍雲 CDN 服務需遵循一定的規範:

HTTP 請求頭

客戶端需要根據約定規範發起 Accept-Encoding: h265 的請求頭,CDN 節點會根據此請求頭來判斷客戶端是否支援 H.265 解碼。詳細參見上文:CDN 如何識別 H.265 視訊請求。例如:

GET /test.mp4 HTTP/1.1

Host:http://zhangchao.charmelady.net

User-Agent: curl/7.43.0

Accept: /

Accept-Encoding:h265

H.265 視訊儲存規範

源站為了區分原始視訊和 H.265 格式視訊,H.265 視訊儲存路徑需要約定規範為:URL.h265,以此來區分原始視訊和 H.265 視訊。例如:

原始視訊儲存路徑為:/test.mp4H.265 視訊儲存路徑為:/test.mp4.h265

推薦閱讀:

讓Chrome看不了WWDC直播的HLS技術詳解

IPv6啟動五年後,距離我們究竟還有多遠?

相關文章