H265视频转码H264视频
LiveMedia視頻平臺(tái)提供H5網(wǎng)頁web前端無插件視頻碼流,但目前主流瀏覽器和播放器都只支持H264的碼流,但是隨著編碼技術(shù)的迭代,目前H265編碼的視頻已在安防行業(yè)得到了廣泛的使用,平臺(tái)僅支持H264需要客戶修改前端的視頻編碼,這樣會(huì)造成存儲(chǔ)和帶寬的浪費(fèi)和壓力,在此技術(shù)和應(yīng)用背景下,平臺(tái)兼容H265勢在必行。平臺(tái)端兼容H265有以下幾種方案可選:
方案一:平臺(tái)支持H265視頻轉(zhuǎn)發(fā),由web前端做H265解碼顯示
方案二:平臺(tái)將H265視頻在后臺(tái)做轉(zhuǎn)碼成H264后,再轉(zhuǎn)發(fā)至web前端進(jìn)行顯示
采用方案一需要開發(fā)支持H265的基于WASM視頻播放器,對技術(shù)門檻要求有點(diǎn)高,另外跨平臺(tái)視頻播放、小程序播放還需另外開發(fā),綜合考慮,最終我們選擇了方案二,這樣客戶不需要修改原有的代碼就能實(shí)現(xiàn)視頻播放。
在介紹LiveMedia后臺(tái)對H265視頻進(jìn)行轉(zhuǎn)碼,先普及下視頻轉(zhuǎn)碼的知識(shí)
1、軟編碼和硬編碼如何區(qū)分
軟編碼:使用CPU進(jìn)行編碼
硬編碼:使用非CPU進(jìn)行編碼,如顯卡GPU、專用的DSP、FPGA芯片等
2、軟編碼和硬編碼比較
軟編碼:實(shí)現(xiàn)直接、簡單,參數(shù)調(diào)整方便,升級易,但CPU負(fù)載重,性能較硬編碼低,低碼率下質(zhì)量通常比硬編碼要好一點(diǎn)。
硬編碼:性能高,低碼率下通常質(zhì)量低于軟編碼器,但部分產(chǎn)品在GPU硬件平臺(tái)移植了優(yōu)秀的軟編碼算法(如X264)的,質(zhì)量基本等同于軟編碼。
3、目前的主流GPU加速平臺(tái)
NVIDIA、INTEL、AMD等
4、目前主流的GPU平臺(tái)開發(fā)框架
CUDA:NVIDIA的封閉編程框架,通過框架可以調(diào)用GPU計(jì)算資源
AMD APP:AMD為自己的GPU提出的一套通用并行編程框架,標(biāo)準(zhǔn)開放,通過在CPU、GPU同時(shí)支持OpenCL框架,進(jìn)行計(jì)算力融合。
OpenCL:開放計(jì)算語言,為異構(gòu)平臺(tái)編寫程序的該框架,異構(gòu)平臺(tái)可包含CPU、GPU以及其他計(jì)算處理器,目標(biāo)是使相同的運(yùn)算能支持不同平臺(tái)硬件加速。
Inel QuickSync:集成于Intel顯卡中的專用視頻編解碼模塊。
LiveMedia平臺(tái)后臺(tái)視頻轉(zhuǎn)碼采用NVIDA GPU加速平臺(tái),支持軟/硬解碼兼容,在GPU富足的情況下,優(yōu)先使用硬解碼。
在確定了GPU平臺(tái)后,需要搭建開發(fā)和運(yùn)行環(huán)境(NVIDIA 驅(qū)動(dòng)安裝和CUDA開發(fā)包安裝就不綴述了,CSDN上博客很多),如有需要的小伙伴們可以留言。
在使用NVIDIA GPU做轉(zhuǎn)碼時(shí)需要根據(jù)官方提供的開發(fā)文檔和產(chǎn)品詳細(xì)配置,有些產(chǎn)品是不帶H265解碼核心的,詳細(xì)的見圖(從NVIDIA網(wǎng)站上截取部分),僅供參考
詳情請參考NVIDIA官方說明Video Encode and Decode GPU Support Matrix [NEW] | NVIDIA Developer
另外就是對NVIDIA對游戲(消費(fèi)級)顯卡做了編碼會(huì)話數(shù)量限制,開發(fā)時(shí)可以使用游戲顯卡測試,但是實(shí)際上線部署還是應(yīng)該采購專業(yè)顯卡,避免踩坑!
注:開源網(wǎng)站(github)上有如何繞開會(huì)話限制的攻略,有興趣的小伙伴可以去嘗試。
微信:
網(wǎng)址:www.houhangkeji.com
QQ技術(shù)交流群:698793654
總結(jié)
以上是生活随笔為你收集整理的H265视频转码H264视频的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(2888):如何短时间内实现v
- 下一篇: [css] 说说position的abs