用于視頻信號編碼的編碼器,依據接口不同分了SDI高清編碼器、VGA高清編碼器、HDMI高清編碼器以及其他的編碼器,這類的就叫硬件編碼器。
軟件編碼是根據項目的應用領域選擇適當的編程語言、編程的軟硬件環(huán)境以及編碼的程序設計風格等事項
硬件解碼是圖形芯片廠家提出的用GPU資源解碼視頻流的方案——與之相對的是軟解,也就是傳統的用CPU承擔解碼工作的方案;優(yōu)點是效率高,功耗低、熱功耗低,缺點是缺乏有力的支持(包括濾鏡、字幕等),設置較為復雜;需要硬件有硬件解碼模塊、相關的驅動配合、合適的播放軟件以及對播放軟件正確的設置。
硬件編碼器是什么,軟件編碼和硬件解碼的區(qū)別
軟解和硬解
由于高清視頻的分辨率遠遠高于一般格式視頻,使得高清視頻的碼率非常高。再加上VC-1和H.264編碼的壓縮率很高,解碼運算的運算量很大。因此常規(guī)地直接用CPU解碼(即常說的“軟解”)會極大地消耗CPU的運算能力,一些較老的CPU軟解H.264時CPU占用率往往高達90%以上,更老的可能就放不動了。
“硬解”是硬件解碼的簡稱。簡單而言,硬件解碼就是通過顯卡的視頻加速功能對高清視頻進行解碼。因此硬解能夠將CPU從繁重的視頻解碼運算中釋放出來,使電腦具備流暢播放高清視頻的能力。視頻解碼工作從處理器那里分離出來,交給顯卡去做,這就叫做“硬解碼”。與之對應的,以前那種純粹依靠CPU來的方式則是“軟解碼”。不過受到技術條件的限制,純粹的“硬解碼”在現階段是不存在的,CPU依然在發(fā)揮一部分作用,只不過硬解碼時GPU/VPU已經成為運算的主力。
硬件編碼器與軟件編碼器不同。直播軟件在計算機硬件上運行,而計算機硬件又運行著許多其他進程。因此,計算機不僅僅專用于編碼和流傳輸。另一方面,硬件編碼器是專為編碼而設計的設備。這一事實使得它們比直播軟件更可靠,因為其他進程不會干擾。這就是為什么在關鍵任務情況下,專業(yè)視頻制作人依賴于硬件編碼器。
直播硬件編碼器本身不是在線流媒體目的地。通常,您需要單獨設置實時流式傳輸目的地。流媒體目的地可以是像虎牙或斗魚這樣的直播視頻平臺,像Kaltura這樣的CDN,或者像WOWZA這樣的流媒體服務器。但是,許多編碼器允許直接流式傳輸到局域網上的觀眾。
硬件編碼器本身也不是視頻輸入。這更像是一個輸入中心。硬件編碼器能夠使用HDMI,USB,SDI等物理連接器或通過網絡吸收視頻源(例如NDI)。
什么是直播硬件編碼器?
直播硬件編碼器是視頻直播專用設備,其采集,壓縮視頻數據并將其轉換為適合于直播或記錄的格式。由于我們經常會對實時流式編碼產生疑問。從本質上講,視頻流編碼器硬件是專為使視頻在互聯網上播出而設計的盒子。市場上可用的流式硬件編碼器設備的復雜性差異很大。它們可以是非常簡單的便攜式設備,僅用于直播到一個目的地。例如:Webcaster系列,它可以流式傳輸到YouTube,Facebook Live或Twitch。另一種硬件編碼器設備非常復雜,他能接受各種視頻輸入類型并且能夠同時流到多個目的地。這些更復雜的硬件編碼器也可以非常便攜,如Pearl Mini,Pearl 2或YJ固定在設備機架上,如Pearl-2機架式。
直播編碼器基礎功能
同時編碼的流和目的地的數量
編碼器在能夠編碼的同時流的數量上有所不同。 編碼需要大量處理能力,并且隨著每個額外的編碼流,工作負載增加。 編碼流的數量不應與目的地數量混淆。 使用足夠先進的硬件編碼器,您可以輕松地將一個編碼流推送到多個目的地。 通常,更簡單和更便宜的設備可以編碼一個流并流式傳輸到一個目的地,而更強大的編碼器可以編碼多個單獨的視頻并同時將每個視頻流傳輸到多個目的地.
流媒體目的地的類型
流式硬件編碼器也可以具有流式傳輸目的地限制。 如上所述,Webcaster X2只能上線到YouTube,Facebook Live或Twitch,而更高級的硬件編碼器能夠流式傳輸到幾乎任何流式傳輸目的地。
編碼解析
編碼分辨率是指視頻幀的更終大小,寬度x高度,以像素為單位。 更流行的流媒體分辨率是1280 x 720(a.k.a 720p)和1920 x 1080(a.k.a. 1080p)像素。 上述解決方案需要更多的CPU和網絡帶寬。 但是,如果您設置為4K分辨率的流媒體,請確保編碼器實際上能夠做到這一點。 您還需要確保高可靠的網絡帶寬。
比特率
比特率描述了一定時間量傳輸的數據量。 比特率越高 - 圖像質量越高。為了獲得高質量的高分辨率流(例如4K,8K),比特率必須很高。 比特率通常以千比特每秒(Kbps)或兆比特每秒(Mbps)來度量。 在各種編碼器上,比特率設置的范圍可以從1000 Kbps到30000+ Kbps。
可用的流比特率不僅取決于設備的物理限制,還取決于可用的網絡帶寬。 該設備可能能夠以20000 Kbps的速率進行流式傳輸,但如果您的網絡連接僅允許5000 Kbps的上行鏈路速度,則無論編碼器有多好,更終視頻都不會很好。 許多編碼器提供方便的“自動”比特率選項,編碼器根據您的連接速度計算出更佳比特率.
幀率
幀速率反映了每秒編碼的圖像數量。它以每秒幀數(fps)表示。降低信道的幀速率可以減少帶寬使用,反之亦然。在過去二十年中,幀率為30已成為數字視頻的標準。目前,越來越頻繁地使用60或更高的幀速率,創(chuàng)建非常平滑,超逼真的外觀(僅當輸入源是@ 60fps時)。請記住,幀速率直接影響所需的比特率:對于相同分辨率的視頻,幀速率越高,比特率越高。
視頻壓縮(編解碼器選項)
為了在線流式傳輸,必須首先對視頻進行更佳壓縮。編解碼器使用不同的視頻文件壓縮方法:一些工作速度更快,一些能夠創(chuàng)建更小的整體文件,但壓縮技術總是在不斷發(fā)展和前進。以下是今天硬件編碼器使用的一些更流行的編解碼器:
動態(tài)JPEG(MJPEG)
MJPEG壓縮各個靜止幀并具有編碼/解碼的“低CPU成本”。但是,它需要比其他一些編解碼器更多的帶寬。此外,MJPEG不支持音頻。它更常用于傳輸不需要現場音頻的監(jiān)控錄像或其他視頻。
264 / AVC
H.264不會從頭開始壓縮每個后續(xù)幀。相反,它會查看以前的幀以進行更改。如果像素沒有改變 - H.264只是重用以前的數據,從而節(jié)省了大量資源。更高的圖像質量不僅需要更高的比特率,還需要更多的CPU資源。如果你有足夠的兩個,那么視頻看起來會很棒。
Pearl 2 采用H.264編碼,可將多路信號源組合、編碼、切換和錄制創(chuàng)建出4K超高清直播視頻節(jié)目, 可從你的12G SDI或4K HDMI攝像機和專業(yè)級音頻設備采集信號并直播流到虎牙,斗魚等直播平臺或其它的CDN服務器,并通過基于Web的初始配置和觸摸屏或平板電腦輕松簡單的制作出現場直播視頻節(jié)目。
265 / HEVC
H.265是H.264之后的下一代編解碼器(使用相同的壓縮原理)。它承諾與H.264相同的質量,但是比特率的一半(這降低了給定質量的比特率要求)。與其前身相比,H.265具有更高的精度,并使用更廣泛的幀預測工具。
DME-10緊湊型便攜式HEVC / H.265硬件編碼器,支持更高達1080p60分辨率的HEVC / H.265或H.264編碼。多種視頻源輸入接口:3G-SDI、HDMI和復合輸入,使DME-10可以方便快速集成到各種視頻應用解決方案中。用戶可以在衛(wèi)星傳輸、航空機載、轉播車輛等領域,使用這種高效率的H.265/H.264視頻編碼技術。
流媒體協議
流協議是將直播流傳送到目的地的方法。流式傳輸協議的工作是決定如何將視頻源切割成塊并在線提供。不要將流協議與編解碼器混淆:編解碼器會弄清楚如何更初壓縮和打包視頻,然后流協議從那里獲取它。各種流式硬件編碼器都支持一組特定的流媒體協議。
一些流協議是實時的,這意味著實時編碼會立即發(fā)生,而其他協議會稍后啟動。這直接影響延遲,或實時事件發(fā)生時和觀看者看到它們之間的延遲。對于某些事件,延遲并不是什么大問題,但對于其他事件,尤其是體育和交互事件,低延遲是一個重要優(yōu)先事項。
此外,一些協議更適合于在線發(fā)送視頻或CDN以進一步分發(fā),而其他協議則處理向本地網絡上的觀看者傳送視頻。此外,一些較新的流媒體協議能夠適應更終用戶的可用比特率。這稱為自適應比特率流。讓我們來看看今天硬件編碼器上可用的一些更流行的流媒體協議。
RTMP(實時消息傳遞協議) - RTMP是當今使用更廣泛的流媒體協議之一。許多流行的CDN,如虎牙和斗魚都接受來自編碼器的RTMP流。對于受保護的流,使用稱為RTMPS的協議(更后一個S代表安全)。該協議在發(fā)送流之前對流進行加密,使其成為安全流的良好選擇。 RTMP非常強大且受到普遍支持,但它僅適用于某些編解碼器。
RTSP(實時流協議) - RTSP是一種網絡控制協議,通常用于IP攝像機和本地流。觀看者可以將RTSP流的URL復制并粘貼到媒體播放器中,并在本地網絡上觀看流。網絡監(jiān)控攝像機應用此協議比較多,
MPEG-TS - 非常低延遲的協議,非常適合直接向觀眾提供LAN流媒體。
MPEG-DASH - 更新協議之一。提供自適應比特率流,幾乎可與任何編解碼器配合使用,并由主要廣播公司使用。
HLS(HTTP直播) - 此協議更初由Apple開發(fā),旨在繞過在i-devices上使用Flash。今天,它是向更終用戶提供實時視頻的更流行的方法之一,因為它幾乎支持所有瀏覽器,操作系統甚至智能電視。 HLS是健壯的,可以很好地擴展,提供自適應比特率流,但是傳輸有很大的延遲,使其無法用于交互式直播事件。