Windows平台真實時毫秒級4K H264/H265直播技術方案


背景

在剛提出4K視頻的時候,大多數人都覺得沒有必要,4K的出現,意味着更高的硬件規格和傳輸要求,1080P看的很爽、很清晰,完全滿足了日常的需求。隨着電視的尺寸越來越大,原本1080P成像已經無法滿足人們對於細節的極致追求,4K視頻不僅成像更細膩,在細節處理上優勢也非常明顯,顏色也更亮麗、飽滿,逼真,給人身臨其境的感覺。4K視頻具有高分辨率、寬色域、高動態范圍等優勢,隨着5G技術和H.265(HEVC)編碼標准的出爐,4K視頻直播迎來了曙光。

一張圖解釋4K VS 1080P

1080p

Often, 1080p is referred to as “Full HD.” In a 1080p television, there are 1,920 columns multiplied by 1,080 rows for a total of 2,073,600 pixels — more than twice as many pixels as you’ll find in a 720p screen. For a while now, 1080p has been the industry standard for high-definition displays, and most content (that is, television broadcasts, shows, and movies) is produced and distributed in 1080p.

4K Ultra HD

The next level of HD is 4K — often called “Ultra HD” or UHD. Technically, the name is a bit of a misnomer, because there are 3,840 columns and 2,160 rows of pixels, which is why you’ll occasionally see this resolution referred to as 2160p. That’s a total of 8,294,400 pixels, which is four times as many pixels as a Full HD 1080p display and nine times as many pixels as a 720p display.

Difference between 4K and 1080p

 

Windows平台真實時4K直播解決方案

先來解釋下什么是實時視頻,實時視頻就是視頻圖像從產生到消費完成整個過程人感覺不到延遲,只要符合這個要求的視頻業務都可以稱為實時視頻。關於視頻的實時性歸納為三個等級:

  • 偽實時:視頻消費延遲超過 3 秒,單向觀看實時;
  • 准實時: 視頻消費延遲 1~3 秒,能進行雙方互動但互動有障礙;
  • 真實時:視頻消費延遲 < 1秒,平均 500 毫秒。

基於英偉達顯卡硬編碼(NVIDIA NVENC)的RTMP、RTSP低延遲技術方案:

4K相當於4個1080P,Windows平台軟編碼有些困難,特別是h265,姑且不說4K軟編,4K軟解在一些配置一般的機器都比較吃力,基於此,大牛直播SDK(Github)實現了Windows平台特定機型硬編、硬解碼低延遲解決方案。

  • 針對編碼這塊,我們實現了基於英偉達顯卡硬編碼(NVIDIA NVENC)的RTMP、RTSP低延遲技術解決方案,無論是H265還是H264 4K 30fps都能編的動(以下測試截圖,基於GeForce RTX 2060顯卡);
  • 針對解碼播放,特別是Windows平台多路播放訴求下,我們實現了Windows平台特定機型硬解碼。

通過特定機型硬編碼、解碼整體技術方案下,我們把4K下的RTMP的整體延時控制在180-300毫秒,實現了真實時技術解決方案,無圖無真相:

RTMP擴展H265直播

攝像頭采用“海康威視監控攝像頭 800萬4K超清USB直播攝像頭 網絡課程遠程視頻會議 台式機電腦攝像機 2CS54U0B-SD”。

RTMP推送端H265 4K硬編碼配置(對應 SmartPublisherDemo.exe):

h265 硬編碼推送端配置

RTMP播放端 H265 4K硬解碼效果(對應 SmartPlayer.exe):

h265 4k硬解播放效果

 RTMP H265 4K編碼和解碼GPU, CPU占用情況:

 

推送和播放具體資源占用

RTMP H265 4K延時效果:

h265 4k延時效果

從圖上可以看出延時也就100多毫秒。

RTMP H264 直播

RTMP推送端H264 4K硬編碼配置(對應 SmartPublisherDemo.exe):

h264 4k推送端配置

RTMP播放端H264 4K硬解碼效果(對應 SmartPlayer.exe):

h264 4k播放端效果

RTMP H264 4K 硬編解碼GPU, CPU占用情況:

h264 4k gpu-cpu1

h264 4推送和播放gpu-cpu

RTMP H264 4K直播低延時效果:

h264 4k低延時效果

總結:

從整體測試來看,英偉達硬編碼(NVENC)能達到期望的效果,可以滿足毫秒級低延時大分辨率需求,同時NVENC也提供了靈活的碼率控制策略來滿足不同的編碼需求。

穩定性好,連續運行多個小時編碼器也未出問題。除了RTMP協議之外,搭配RTSP協議也可正常使用,無論是智慧黨建、會議同屏還是基於5G+4K的其他傳統行業解決方案,都是非常好的選擇。

大牛直播SDK:https://github.com/daniulive/SmarterStreaming

NVIDIA VIDEO CODEC SDK 下載地址 https://developer.nvidia.com/nvidia-video-codec-sdk

支持編碼的顯卡型號 https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new#Encoder


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM