一种基于Intel SkyLake集成显卡的H265硬件编码方法及直播平台技术

技术编号:21634606 阅读:37 留言:0更新日期:2019-07-17 12:59
本发明专利技术公开了一种基于Intel SkyLake集成显卡的H265硬件编码方法及直播终端,该方法包括初始化IntelMediaSDK;初始化H265硬件编码器;分配显存表面以接收待编码的图像;获取H265视频编码参数;基于所述H265视频编码参数,通过所述H265硬件编码器对所述待编码图像进行编码。这样,在同等视频分辨率、码率、帧率的情况下,编码后的视频体积相比H264来说减少了30%左右,并且因为是硬件编码,对用户计算机的CPU消耗并不大,从而也减少了用户CPU的消耗,提高了编码的流畅性。

A H265 Hardware Coding Method and Live Platform Based on Intel SkyLake Integrated Display Card

【技术实现步骤摘要】
一种基于IntelSkyLake集成显卡的H265硬件编码方法及直播平台
本申请涉及计算机领域,尤其涉及一种基于IntelSkyLake集成显卡的H265硬件编码方法及直播终端。
技术介绍
H265是在H264的基础上的新的视频编码规范,H265相对于H264的优点是在同等视频分辨率以及码率的情况下,编码出来的视频体积比H264要少30%左右,这意味着可以降低30%的磁盘存储或者30%左右的网络带宽使用。但是,由于H265相对于H264来说,在编码的时候,对CPU的消耗要成倍的增加,如果使用软件编码的方案来进行H265编码的话,需要计算机大量的资源,容易造成电脑出现卡顿等现象。因此,现有技术中亟需一种基H265硬件编码方法。
技术实现思路
本专利技术提供了一种基于IntelSkyLake集成显卡的H265硬件编码方法及直播终端,以满足现有技术中对H265硬件编码方法的需求。为解决上述技术问题,本专利技术第一方面提供了一种基于IntelSkyLake集成显卡的H265硬件编码方法,所述方法包括:初始化IntelMediaSDK;初始化H265硬件编码器;分配显存表面以接收待编码的图像;获取H265视频编码参数;基于所述H265视频编码参数,通过所述H265硬件编码器对所述待编码图像进行编码。可选地,所述初始化IntelMediaSDK,具体包括:调用MFXInit函数初始化所述IntelMediaSDK;根据返回值确定所述IntelMediaSDK是否初始化成功;并在所述IntelMediaSDK初始化成功后,获取到类型为MfxSession的值。可选地,所述初始化H265硬件编码器,具体包括:加载所述H265硬件编码器;在成功加载所述H265硬件编码器后,调用MFXVideoENCODE_Init函数初始化所述H265硬件编码器,并在所述MFXVideoENCODE_Init函数的返回值为MFX_ERROR_NONE时,确定所述H265硬件编码器初始化成功。可选地,所述分配显存表面以接收待编码的图像,具体包括:获取需要创建的显存表面数量;创建IDirect3DDeviceManager9接口;调用所述IDirect3DDeviceManager9接口的OpenDeviceHandle方法,获取设备句柄;基于所述设备句柄,调用所述IDirect3DDeviceManager9接口的GetVideoService方法,创建IID_IDirectXVideoDecoderService的IDirectXVideoDecoderService接口;调用所述IDirectXVideoDecoderService接口的CreateSurface方法,获取IDirect3DSurface9类型的显存表面。可选地,所述获取H265视频编码参数,具体包括:调用MFXVideoENCODE_GetVideoParam函数,将所述类型为MfxSession的值传入所述MFXVideoENCODE_GetVideoParam函数中;初始化类型为mfxExtCodingOptionSPSPPS的结构,将类型为MFX_EXTBUFF_CODING_OPTION_SPSPPS的值,填充到所述mfxExtCodingOptionSPSPPS的结构的BufferId字段中;调用所述MFXVideoENCODE_GetVideoParam函数,获取所述H265序列集参数和H265图像集参数;以及调用MFXVideoENCODE_GetVideoParam函数;初始化类型为mfxExtCodingOptionVPS的结构,并将类型为MFX_EXTBUFF_CODING_OPTION_VPS的值,填充到所述mfxExtCodingOptionVPS的结构的BufferId字段中,调用该函数,获取到H265视频集参数。可选地,所述基于所述H265视频编码参数,通过所述H265硬件编码器对所述显存表面中的待编码图像进行编码,具体包括:获取所述显存表面的地址,并将待编码的图像拷贝到显存表面中;调用MFXVideoENCODE_EncodeFrameAsync方法,对所述显存表面进行H265硬件编码;根据所述MFXVideoENCODE_EncodeFrameAsync的返回值,判断编码是否完成;若编码完成,则获取所述待编码的图像对应的H265编码数据。本专利技术第二方面还提供了一种直播终端,所述直播终端包括IntelSkyLake集成显卡,所述直播终端包括:获取装置,用于获取直播图像;编码装置,通过如第一方面提供的方法,利用IntelSkyLake集成显卡所述对所述直播图像进行编码;传输装置,用于将对所述编码装置输出的编码数据发送给直播平台。本专利技术第三方面还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现第一方面提供的方法的步骤。本专利技术第四方面还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现第一方面提供的方法的步骤。通过本专利技术的一个或者多个技术方案,本专利技术具有以下有益效果或者优点:由于采用了通过初始化IntelMediaSDK,初始化H265硬件编码器,并且分配显存表面以接收待编码的图像,并且获取H265视频编码参数,并且基于H265视频编码参数,通过H265硬件编码器对待编码图像进行编码的技术方案,实现了利用IntelSkylake架构的特性进行H265硬件编码的目的,这样,在同等视频分辨率、码率、帧率的情况下,编码后的视频体积相比H264来说减少了30%左右,并且因为是硬件编码,对用户计算机的CPU消耗并不大,从而也减少了用户CPU的消耗,提高了编码的流畅性。附图说明图1为本专利技术实施例提供的基于IntelSkyLake集成显卡的H265硬件编码方法的流程图。具体实施方式为了使本申请所属
中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。本专利技术实施例提供了一种基于IntelSkyLake(英特尔的第六代微处理器架构)集成显卡的H265硬件编码方法及直播终端,以满足现有技术中对基H265硬件编码方法的需求。本专利技术实施例第一方面提供了一种基于IntelSkyLake(英特尔的第六代微处理器架构)集成显卡的H265硬件编码方法,请参考图1,图1为本专利技术实施例提供的基于IntelSkyLake集成显卡的H265硬件编码方法的流程图,如图1所示,该方法包括:S1:初始化IntelMediaSDK;S2:初始化H265硬件编码器;S3:分配显存表面以接收待编码的图像;S4:获取H265视频编码参数;S5:基于H265视频编码参数,通过H265硬件编码器对待编码图像进行编码。可以看出,由于采用了通过初始化IntelMediaSDK,初始化H265硬件编码器,并且分配显存表面以接收待编码的图像,并且获取H265视频编码参数,并且基于H265视频编码参数,通过H265硬件编码器对待编码图像进行编码的技术方案,实现了利用IntelSkylake架构的特性进行H265硬件编码的目的,这样,在同等视频分辨率本文档来自技高网
...

【技术保护点】
1.一种基于Intel SkyLake集成显卡的H265硬件编码方法,其特征在于,所述方法包括:初始化IntelMediaSDK;初始化H265硬件编码器;分配显存表面以接收待编码的图像;获取H265视频编码参数;基于所述H265视频编码参数,通过所述H265硬件编码器对所述待编码图像进行编码。

【技术特征摘要】
1.一种基于IntelSkyLake集成显卡的H265硬件编码方法,其特征在于,所述方法包括:初始化IntelMediaSDK;初始化H265硬件编码器;分配显存表面以接收待编码的图像;获取H265视频编码参数;基于所述H265视频编码参数,通过所述H265硬件编码器对所述待编码图像进行编码。2.如权利要求1所述的方法,其特征在于,所述初始化IntelMediaSDK,具体包括:调用MFXInit函数初始化所述IntelMediaSDK;根据返回值确定所述IntelMediaSDK是否初始化成功;并在所述IntelMediaSDK初始化成功后,获取到类型为MfxSession的值。3.如权利要求2所述的方法,其特征在于,所述初始化H265硬件编码器,具体包括:加载所述H265硬件编码器;在成功加载所述H265硬件编码器后,调用MFXVideoENCODE_Init函数初始化所述H265硬件编码器,并在所述MFXVideoENCODE_Init函数的返回值为MFX_ERROR_NONE时,确定所述H265硬件编码器初始化成功。4.如权利要求3所述的方法,其特征在于,所述分配显存表面以接收待编码的图像,具体包括:获取需要创建的显存表面数量;创建IDirect3DDeviceManager9接口;调用所述IDirect3DDeviceManager9接口的OpenDeviceHandle方法,获取设备句柄;基于所述设备句柄,调用所述IDirect3DDeviceManager9接口的GetVideoService方法,创建IID_IDirectXVideoDecoderService的IDirectXVideoDecoderService接口;调用所述IDirectXVideoDecoderService接口的CreateSurface方法,获取IDirect3DSurface9类型的显存表面。5.如权利要求2所述的方法,其特征在于,所述获取H265视频编码参数,具体包括:调用MFXVideoENCODE_GetVideoParam函数,将所述类型为MfxSession的值传...

【专利技术属性】
技术研发人员:杨亮张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1