一种编码模式确定方法、装置、设备及存储介质与流程

文档序号:24888136发布日期:2021-04-30 13:12阅读:81来源:国知局
一种编码模式确定方法、装置、设备及存储介质与流程

本发明实施例涉及视频处理技术领域,尤其涉及一种编码模式确定方法、装置、设备及存储介质。



背景技术:

随着音频视频技术的兴起与发展,直播已经广泛应用到了会议、培训、教育等商业活动中。生活中也有越来越多的用户开始使用直播进行交互。而户外直播,也与展示等移动泛生活直播领域的兴起,使得采用移动终端(如手机、平板)直播成为了最受欢迎的开播方式之一。通过这种方式形成的视频流,往往需要在传入观众端之前,先由生成视频的终端侧进行编码操作(也称为端上编码,且该操作具体可由移动终端上的编码器执行)从而实现视频流的压缩,以便视频流能够清晰流畅的在观众端播放。

直播流程中对实现端上编码的编码器选择以及编码参数的配置对终端设备的适配性要求很高。目前,市面上移动终端设备种类繁多,所采用的处理芯片也多种多样,无法简单归一化来考量。一般的,移动终端机型不同,配置高低也存在不同,并不能保证所有类型移动终端都能有效支持端上编码。

例如,假设所选择的编码器与移动终端不兼容,移动终端将无法正常进行视频流的编码处理;又或者,选择好编码器后,所配置的编码参数无法适配移动终端,在编码操作中可能会出现终端发烫降频、卡顿,无法流畅录制、播放视频等问题。因此,如何选择合适的编码器以及编码参数成为技术人员更关注的一个问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种编码模式确定方法、装置、设备及存储介质,以实现视频编码的有效进行。

第一方面,本发明实施例提供了一种编码模式确定方法,包括:

在监测到用户对视频开播选项的触发后,如果确定本端不支持视频的硬编码,则从后台服务端拉取编码配置信息;

根据所述编码配置信息以及本端的中央处理器cpu属性信息,确定本端匹配的目标编码模式。

第二方面,本发明实施例提供一种编码模式确定装置,包括:

信息拉取模块,用于在监测到用户对视频开播选项的触发后,如果确定本端不支持视频的硬编码,则从后台服务端拉取编码配置信息;

模式确定模块,用于根据所述编码配置信息以及本端的中央处理器cpu属性信息,确定本端匹配的目标编码模式。

第三方面,本发明实施例提供了一种计算机设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明第一方面实施例提供的编码模式确定方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面实施例提供的编码模式确定方法。

本发明实施例提供的一种编码模式确定方法、装置、设备及存储介质中,首先可以在监测到用户对视频开播选项的触发后,如果确定本端不支持视频的硬编码,就从后台服务端拉取编码配置信息;然后根据该编码配置信息以及本端的中央处理器(centralprocessingunit,cpu)属性信息来确定本端匹配的目标编码模式。上述技术方案,考虑了终端本身的硬件配置对视频编码处理所采用编码模式的影响,通过与后台服务端所提供配置信息的结合,实现了编码模式的灵活选择,保证了端上视频编码处理与终端硬件配置的有效匹配。

附图说明

图1给出了本发明实施例一提供的一种编码模式确定方法的流程示意图;

图2给出了本发明实施例二所提供编码模式确定方法的示例流程图;

图3给出了本发明实施例三提供的一种编码模式确定装置的结构框图;

图4给出了本发明实施例四提供的一种计算机设备的硬件结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例方式作进一步地详细描述。应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

实施例一

图1给出了本发明实施例一提供的一种编码模式确定方法的流程示意图,该方法适用于对视频编码处理所需编码模式进行确定的情况,该方法可以由编码模式的确定装置执行,其中,该装置可以由软件和/或硬件实现,并一般可集成在计算机设备上。

需要说明的是,用于视频的编码处理的端上编码器可以分为两类,一类是软编码,一类是硬编码,硬编码相当于由终端上的图像处理器承担了编码任务,其优势在于编码速度快、效率高且对cpu的占用率第,就算长时间以高分辨率进行视频实时播放,也不会引起终端发烫从而引起降频。但是该硬编码的不足在于受终端配置和机型的影响,存在兼容性问题。而软编码则具备较好的兼容性,能编码所有视频格式文件,且画质清晰画面精致,但软编码的cpu占用率稿,异性性能比较差的终端会因cpu占用率高发热引起降频、卡顿,无法流畅录制、播放视频。本实施例提供的方法,可以通过编码器种类的不同、编码参数配置的不同预先设定多种编码模式,并通过执行终端硬件相关信息匹配出适应的编码模式。

另外,需要知道的是,安装有视频交互类应用软件客户端的终端,可以在对运行上述应用软件,对实时生成的视频进行编码处理之前,通过本实施例所提供编码模式确定方法,来进行编码处理所对应编码模式的选择。

其中,终端上所安装的视频交互类应用软件可以是用于实现远程会议的会议交互类软件,也可以是实现远程教学的教学交互类软件,还可以是直播互动类软件,本实施例优选终端在启动直播互动类软件后,且具体可将本实施例提供的方法作为插件集成在上述交互类软件中,从而可以在满足本实施执行的触发条件后,进行本实施例下述操作。

如图1所示,本实施例一提供的一种编码模式确定方法,具体包括如下操作:

s101、在监测到用户对视频开播选项的触发后,如果确定本端不支持视频的硬编码,则从后台服务端拉取编码配置信息。

优选本实施例提供的方法作为插件集成在直播类交互软件中,在执行本步骤之前,可认为该应用软件已通过用户的触发启动,相应的,本实施例所提供方法的执行终端可记为本端,本端可以通过本步骤监听用户对应用软件中各项功能的触发。其中,所述视频开播选项可认为是应用软件中的一个功能项,具体用于进行视频录制形成视频实时传输给对端用户。假设本端所启动的应用软件为直播类的主播客户端,视频开播选项可认为是主播进行直播是需要触发的功能项。

在本实施例中,当作为主播的用户想要进行直播时,可以对该视频开播选项进行触发,本步骤可以监测到用户对该功能选项的触发,并可以在监测到触发且确定本端不支持视频的硬编码后,进行从后台服务端拉取编码配置信息的操作。

具体的,硬编码相当于编码模式中的其中一种模式,本实施例可以通过本端的硬件相关信息,确定本端是否支持硬编码。后台服务端相当于为本端上述所安装直播类交互软件提供服务支持的服务器端,在直播应用软件中,该后台服务端可优选为直播服务系统中的信令服务器。

同时,本端可以与后台服务端进行通信,本步骤可以获得后台服务端提供的编码配置信息,其中,所述编码配置信息包括了用于编码模式选定的关联信息以及参数阈值信息,关联信息可以包括用于展现终端cpu型号能否与不同编码清晰度匹配的黑白名单关联,参数阈值信息可以包括用于筛选终端cpu主频以及cpu核数是否达到不同编码清晰度要求的参数阈值。

s102、根据所述编码配置信息以及本端的cpu属性信息,确定本端匹配的目标编码模式。

在本实施例中,用于视频编码处理的编码模式总的可以分为硬编码和软编码,软编码又可以按照编码清晰度的不同划分为多档,每档又相当于一种编码模式。上述步骤在本端不支持硬编码的情况下进行,相当于本端可以在支持硬编码时优先采用硬编码的编码模式,在不支持硬编码时,可以通过本步骤基于上述获取的编码配置信息以及本端的cpu属性信息确定一档具备某种编码清晰度的软编码作为目标编码模式。其中,所述目标编码模式可认为是适合本端有效进行视频编码处理的编码模式。

具体的,软编码中的编码模式具体按照清晰度不同可以分为多档,本步骤可以从编码配置信息中提取出各档清晰度所支持的cpu型号以及不支持的cpu型号,还可以从编码配置信息中提取出各档清晰度下所支持的cpu主频范围以及cpu核数范围。

在本实施例中,所述cpu属性信息具体可理解为本端上所配备cpu的属性信息,具体可以包括cpu的型号、主频以及核数等信息。本实施例优选cpu属性信息中包括了cpu型号、cpu主频以及cpu核数。基于此,本步骤实现目标编码模式确定的实现可概括为:将本端的cpu型号与编码配置信息中各档清晰度支持及不支持的cpu型号进行比对判定,之后可以根据判定结果确定目标编码模式,或者进一步将cpu主频与编码配置信息中各档清晰度对应的cpu主频范围进行比对判定,根据判定结果也可以确定出目标编码模式,或者进一步将cpu核数与编码配置信息中各档清晰度对应的cpu核数范围进行比对,也可以根据判定结果确定出目标编码模式。

进一步地,本实施例优选编码配置信息中包括:用于一档编码清晰度判定的一档编码黑名单、一档编码白名单、一档cpu主频阈值和一档cpu核数阈值,以及用于二档编码清晰度判定的二档编码黑名单、二档编码白名单、二档cpu主频阈值以及二档cpu核数阈值;其中,所述一档编码清晰度高于所述二档编码清晰度。

本实施例对编码配置信息的进一步限定,可以看出软编码下按照清晰度优选至少包括了两个档次,具体为一档编码清晰度以及二档编码清晰度,且具备一档编码清晰度的视频,其清晰度高于具备二档编码清晰度的视频。

本实施例一提供的一种编码模式确定方法,首先可以在监测到用户对视频开播选项的触发后,如果确定本端不支持视频的硬编码,就从后台服务端拉取编码配置信息;然后根据该编码配置信息以及本端的cpu属性信息来确定本端匹配的目标编码模式。利用该方法,考虑了终端本身的硬件配置对视频编码处理所采用编码模式的影响,通过与后台服务端所提供配置信息的结合,实现了编码模式的灵活选择,保证了端上视频编码处理与终端硬件配置的有效匹配。

作为本实施例一的第一可选实施例,本第一可选实施例进一步给出了确定本端不支持视频的硬编码的实现步骤,具体的,该实现步骤可以包括:在所获取的硬编码支持标准表中查找是否存在本端对应的机型型号和/或所安装操作系统的系统版本号;如果不存在,则确定本端不支持视频的硬编码。

本第一可选实施例具体给出了是否支持硬编码的实现过程,可以知道的是,本地一可选实施例所给定的步骤具体也可以在在监测到用户对视频开播选项的触发之后进行。其中,所述硬编码支持标准表可以看作一个由终端型号和/或系统版本号构成的信息表,也可以由后台服务端预先提供,终端型号和/或系统版本号包含在该信息表中的终端可认为支持硬编码。

本第一可选实施例进行是否支持硬编码的判定可以为后续确定本端所匹配的目标编码模式提供前提基础。

作为本实施例一的第二可选实施例,本第二可选实施例在上述实施例的基础上,将根据所述编码配置信息以及本端的cpu属性信息,确定本端匹配的目标编码模式具体化为下述步骤:如果本端所具备cpu型号不属于所述一档编码黑名单但属于所述一档编码白名单,则将具备一档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

本第二可选实施例给出了目标编码模式确定的第一种可能实现,具体的,考虑到软编码所分出的各档按照清晰度存在档位的高低,本实施例可以根据档位由高到低依次来将编码配置信息中编码模式判定的各参数信息与本端的cpu属性信息进行比对,以此进行目标编码模式的确定。

示例性的,本第二可选实施例按照清晰度档位的高低,首先将本端的cpu型号与一档编码清晰度对应的一档编码黑名单以及一档白名单进行比对,其中,落入一档编码黑名单的cpu型号可认为无法采用具备一档编码清晰度的编码模式进行视频编码,落入一档编码白名单的cpu型号,可认为该种cpu型号的终端具备获得一档编码清晰度视频的权限,即,当本端cpu型号落入一档编码白名单后,相当于可直接将具备一档编码清晰度的编码模式作为本端的目标编码模式。

在本第二可选实施例中,当本端所具备cpu型号不属于所述一档编码黑名单但属于所述一档编码白名单时,可直接认为本端能够与具备一档编码清晰度的编码模式相匹配,由此可以将具备一档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

作为本实施例一的第三可选实施例,本第三可选实施例在上述实施例基础上,将根据所述编码配置信息以及本端的cpu属性信息,确定本端匹配的目标编码模式具体化为下述步骤:如果本端的cpu型号不属于所述一档编码黑名单且不属于所述一档编码白名单,则当本端的cpu主频达到所述一档cpu主频阈值且cpu核数达到所述一档cpu核数阈值时,将具备一档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

本第三可选实施例给出了目标编码模式确定的第二种可能实现,其中,本第三可选实施例相当于本端cpu属性信息与一档编码清晰度下各项信息间进行判定的另一个执行分支。

具体的,本第三可选实施例首先判定本端的cpu型号既没有落入一档编码黑名单,也没有落入一档编码白名单,此时无法直接判定本端是否与具备一档编码清晰度的编码模式匹配,需要进一步将本端的cpu主频与一档cpu主频阈值,以及cpu核数与一档cpu核数阈值进行比对。

其中,一档cpu主频阈值以及一档cpu核数阈值可认为是一档编码清晰度下所允许的最低临界值。由此,只要本端的cpu主频以及cpu核数达到上述阈值,就可认为本端与具备一档编码清晰度的编码模式匹配,此时,就可以将具备一档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

作为本实施例一的第四可选实施例,本第四可选实施例在上述实施例基础上,将根据所述编码配置信息以及本端的cpu属性信息,确定本端匹配的目标编码模式具体化为下述步骤:如果本端的cpu型号不属于所述一档编码黑名单且不属于所述一档编码白名单,则当本端的cpu主频未达到所述一档cpu主频阈值时,执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式。

本第四可选实施例给出了目标编码模式确定的第三种可能实现,其中,本第四可选实施例相当于本端cpu属性信息中cpu主频、cpu核数与编码配置信息中一档cpu主频阈值、一档cpu核数阈值的另一个执行分支。

具体的,本第四可选实施例同样可以在判定本端的cpu型号既没有落入一档编码黑名单,也没有落入一档编码白名单的情况下执行,当判定出本端的cpu主频没有达到一档cpu主频阈值时,无需进行本端cpu核数与一档cpu核数阈值的判定,可以直接认为本端无法与具备一档编码清晰度的编码模式匹配,由此需要进一步执行是否匹配二档编码清晰度的判定操作,从而判定具备二档编码清晰度的编码模式是否与本端匹配,以此来确定本端匹配的目标编码模式。

作为本实施例一的第五可选实施例,本第五可选实施例在上述实施例基础上,将根据所述编码配置信息以及本端的cpu属性信息,确定本端匹配的目标编码模式具体化为下述步骤:如果本端的cpu型号不属于所述一档编码黑名单且不属于所述一档编码白名单,则当本端的cpu主频达到所述一档cpu阈值但所述cpu核数未达到所述一档cpu核数阈值时,执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式。

本第五可选实施例给出了目标编码模式确定的第四种可能实现,其中,本第五可选实施例相当于本端cpu属性信息中cpu主频、cpu核数与编码配置信息中一档cpu主频阈值、一档cpu核数阈值的又一个执行分支。

具体的,本第五可选实施例同样可以在判定本端的cpu型号既没有落入一档编码黑名单,也没有落入一档编码白名单的情况下执行,当判定出本端的cpu主频达到一档cpu主频阈值时,进一步判定本端cpu核数不能达到一档cpu核数阈值时,同样认为本端无法与具备一档编码清晰度的编码模式匹配,由此也需要进一步执行是否匹配二档编码清晰度的判定操作,从而判定具备二档编码清晰度的编码模式是否与本端匹配,以此来确定本端匹配的目标编码模式。

作为本实施例一的第六可选实施例,本第六可选实施例在上述实施例基础上,将根据所述编码配置信息以及本端的cpu属性信息,确定本端匹配的目标编码模式具体化为下述步骤:如果本端的cpu型号属于所述一档编码黑名单,则执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式。

本第六可选实施例给出了目标编码模式确定的第五种可能实现,其中,本第六可选实施例相当于本端cpu型号与一档编码黑名单进行判定后的另一个执行分支。通过上述描述可知,当本端的cpu型号落入一档编码黑名单时,可直接认为本端无法与具备一档编码清晰度的编码模式匹配,由此也需要进一步执行是否匹配二档编码清晰度的判定操作,从而判定具备二档编码清晰度的编码模式是否与本端匹配,以此来确定本端匹配的目标编码模式。

作为本实施例一的第七可选实施例,本第七可选实施例在上述第四可选实施例、第五可选实施例或第六可选实施例的基础上,将执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式,具体化为下述步骤:如果本端所具备cpu型号不属于所述二档编码黑名单但属于所述二档编码白名单,则将具备二档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

本第七可选实施例给出了目标编码模式确定的第六种可能实现。其中,按照档位由高到底的判定顺序,可认为上述各可选实施例中给出目标编码模式确定的几种可能实现均为相对一档编码清晰度的判定。本第七可选实施例可认为是在上述结果判定本端不能与具备一档编码清晰度的编码模式匹配后(如在第四可选实施例、第五可选实施例或第六可选实施例中的判定),进一步执行的相对二档编码清晰度的判定。

示例性的,本第七可选实施例所执行的相对二档编码清晰度的判定中,首先也将本端的cpu型号与二档编码清晰度对应的二档编码黑名单以及二档白名单进行比对。同样的,可认为落入二档编码黑名单的cpu型号无法采用具备二档编码清晰度的编码模式进行视频编码;或者,落入一档编码白名单的cpu型号,直接具备具备获得一档编码清晰度视频的权限。

在本第七可选实施例中,当本端所具备cpu型号不属于二档编码黑名单但属于二档编码白名单时,可直接认为本端能够与具备二档编码清晰度的编码模式相匹配,由此可以将具备二档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

作为本实施例一的第八可选实施例,本第八可选实施例在上述第四可选实施例、第五可选实施例或第六可选实施例的基础上,将执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式,具体化为下述步骤:如果本端的cpu型号不属于所述二档编码黑名单且不属于所述二档编码白名单,则当本端的cpu主频达到所述二档cpu主频阈值且cpu核数达到所述二档cpu核数阈值时,将具备二档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

本第八可选实施例给出了目标编码模式确定的第其种可能实现,其中,其中,本第八可选实施例相当于本第三可选实施例相当于本端cpu属性信息与二档编码清晰度下各项信息间进行判定的另一个执行分支。

具体的,本第八可选实施例首先在通过上述第四可选实施例、第五可选实施例或第六可选实施例的基础上判定本端无法与具备一档编码清晰度的编码模式匹配后,进行本端的cpu型号既没有落入一档编码黑名单,也没有落入一档编码白名单的判定。此时还无法直接判定本端是否与本端是否与具备二档编码清晰度的编码模式匹配,仍需要进一步将本端的cpu主频与二档cpu主频阈值,以及cpu核数与二档cpu核数阈值进行比对。

其中,二档cpu主频阈值以及二档cpu核数阈值可认为是二档编码清晰度下所允许的最低临界值。由此,只要本端的cpu主频以及cpu核数达到上述阈值,就可认为本端与具备二档编码清晰度的编码模式匹配,此时,就可以将具备二档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

作为本实施例一的第九可选实施例,本第九可选实施例在上述第四可选实施例、第五可选实施例或第六可选实施例的基础上,将执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式,具体化为下述步骤:如果本端的cpu型号不属于所述二档编码黑名单且不属于所述二档编码白名单,则当本端的cpu主频未达到所述二档cpu阈值时,将具备三档编码清晰度的软编码模式确定为本端匹配的目标编码模式;其中,所述三档编码清晰度低于所述二档编码清晰度。

本第九可选实施例给出了目标编码模式确定的第八种可能实现,其中,本第九可选实施例相当于上述第四可选实施例、第五可选实施例或第六可选实施例的基础上通过本端cpu属性信息中cpu主频、cpu核数与编码配置信息中二档cpu主频阈值、二档cpu核数阈值进行判定的另一个执行分支。

具体的,本第九可选实施例同样可以在判定本端的cpu型号既没有落入二档编码黑名单,也没有落入二档编码白名单的情况下执行,当判定出本端的cpu主频没有达到二档cpu主频阈值时,无需进行本端cpu核数与二档cpu核数阈值的判定,可以直接认为本端无法与具备二档编码清晰度的编码模式匹配,由此将具备三档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

需要说明的是,本实施例中具备三档编码清晰度的视频,其清晰度低于具备二档编码清晰度的视频。本实施例优选将具备三档编码清晰度的视频记为标清视频。可以认为,将具备三档编码清晰度的编码模式看做一个不满足上述判定后的默认编码模式并作为本端的目标编码模式。

作为本实施例一的第十可选实施例,本第十可选实施例在上述第四可选实施例、第五可选实施例或第六可选实施例的基础上,将执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式,具体化为下述步骤:如果本端的cpu型号不属于所述二档编码黑名单且不属于所述二档编码白名单,则当本端的cpu主频达到所述二档cpu阈值但所述cpu核数未达到所述二档cpu核数阈值时,将具备三档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

本第十可选实施例给出了目标编码模式确定的第九种可能实现,其中,本第十可选实施例相当于上述第四可选实施例、第五可选实施例或第六可选实施例的基础上通过本端cpu属性信息中cpu主频、cpu核数与编码配置信息中二档cpu主频阈值、二档cpu核数阈值的又一个执行分支。

具体的,本第十可选实施例同样可以在判定本端的cpu型号既没有落入二档编码黑名单,也没有落入二档编码白名单的情况下执行,当判定出本端的cpu主频达到二档cpu主频阈值时,进一步判定本端cpu核数不能达到二档cpu核数阈值时,同样认为本端无法与具备二档编码清晰度的编码模式匹配,由此也需要进一步执行将具备三档编码清晰度的软编码模式确定为本端所匹配目标编码模式的操作。

作为本实施例一的第十一可选实施例,本第十一可选实施例在上述第四可选实施例、第五可选实施例或第六可选实施例的基础上,将执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式,具体化为下述步骤:如果本端的cpu型号属于所述二档编码黑名单,则将具备三档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

本第十一可选实施例给出了目标编码模式确定的第十种可能实现,其中,本第十一可选实施例相当于本端cpu型号与二档编码黑名单进行判定后的另一个执行分支。通过上述描述可知,当本端的cpu型号落入二档编码黑名单时,可直接认为本端无法与具备二档编码清晰度的编码模式匹配,由此也需要进一步执行将具备三档编码清晰度的软编码模式确定为本端所匹配目标编码模式的操作。

本实施例上述第二可选实施例至第十一可选实施例,每个可选实施例分别给出了确定本端所匹配目标编码模式的一个执行分支,通过各可选实施例的选择执行,也体现了本实施例所提供编码模式确定方法进行编码模式匹配的自适应性,由此达到了提高本端进行视频编码处理的有效性。

作为本实施例一的第十二可选实施例,本第十二可选实施例在上述实施例的基础上,所提供的编码模式确定方法可以进一步执行下述步骤:当确定本端支持视频的硬编码时,将硬编码作为本端匹配的目标编码模式。

本第十二可选实施例给出了本端支持硬编码时直接将硬编码作为所匹配目标编码模式的操作,可以看出本实施例优选将硬编码作为端上编码的首选,以此来保证端上编码的实时性和有效性。

作为本实施例一的第十三可选实施例,本第十三可选实施例在上述实施例的基础上,可以在确定本端匹配的目标编码模式之后进一步执行下述步骤:响应视频开播选项的触发进入开播状态,并按照所述目标编码模式中具备的编码清晰度对形成的视频进行编码。

本第十三可选实施例给出了确定目标编码模式后的进一步执行操作,即可以响应用户对视频开播选项的触发,从而启动对视频的录制以及生成,进入视频的开播状态,之后可以基于目标编码模式中具备的编码清晰度对形成的视频的进行有效编码。

需要说明的是,本实施例中所获取的编码配置信息由后台服务端确定以及发送,对于后台服务端而言,其对编码配置信息的确定是可以实时更新的,例如,后台服务端可以在接收到新的既不存在于编码黑名单,也不存在于编码白名单的cpu型号时,对该cpu型号的归属进行判定,从而确定出是否属于编码黑名单或编码白名单。

实施例二

图2给出了本发明实施例二所提供编码模式确定方法的示例流程图,如图2所示,本实施例二采用下述步骤实现编码模式的确定,从而使终端可以采用所确定编码模式来实现对直播所生成视频的编码处理。

需要说明的是,在上述实施例的基础上,本实施例可以将上述实施例中的一档编码清晰度以540p(相当于画面分辨率为540*960)表示,相应的编码模式可记为540p软编码;可以将二档编码清晰度以480p(相当于画面分辨率为480*848)表示,相应的编码模式可记为480p软编码;同时,可以将三档编码清晰度以360p(相当于画面分辨率为360*640),相应的编码模式可记为标清软编码。

具体的,本实施例所提供编码模式确定方法的一种示例性实现可以包括:

s201、监测到用户对视频开播选项的触发后,判定本端是否支持视频的硬编码,若否,执行s202;若是,执行s214。

可以优选视频开播选项为主播客户端中的直播开播选项。

s202、从后台服务端拉取编码配置信息,获取本端的cpu属性信息。

s203、本端所具备cpu型号是否属于一档编码黑名单,若否,执行s204;若是,执行s208。

s204、本端所具备cpu型号是否属于一档编码白名单,若否,执行s205;若是,执行s207。

s205、本端的cpu主频是否达到一档cpu主频阈值,若是,执行s206;若否,执行s208。

s206、本端的cpu核数是否达到一档cpu核数阈值,若是,执行s207;若否,执行s208。

s207、将540p软编码确定为本端匹配的目标编码模式,之后执行s215。

s208、本端所具备cpu型号是否属于二档编码黑名单,若否,执行s209;若是,执行s213。

s209、本端所具备cpu型号是否属于二档编码白名单,若否,执行s210;若是,执行s212。

s210、本端的cpu主频是否达到二档cpu主频阈值,若是,执行s211;若否,执行s213。

s211、本端的cpu核数是否达到二档cpu核数阈值,若是,执行s212;若否,执行s213。

s212、将480p软编码确定为本端匹配的目标编码模式,之后执行s215。

s213、将标清软编码确定为本端匹配的目标编码模式,之后执行s215。

示例性的,本实施例默认标清软编码的分辨率为360*640,也可以进一步基于本端的带宽情况在标清模式下进行分辨率的变更,如当带宽延迟较大时,变更为270p的清晰度进行编码处理。

s214、将硬编码确定为本端匹配的目标编码模式,之后执行s215。

s215、响应视频开播选项的触发进入开播状态,并按照所述目标编码模式中具备的编码清晰度对形成的视频进行编码。

实施例三

图3给出了本发明实施例三提供的一种编码模式确定装置的结构框图,该装置适用于对直播中视频编码处理所需编码模式进行确定的情况,其中,该装置可以由软件和/或硬件实现,并一般可集成在计算机设备上。如图3所示,该装置包括:信息拉取模块31和模式确定模块32。

其中,信息拉取模块31,用于在监测到用户对视频开播选项的触发后,如果确定本端不支持视频的硬编码,则从后台服务端拉取编码配置信息;

模式确定模块32,用于根据所述编码配置信息以及本端的中央处理器cpu属性信息,确定本端匹配的目标编码模式。

本发明实施例三提供的一种编码模式确定装置,首先可以在监测到用户对视频开播选项的触发后,如果确定本端不支持视频的硬编码,就从后台服务端拉取编码配置信息;然后根据该编码配置信息以及本端的cpu属性信息来确定本端匹配的目标编码模式。利用该方法,考虑了终端本身的硬件配置对视频编码处理所采用编码模式的影响,通过与后台服务端所提供配置信息的结合,实现了编码模式的灵活选择,保证了端上视频编码处理与终端硬件配置的有效匹配。

进一步地,该装置还包括硬编判定模块,

硬编判定模块具体用于在所获取的硬编码支持标准表中查找是否存在本端对应的机型型号和/或所安装操作系统的系统版本号;如果不存在,则确定本端不支持视频的硬编码。

进一步地,cpu属性信息包括:cpu型号、cpu主频以及cpu核数;

所述编码配置信息中包括:用于一档编码清晰度判定的一档编码黑名单、一档编码白名单、一档cpu主频阈值和一档cpu核数阈值,以及用于二档编码清晰度判定的二档编码黑名单、二档编码白名单、二档cpu主频阈值以及二档cpu核数阈值;

其中,所述一档编码清晰度高于所述二档编码清晰度。

进一步地,模式确定模块32具体可以用于当本端所具备cpu型号不属于所述一档编码黑名单但属于所述一档编码白名单时,将具备一档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

进一步地,模式确定模块32具体可以用于当本端的cpu型号不属于所述一档编码黑名单且不属于所述一档编码白名单时,如果本端的cpu主频达到所述一档cpu主频阈值且cpu核数达到所述一档cpu核数阈值,则将具备一档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

进一步地,模式确定模块32具体可以用于当本端的cpu型号不属于所述一档编码黑名单且不属于所述一档编码白名单时,如果本端的cpu主频未达到所述一档cpu阈值,则执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式。

进一步地,模式确定模块32具体可以用于如果本端的cpu型号不属于所述一档编码黑名单且不属于所述一档编码白名单,则当本端的cpu主频达到所述一档cpu阈值但所述cpu核数未达到所述一档cpu核数阈值时,执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式。

进一步地,模式确定模块32具体可以用于如果本端的cpu型号属于所述一档编码黑名单,则执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式。

进一步地,模式确定模块32执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式的步骤可以包括:如果本端所具备cpu型号不属于所述二档编码黑名单但属于所述二档编码白名单,则将具备二档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

进一步地,模式确定模块32执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式的步骤可以包括:如果本端的cpu型号不属于所述二档编码黑名单且不属于所述二档编码白名单,则当本端的cpu主频达到所述二档cpu主频阈值且cpu核数达到所述二档cpu核数阈值时,将具备二档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

进一步地,模式确定模块32执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式的步骤可以包括:如果本端的cpu型号不属于所述二档编码黑名单且不属于所述二档编码白名单,则当本端的cpu主频未达到所述二档cpu阈值时,将具备三档编码清晰度的软编码模式确定为本端匹配的目标编码模式;

其中,所述三档编码清晰度低于所述二档编码清晰度。

进一步地,模式确定模块32执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式的步骤可以包括:如果本端的cpu型号不属于所述二档编码黑名单且不属于所述二档编码白名单,则当本端的cpu主频达到所述二档cpu阈值但所述cpu核数未达到所述二档cpu核数阈值时,将具备三档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

进一步地,模式确定模块32执行二档编码清晰度的判定操作,并根据判定结果确定本端匹配的目标编码模式的步骤可以包括:如果本端的cpu型号属于所述二档编码黑名单,则将具备三档编码清晰度的软编码模式确定为本端匹配的目标编码模式。

进一步地,该装置还可以包括:硬编模式匹配模块,

硬编模式匹配模块可以用于当确定本端支持视频的硬编码时,将硬编码作为本端匹配的目标编码模式。

进一步地,该装置还可以包括:编码处理模块,用于在确定本端匹配的目标编码模式之后,响应视频开播选项的触发进入开播状态,并按照所述目标编码模式中具备的编码清晰度对形成的视频进行编码。

实施例四

图4给出了本发明实施例四提供的一种计算机设备的硬件结构示意图,具体地,该计算机设备包括:处理器和存储装置。存储装置中存储有至少一条指令,且指令由所述处理器执行,使得所述计算机设备执行如上述方法实施例所述的编码模式确定方法。

参照图4,该计算机设备具体可以包括:处理器40、存储装置41、显示屏42、输入装置43、输出装置44以及通信装置45。该计算机设备中处理器40的数量可以是一个或者多个,图4中以一个处理器40为例。该计算机设备中存储装置41的数量可以是一个或者多个,图4中以一个存储装置41为例。该计算机设备的处理器40、存储装置41、显示屏42、输入装置43、输出装置44以及通信装置45可以通过总线或者其他方式连接,图4中以通过总线连接为例。

具体的,实施例中,处理器40执行存储装置41中存储的一个或多个程序时,具体实现如下操作:在监测到用户对视频开播选项的触发后,如果确定本端不支持视频的硬编码,则从后台服务端拉取编码配置信息;根据所述编码配置信息以及本端的中央处理器cpu属性信息,确定本端匹配的目标编码模式。

本发明实施例还提供一种计算机可读存储介质,所述存储介质中的程序由计算机设备的处理器执行时,使得计算机设备能够执行如上述实施例所述的编码模式确定方法。示例性的,上述实施例所述的编码模式确定方法包括:在监测到用户对视频开播选项的触发后,如果确定本端不支持视频的硬编码,则从后台服务端拉取编码配置信息;根据所述编码配置信息以及本端的中央处理器cpu属性信息,确定本端匹配的目标编码模式。

需要说明的是,对于装置、计算机设备、存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的编码模式确定方法。

值得注意的是,上述将语音转换为说唱音乐的装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1