共計 1823 個字符,預計需要花費 5 分鐘才能閱讀完成。
本篇文章為大家展示了 H.265 是如何降低視頻存儲和傳輸成本,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
互聯網時代,每一次技術革新都會帶來商業價值、推動社會進步。然而旺盛的市場需求也會倒推技術的成熟。
從視頻行業來看,內容的豐富度在增強,曾經 H.264 讓 1080p 風暴席卷了全球,但伴隨著 4K、VR 等產業普及,它再也無法引領潮流了。相應的在視頻體驗過程中,為了保障清晰度,視頻碼率的要求也在提高。同等的帶寬應對更大的碼率,畫質和卡頓的出現勢必也會影響用戶體驗。反之想要發展,帶寬成本是行業無法繞過的一個問題。H.265 作為新一代的視頻編碼標準,順應時代而生。
今天我們就一起來看下 H.265 在直播場景中是如何應用的:
H.265(HEVC) 是新一代的視頻編碼算法,與 H.264 相比,在同等清晰度下,能為視頻的存儲、傳輸節約成本,同時,網絡帶寬的降低也能在同等帶寬的條件下給用戶帶來更好的視頻觀看體驗。下面我們來看下 H.265 技術如何在直播中實現。下圖為典型的直播流程:
l 綠色連線表示 H.265 支持的協議
l 紅色連線表示 H.265 不支持的協議
l 自定義表示視頻直播系統的內部傳輸協議,可以自由選擇。
在涉及到視頻編碼的地方,就有可能使用 H.265,在上面流程中,我們看到有 2 個地方涉及到編碼,分別為: 在采編端提供 H.265 編碼能力和采編端保持 H.264,在云端提供 H.264 到 H.265 的轉碼能力,為了使用這兩種方案,云端必須做到:
l 在傳輸上支持 H.265。當前的直播上行幾乎都會使用 RTMP,下行通常會使用 RTMP,HTTPFLV 或者 HLS。然而,RTMP,HTTPFLV 使用的視頻封裝都是 FLV,FLV 是不支持 H.265 的,需要對 FLV 進行擴展。TS 是支持 H.265 的,不需要擴展。
支持 H.264 到 H.265,H.265 到 H.264,H.265 到 H.265 的實時轉碼。
下面我們看看如何在 FLV 中支持 H.265:FLV 的封裝結構為一個個 tag,每個 tag 有 tagheader 表示該 tag 是視頻,音頻,還是 script。對于視頻 tag,會有一個 4bit 的字段標識視頻編碼類型,如下圖所示:
可以看到,這個 4bit(0-15) 的字段 CodecID 已經使用了 6 種類型,剩下的幾種可以用于擴展。同時,我們看 ffmpeg 對 FLV 格式的定義,會發現,ffmpeg 對 FLV CodecID 使用已經到了 9,如下圖所示:
為了避開 ffmpeg 對 FLV 的擴展引起的兼容問題,需要使用其他的 個 CodecID 來表示 H.265。
在使用擴展了傳輸協議,并在云端實現了 H265 的轉碼后,直播流程如下圖所 :
使用時可以根據不同的推流端或播放端能,使用如下組合:
推流進行 H.265 編碼,并使用擴展的 RTMP 協議,上傳 H.265 直播流,云端轉成不同碼率的 H.265 和 H.264,并輸出 HLS,標準 RTMP,擴展 RTMP,標準 HTTPFLV,擴展 HTTPFLV,供不同解碼能能力和網絡帶寬的終端觀看。
推流使用 H.264 編碼,云端將 H.264 轉碼成不同碼率的 H.264 和 H.265 碼流,輸出 HLS,標準 RTMP,擴展 RTMP,標準 HTTPFLV,擴展 HTTPFLV,供不同解碼能力和網絡帶寬的終端觀看。
誠然,新的標準誕生,伴隨著鮮花掌聲和追捧,也同樣存在問題。H.265 所依賴的算法的復雜程度決定了它需要多的計算能力來支撐,隨之而來的就是對硬件消耗增多。
據了解,H.265 解碼的理論運算量為 H.264 的 1.7~2.0 倍, 之前雙核 A9+ 單核 GPU 配置可以流暢播放 H.264 視頻的話,而到了 H.265 視頻就只能欣賞一下幻燈片了。這也就是現在各視頻云廠商都還在摸索階段的主要原因。
雖然如此,H.265 能比 H.264 節約 20%-40% 的碼率也是其不可小看的優勢,所以在直播中應用 H.265 的目的也十分明確,就是降低視頻碼率,節省帶寬成本。
云計算技術日益成熟,未來會有越來越多的廠商涌入到視頻云市場之中。BAT 等互聯網巨頭云集,大數據、H.265、4K、VR、AR 等技術和標準的不斷應用也對視頻云服務提出了更高的要求。如何能夠根據自身優勢,順應技術革新,幫助客戶降低成本是值得思考的命題,相信每個廠商都有自己的答案。
上述內容就是 H.265 是如何降低視頻存儲和傳輸成本,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注丸趣 TV 行業資訊頻道。