該編碼器在1U小機箱內(nèi)實現(xiàn)8路HDMI采集、實時高清編碼、RTMP推送,與當前主流編碼器方案比較,編碼效率提高50%,功耗下降65%,體積減少80%,是一款創(chuàng)新性的網(wǎng)絡高清直播編碼器。
1. 8路高清直播編碼器設計
西安通視技術人員,利用3年時間,使用多項新技術,完成FPGA與CPU、GPU間的緊耦合設計,在1U機箱內(nèi)實現(xiàn)8路采集、編碼、RTMP推送,并將目前編碼效率提升50%以上;操作界面簡單實用,便于非技術人員操作。
1.1采集卡硬件及驅(qū)動設計
目前市面上HDMI采集卡最多集成4路輸入,配備AVSTREAM驅(qū)動,通用性強,適應面廣,但未考慮與新型CPU的緊耦合。
本采集卡唯一使用對象是高效編碼系統(tǒng),可以降低通用性考慮,而更關注其高效性。因此在設計上有幾個特點:
1)集成度高,采用PCIex4接口,允許8路HDMI同時輸入和實時采集;
2) DMA傳輸效率高。傳統(tǒng)采集卡設計為了兼容性,常采用頁表方式申請內(nèi)存,導致傳輸效率下降。本設計對象為專用設備,在開機加載驅(qū)動時申請大量連續(xù)內(nèi)存,提高DMA傳輸效率;
3)使用圖形加速內(nèi)存。普通采集卡使用系統(tǒng)內(nèi)存,便于CPU獲得圖像數(shù)據(jù)進行軟件壓縮。本設計主要依靠硬件壓縮,使用圖形內(nèi)存,無需CPU干預,借助DXVA加速,提高壓縮速度。
1.2編碼算法優(yōu)化
編碼算法優(yōu)化,是本設計一大亮點,優(yōu)化后的算法,比目前市面常用算法,編碼效率提高50%以上,且同時支持8路高清實時編碼。
算法優(yōu)化分為多個方面:
1)數(shù)據(jù)采集優(yōu)化。采集卡硬件直接轉(zhuǎn)換數(shù)據(jù)格式,將數(shù)據(jù)寫入需要的緩沖區(qū),無需CPU參與數(shù)據(jù)拷貝與格式轉(zhuǎn)換;
2)硬件加速編碼。采用最新硬件加速編碼技術,在不影響實時編碼速度情況下,采用H264 HighProfile最復雜編碼配置,提高編碼質(zhì)量;
3)多B幀編碼。B幀能夠顯著提高編碼效率,但一般視頻服務器遇到2個以上連續(xù)B幀,就會產(chǎn)生畫面抖動,本算法對其做了預矯正,在連續(xù)5個B幀時,能夠流暢播放。
4)智能的碼率控制。按常識,運動圖像會增大碼流,運動越劇烈,碼流越高。但人眼對快速運動物體的分辨率會下降,利用該特性,在宏塊(MB)級分析其運動特性,較靜止的MB分配較高質(zhì)量,運動大的MB分配較低質(zhì)量,從而在不降低視覺效果基礎上,大大降低碼流。
5)多路統(tǒng)計復用。本設計為8路實時編碼,考慮到8路輸入信號的非相關性,采用統(tǒng)計復用的方式,將總碼流控制在一定范圍,8路編碼碼流可相互借用。
X264是目前公認最好的H264編碼軟件,在720P分辨率下,本優(yōu)化算法與X264性能比較見圖2。
現(xiàn)有編碼系統(tǒng),使用4路HDMI采集卡(或4塊單路HDMI采集卡)+ CPU軟壓,為了滿足4路高清編碼速度,常采用X264 fast或veryfast模式。

從圖上可以看出,在低碼率情況下,優(yōu)化編碼算法優(yōu)于X264算法1~2db,或者說,優(yōu)化算法600Kbps碼流效果相當于原來1~1.4Mbps碼流效果。
1.3軟件設計
軟件基本功能是完成圖像采集、編碼、RTMP發(fā)送。為了達到良好的編碼效率,需要動態(tài)配置大量編碼參數(shù);為了通過RTMP與視頻服務器(WOWZA,RED5,F(xiàn)MS)連接,還需設置相關連接參數(shù)。
軟件界面極為簡潔,用戶僅需設置每路的壓縮質(zhì)量與視頻服務器地址即可,內(nèi)部復雜設置與優(yōu)化均由軟件內(nèi)部完成。
壓縮質(zhì)量分為Excellent(很好),Good(好),F(xiàn)air(一般),Poor(差)4種,對應的平均碼流分別為1.3Mbps,1.0Mbps,800Kbps,600Kbps,該碼流是綜藝節(jié)目的平均碼流,對于體育節(jié)目,碼流上浮15~20%,對于新聞節(jié)目,碼率下浮10~15%。
可以到網(wǎng)站下載編碼樣片,用于評估。獲得直播地址URL后,粘貼到VLC“網(wǎng)絡串流”中觀看。
1.4整機裝配
整機采用1U 250mm短機箱,由I3 4370(或G3220)CPU,微星H81I miniITX主板,雙滾珠渦輪風扇,2x2GB DDR3雙通道內(nèi)存,1U Flex電源,32GB SSD,專用8路HDMI采集卡構成,見圖3。

2.整機測試
2.1整機接口及測試
1)輸入接口:HDMI(x8);
2)高清格式:1280*720p50/60;
3)輸出接口:RJ45 100/1000Mbps;
4)輸出協(xié)議:RTMP;
5)供電:AC110/220 50/60Hz。
重量4Kg,滿負荷工作時,整機功耗小于70W。
測試:輸入信號采用8臺機頂盒實時接收不同的衛(wèi)星高清節(jié)目,經(jīng)多臺HDMI分配器,將信號送到3臺機器的24路HDMI輸入;編碼后的碼流封成RTMP包,經(jīng)交換機送到WOWZA直播流服務器。
對3臺整機進行了滿負荷測試,期間發(fā)生過停電、個別機頂盒死機和一次WOWZA服務器堆溢出,但3臺整機均未出過異常。
2.2與現(xiàn)有同類設備的比較
比較時,同類4路編碼產(chǎn)品,體積、功耗均按兩臺設備計算。
編碼效率:600Kbps達到同類1~1.4Mbps編碼效果,效率提升50%以上
功耗:70W與同類2x100W相比,下降65%以上
體積:1U與2x3U機箱相比,減少80%以上
3.總結
綜上所述,高性能8路高清直播編碼器的使用,將極大節(jié)省網(wǎng)絡流量、電費及空間占用率,提高設備可靠性,降低運營成本和入門門檻,促進網(wǎng)絡直播高清化。









