服務器端GPU自動批量轉碼方案及評測
發布時間:2019-10-20 17:16:43CPU轉碼的痛點
受不了一堆隊列任務等待轉碼中,客戶老是問我,我那個3個G的視頻轉了半天怎么還沒完啊,怎么才能讓轉碼快點呢?我只能告訴他升級CPU,客戶說已經是e5的cpu了,再高成本就上去很多了。
的確使用高端的cpu轉碼,動不動幾千上萬一個月的服務器租用成本是個大問題,一年下來一臺服務器就接近十來萬,上十來臺服務器一年小百萬就沒有了。賺的錢都給機房了,還搞毛啊!
為什么以前不做GPU轉碼
GPU一直是唯一的快速轉碼備用方案,但為什么我們遲遲沒有推出,有很多原因。
首先,GPU轉碼的畫質處理效果的確不是很好,同等碼率的情況下,CPU的畫質處理比GPU處理效果好。在幾年前,GPU轉碼還是高碼率低畫質,帶來的后果就是畫質低還占硬盤和寬帶,實際上得不償失。
其次,機房的刀片機器很難插進普通的顯卡,我們測試的NVIDIA teslap4算得上是一款專為服務器定做的轉碼顯卡,占地小,可以插進刀片服務器,但是價格偏貴,自己可以百度價格。
基于以上兩個原因,所以一直沒有實施GPU轉碼方案。
為什么現在要做?
首先是客戶的強烈需求,特別感謝定做的客戶給我們提供了開發的動力和資金支持,如果沒有定做的客戶,我們可能還是處于觀望狀態。
其次是硬件市場的日趨成熟,隨著GPU顯卡的價格的逐步走低中小企業購買顯卡轉碼的可能性越來越大,機房配置顯卡的可能性也在逐步提升,并且家用顯卡通過轉接頭也可以插在服務器上面使用,價格不再是問題。
GPU發展到如今,GPU的轉碼畫質雖有大幅提升,實測在2000碼率以上不管轉碼速度還是壓縮率GPU完勝CPU,相信在以后的將來低碼率情況下也會無限接近CPU轉碼效果。
最后最重要的是,作為一款全球火爆應用最廣泛的點播系統,如果不走在科技的前沿,是不是會被客戶看低我們的實力,就算做了不賺錢,也不能失領頭羊的身份,不管是否有大量客戶需要,至少我們要給有需求的客戶準備好這個環境。
所以,把不可能變成可能,只是需要時間來改變。
一切皆有可能!
顯卡的最佳選擇
言歸正傳,說點干貨。
目前做的顯卡轉碼,只做了NVIDIA這個公司的產品,為什么要選擇他,是因為他的技術相對成熟,看過不同的測評,對NVIDIA顯卡轉碼的評價略高于AMD和INTER,另外就是開發環境的成熟度,讓我們選擇了他,如果你有其他品牌顯卡的需求,也可聯系我們定做,費用低廉,服務滿意。
NVIDIA支持的型號參考官網:https://developer.nvidia.com/cuda-gpus
從NVIDIA官網可以看出,支持GPU轉碼的有服務器顯卡和家用顯卡,但是服務器顯卡的價格動不動上萬的價格,實在是沒興趣,我們的重點是節省成本,所以主推家用顯卡系列,經測試,最低端的gtx1060顯卡即可支持gpu轉碼,價格在1000塊錢左右,最高推薦GTX2060,價格在2000多,性能強悍,再往上的2080價格在10000左右,性能相當,就不作推薦了。
所以綜合來看,在1000-3000塊錢之間的所有顯卡都可以適配我們軟件來進行GPU轉碼,但是他的效率卻是CPU的幾倍,實測1G視頻文件,按2000-4000碼率的輸出只需5分鐘即可轉碼完成,這效率是e5 e7系列cpu都不可比擬的。
在使用家用顯卡的時候,我們推薦使用win10系統,因為家用顯卡的定位就是家庭系統用戶,服務器系統的兼容性到底如何,我們就不用花時間去考證了,畢竟不管什么系統,能快速解決問題才是關鍵。
驅動安裝
NVIDIA顯卡驅動安裝官網下載地址:https://www.nvidia.com/Download/index.aspx?lang=en-us
如果你是linux服務器,需安裝以下驅動,截圖測試的是tesla p4、Tesla p100,其他型號自測。
windows為例:注意tesla系列CUDA版本一定選擇9.0,語言選擇中文簡體,其他版本能否使用不詳。如果是家用顯卡,可安裝官網對應型號安裝驅動。
linux驅動已經為您搭配好了最適應的驅動程序,可直接使用遠程一鍵安裝:http://install.云轉碼.com,注意Linux系統一定選擇centos7.x,實測7.6有效,其他版本不詳。
軟件的GPU轉碼設置:
首先你要讓軟件和授權類型支持GPU轉碼,升級軟件和授權碼以后,在系統設置-轉碼設置,選擇轉碼核心-GPU轉碼,保存即可。上傳一個視頻就可以體驗一下GPU嗖嗖的速度了。
基于低于2000碼率GPU轉碼畫質低,文件大的實際情況,我們增加了智能切換功能,該功能是在有GPU授權的情況下,指定一個臨界值,讓低于該碼率的輸出視頻用CPU轉碼,高于該碼率的輸出視頻用GPU轉碼。建議設置2000,可根據實際情況修改。
NVIDIA GPU轉碼實測效果:
測試的配置:阿里云主機,CPU e5 虛擬雙核 GPU tesla p100(算力6.0)
測試文件一:大小1G,時長43分鐘,同時輸出700|1400|2400|3000四種碼率對應640:-1|720:-1|1080:-1|1920:-1四種分辨率,轉碼時間為十五分鐘完成。
測試文件二:大小1.67G,時長1小時21分,設置原畫輸出(0碼率輸出,0分辨率),轉碼時間5分鐘。
實測家用顯卡比服務器專用顯卡性能差不了多少,所以強烈推薦使用家用顯卡系列。
畫質與壓縮率對比:
對于網絡播放來說,視頻的壓縮率絕對是考慮的第一要素,因為壓縮率越高,同等畫質情況下視頻文件體積越小,同樣寬帶的情況下,可以承載的在線人數越多,反之就浪費寬帶。
我們找了3個視頻,分別是動畫片片段、電影片段、電視劇片段,原始文件都是1920的4k片源,分別輸出640:-1(500碼率)、1280:-1(1400碼率)、1920:-1(2600碼率)、1920:-1(4000碼率),以下是測試結果:
電影片段
動畫片片段
電視劇片段
從以上測試結果可以得出大致結論:
使用2000碼率以下的低畫質視頻使用CPU轉碼效果更好,壓縮率高,文件小,清晰度更好。
使用2000碼率以上的低畫質視頻使用GPU轉碼效果更好,壓縮率高,文件小,清晰度更好。
因為篇幅原因就不取截圖了,實際觀察效果也是如此,有興趣的可以自己轉碼對比看效果,肉眼就可以判斷。
NVIDIA GPU轉碼結論:
如果你租用了兩臺或兩臺以上的服務器轉碼,并且輸出碼率超2000,就完全可以選擇GPU轉碼,算一下成本,以NVIDIA家用顯卡為例,價格1000-5000的1050TI—2060TI家用顯卡即可勝任,但是轉碼速度至少比e5系列CPU轉碼快了五倍以上,相當于一臺服務器頂五臺服務器以上的轉碼速度,而成本只多了顯卡+軟件費用,一共不到一萬塊錢的成本,而多租五臺E5轉碼服務器一年的成本遠至少是十萬以上。
成本公式:
普通版授權價格2000/年不變,GPU加速版授權價格為4999/年
CPU轉碼方案:(e5服務器一年最低兩萬+軟件費用2000)x5 > 十萬
GPU家用電腦轉碼方案:中高端家用電腦0.5萬+NVIDIA家用顯卡0.3萬+軟件費用4999 < 1.3萬
對比一下,使用GPU轉碼省時又省錢,應該怎么選擇,答案很明顯。
開通方式:
已購買普通授權的老客戶需聯系客服QQ 9609008,補差價2999即可開通GPU轉碼功能。
剛才已經提到了GPU轉碼是為高端用戶而準備,所以覺得顯卡貴、軟件貴、一臺普通服務器即可滿足轉碼需求的,完全可以忽略該方案。
跑車的設計可不是給我們老百姓拉貨的。
如果你有興趣可以看看最低成本的GPU轉碼方案:http://www.云轉碼.com/dianbo/wenti/558.html