[發(fā)明專利]一種基于Nvidia Maxwell2顯卡的H265硬件編碼方法及直播平臺在審
| 申請?zhí)枺?/td> | 201810019449.0 | 申請日: | 2018-01-09 |
| 公開(公告)號: | CN110022479A | 公開(公告)日: | 2019-07-16 |
| 發(fā)明(設(shè)計)人: | 楊亮;張文明;陳少杰 | 申請(專利權(quán))人: | 武漢斗魚網(wǎng)絡(luò)科技有限公司 |
| 主分類號: | H04N19/42 | 分類號: | H04N19/42 |
| 代理公司: | 北京眾達(dá)德權(quán)知識產(chǎn)權(quán)代理有限公司 11570 | 代理人: | 劉杰 |
| 地址: | 430000 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 硬件編碼 視頻編碼參數(shù) 硬件編碼器 圖像輸入 初始化 顯卡 視頻分辨率 用戶計算機 消耗 直播 編碼輸出 流暢性 分配 碼率 幀率 視頻 圖像 終端 | ||
1.一種基于Nvidia Maxwell2顯卡的H265硬件編碼方法,其特征在于,所述方法包括:
初始化NVENC環(huán)境;
初始化H265硬件編碼器;
分配圖像輸入源;
分配編碼輸出源;
獲取H265視頻編碼參數(shù);
基于所述H265視頻編碼參數(shù),通過所述H265硬件編碼器對所述圖像輸入源的圖像進(jìn)行編碼。
2.如權(quán)利要求1所述的方法,其特征在于,所述初始化NVENC環(huán)境,具體包括:
調(diào)用LoadLibrary函數(shù)加載nvcuda.dll模塊,若成功則繼續(xù);
調(diào)用GetProcAddress函數(shù)獲取cuInit,cuDeviceGetCount,CUDACreateContext函數(shù),若成功則繼續(xù);
調(diào)用LoadLibrary函數(shù)加載nvEncodeAPI模塊,若成功則繼續(xù);
調(diào)用LoadLibrary函數(shù)加載nvEncodeAPI模塊,若成功則繼續(xù);
調(diào)用GetProcAddress函數(shù)獲取NvEncodeAPICreateInstance函數(shù),若成功則繼續(xù);
調(diào)用所述NvEncodeAPICreateInstance函數(shù),初始化NV_ENCODE_API_FUNCTION_LIST結(jié)構(gòu)實例標(biāo)記為nvEncodeAPI,若成功則確定初始化NVENC環(huán)境成功。
3.如權(quán)利要求2所述的方法,其特征在于,所述初始化H265硬件編碼器,具體包括:
創(chuàng)建CUDA環(huán)境塊,若成功則繼續(xù);
創(chuàng)建所述H265硬件編碼器,若成功則將獲取到所述H265硬件編碼器的接口標(biāo)記為m_nvEncoder,并繼續(xù);
根據(jù)待編碼視頻的圖像參數(shù)初始化所述H265硬件編碼器。
4.如權(quán)利要求3所述的方法,其特征在于,所述分配圖像輸入源,具體包括:
創(chuàng)建一個類型為NV_ENC_CREATE_INPUT_BUFFER的圖像輸入源;
將所述NV_ENC_CREATE_INPUT_BUFFER的version字段設(shè)置為NV_ENC_CREATE_INPUT_BUFFER_VER,將所述NV_ENC_CREATE_INPUT_BUFFER的width字段設(shè)置為視頻的寬度,將該結(jié)構(gòu)的height字段設(shè)置為視頻的高度,將所述NV_ENC_CREATE_INPUT_BUFFER的bufferFmt字段設(shè)置為NV_ENC_BUFFER_FORMAT_NV12_PL;
調(diào)用nvEncodeAPI中的nvEncCreateInputBuffer函數(shù),創(chuàng)建一個圖像輸入源。
5.如權(quán)利要求4所述的方法,其特征在于,所述分配編碼輸出源,具體包括:
創(chuàng)建一個類型為NV_ENC_CREATE_BITSTREAM_BUFFER的編碼輸出源;
將所述NV_ENC_CREATE_BITSTREAM_BUFFER的version字段設(shè)置為NV_ENC_CREATE_BITSTREAM_BUFFER_VER,size字段設(shè)置為視頻分辨率的乘積;
調(diào)用nvEncodeAPI的nvEncCreateBitstramBuffer方法,創(chuàng)建編碼輸出源。
6.如權(quán)利要求1所述的方法,其特征在于,所述獲取H265視頻編碼參數(shù),具體包括:
調(diào)用nvEncodeAPI結(jié)構(gòu)中的nvEncGetSequenceParams函數(shù),獲取H265序列集參數(shù)、H265圖像集參數(shù)和H265視頻集參數(shù)。
7.如權(quán)利要求1所述的方法,其特征在于,所述基于所述H265視頻編碼參數(shù),通過所述H265硬件編碼器對所述圖像輸入源的圖像進(jìn)行編碼,具體包括:
將待編碼圖像傳入所述圖像輸入源;
通過所述H265硬件編碼器,對所述待編碼圖像進(jìn)行H265硬件編碼,并判斷編碼是否完成;
若編碼完成,則將對所述編碼的圖像對應(yīng)的編碼數(shù)據(jù)傳入所述編碼輸出源中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于武漢斗魚網(wǎng)絡(luò)科技有限公司,未經(jīng)武漢斗魚網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810019449.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種可伸縮視頻編碼量化參數(shù)確定方法及裝置
- 編碼參數(shù)調(diào)整方法及裝置
- 視頻編碼參數(shù)的配置方法、裝置、設(shè)備和存儲介質(zhì)
- 直播控制方法、裝置及系統(tǒng)
- 一種視頻數(shù)據(jù)處理方法、裝置及存儲介質(zhì)
- 視頻編碼方法、裝置、計算機設(shè)備及存儲介質(zhì)
- 視頻編碼方法、裝置、計算機設(shè)備及存儲介質(zhì)
- 一種視頻發(fā)布方法、裝置、計算機設(shè)備及存儲介質(zhì)
- 視頻編碼方法、裝置、設(shè)備及存儲介質(zhì)
- 模型訓(xùn)練、視頻編碼方法,裝置,設(shè)備以及存儲介質(zhì)





