[发明专利]一种基于Nvidia Maxwell2显卡的H265硬件编码方法及直播平台在审
申请号: | 201810019449.0 | 申请日: | 2018-01-09 |
公开(公告)号: | CN110022479A | 公开(公告)日: | 2019-07-16 |
发明(设计)人: | 杨亮;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | H04N19/42 | 分类号: | H04N19/42 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件编码 视频编码参数 硬件编码器 图像输入 初始化 显卡 视频分辨率 用户计算机 消耗 直播 编码输出 流畅性 分配 码率 帧率 视频 图像 终端 | ||
1.一种基于Nvidia Maxwell2显卡的H265硬件编码方法,其特征在于,所述方法包括:
初始化NVENC环境;
初始化H265硬件编码器;
分配图像输入源;
分配编码输出源;
获取H265视频编码参数;
基于所述H265视频编码参数,通过所述H265硬件编码器对所述图像输入源的图像进行编码。
2.如权利要求1所述的方法,其特征在于,所述初始化NVENC环境,具体包括:
调用LoadLibrary函数加载nvcuda.dll模块,若成功则继续;
调用GetProcAddress函数获取cuInit,cuDeviceGetCount,CUDACreateContext函数,若成功则继续;
调用LoadLibrary函数加载nvEncodeAPI模块,若成功则继续;
调用LoadLibrary函数加载nvEncodeAPI模块,若成功则继续;
调用GetProcAddress函数获取NvEncodeAPICreateInstance函数,若成功则继续;
调用所述NvEncodeAPICreateInstance函数,初始化NV_ENCODE_API_FUNCTION_LIST结构实例标记为nvEncodeAPI,若成功则确定初始化NVENC环境成功。
3.如权利要求2所述的方法,其特征在于,所述初始化H265硬件编码器,具体包括:
创建CUDA环境块,若成功则继续;
创建所述H265硬件编码器,若成功则将获取到所述H265硬件编码器的接口标记为m_nvEncoder,并继续;
根据待编码视频的图像参数初始化所述H265硬件编码器。
4.如权利要求3所述的方法,其特征在于,所述分配图像输入源,具体包括:
创建一个类型为NV_ENC_CREATE_INPUT_BUFFER的图像输入源;
将所述NV_ENC_CREATE_INPUT_BUFFER的version字段设置为NV_ENC_CREATE_INPUT_BUFFER_VER,将所述NV_ENC_CREATE_INPUT_BUFFER的width字段设置为视频的宽度,将该结构的height字段设置为视频的高度,将所述NV_ENC_CREATE_INPUT_BUFFER的bufferFmt字段设置为NV_ENC_BUFFER_FORMAT_NV12_PL;
调用nvEncodeAPI中的nvEncCreateInputBuffer函数,创建一个图像输入源。
5.如权利要求4所述的方法,其特征在于,所述分配编码输出源,具体包括:
创建一个类型为NV_ENC_CREATE_BITSTREAM_BUFFER的编码输出源;
将所述NV_ENC_CREATE_BITSTREAM_BUFFER的version字段设置为NV_ENC_CREATE_BITSTREAM_BUFFER_VER,size字段设置为视频分辨率的乘积;
调用nvEncodeAPI的nvEncCreateBitstramBuffer方法,创建编码输出源。
6.如权利要求1所述的方法,其特征在于,所述获取H265视频编码参数,具体包括:
调用nvEncodeAPI结构中的nvEncGetSequenceParams函数,获取H265序列集参数、H265图像集参数和H265视频集参数。
7.如权利要求1所述的方法,其特征在于,所述基于所述H265视频编码参数,通过所述H265硬件编码器对所述图像输入源的图像进行编码,具体包括:
将待编码图像传入所述图像输入源;
通过所述H265硬件编码器,对所述待编码图像进行H265硬件编码,并判断编码是否完成;
若编码完成,则将对所述编码的图像对应的编码数据传入所述编码输出源中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810019449.0/1.html,转载请声明来源钻瓜专利网。