一种视频编码方法及装置的制造方法

文档序号:8447743阅读:282来源:国知局
一种视频编码方法及装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别涉及一种视频编码方法及装置。
【背景技术】
[0002]经过近几年的互联网技术的飞速发展,互联网的业务不断增加,人们基于互联网可以将接触到的各种各样的视频进行共享。比如,同一个办公室、演播室、教室等地方通常存在一个局域网,且该局域网内通常存在很多个终端;如何将同一局域网内的终端屏幕内容和声音以视频的方式投射到同一个服务器,是目前非常流行的多屏共享技术。
[0003]客户端将对应的视频共享到发服务器时,通常需要将视频数据进行编码后,再发送至服务器。目前,客户端常用的编码方式主要有硬编码方式和软编码方式;采用硬编码方式可极大地降低客户端机器中央处理器(Center Processor Unit,CPU)的使用率,采用软编码的方式则客户端机器的CPU使用率会很高。因此,硬编码和软编码的合理性选择是视频编码中常见的问题之一。

【发明内容】

[0004]本发明提供一种视频编码方法及装置,用以恰当选取客户端进行视频编码时所使用的硬编码或者是软编码,实现硬编码和软编码的合理选取。
[0005]本发明提供一种视频编辑方法,包括:
[0006]检测客户端设备是否支持高速影像同步转文件技术QSV硬编码功能;
[0007]若客户端设备支持QSV硬编码功能,则创建硬编码器,并采用硬编码器对视频数据进行编码;
[0008]若客户端设备不支持QSV硬编码功能,则创建软编码器,并采用软编码器对视频数据进行编码。
[0009]在一个实施例中,所述检测客户端设备是否支持QSV硬编码功能,包括:
[0010]调用接口函数,获取硬编码的图像处理单元GPU设备;
[0011]通过查看所述GPU设备是否存在,来判断所述客户端设备是否支持QSV硬编码功會K。
[0012]在一个实施例中,所述创建硬编码器,并采用硬编码器对视频数据进行编码,包括:
[0013]初始化GPU设备,创建硬编码器;
[0014]采用创建的硬编码器对视频数据进行编码。
[0015]在一个实施例中,所述创建软编码器,并采用软编码器对视频数据进行编码,包括:
[0016]配置预设编码格式对应的编码参数,创建软编码器;
[0017]采用创建的软编码器对视频数据进行编码。
[0018]在一个实施例中,上述视频编辑方法还包括:
[0019]按照预设帧格式,输出编码后的视频数据。
[0020]对应于上述音视频编辑方法,本发明实施例还提供了一种视频编码装置,包括:
[0021]检测模块,用于检测客户端设备是否支持高速影像同步转文件技术QSV硬编码功會K ;
[0022]硬编码模块,用于在客户端设备支持QSV硬编码功能时,创建硬编码器,并采用硬编码器对视频数据进行编码;
[0023]软编码模块,用于在客户端设备不支持QSV硬编码功能时,创建软编码器,并采用软编码器对视频数据进行编码。
[0024]在一个实施例中,所述检测模块包括:
[0025]获取单元,用于调用接口函数,获取硬编码的图像处理单元GPU设备;
[0026]判断单元,用于通过查看所述GPU设备是否存在,来判断所述客户端设备是否支持QSV硬编码功能。
[0027]在一个实施例中,所述硬编码模块包括:
[0028]第一创建单元,用于初始化GPU设备,创建硬编码器;
[0029]第一编码单元,用于采用创建的硬编码器对视频数据进行编码。
[0030]在一个实施例中,所述软编码模块包括:
[0031]第二创建单元,配置预设编码格式对应的编码参数,创建软编码器;
[0032]第二编码单元,采用创建的软编码器对视频数据进行编码。
[0033]在一个实施例中,所述视频编辑装置还包括:
[0034]输出模块,用于按照预设帧格式,输出编码后的视频数据。
[0035]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0036]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0037]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0038]图1为本发明根据一示例性实施例示出的一种视频编辑方法的流程图;
[0039]图2为本发明根据一示例性实施例示出的一种视频编辑方法中步骤SlO的流程图;
[0040]图3为本发明根据一示例性实施例示出的一种视频编辑方法中步骤S20的流程图;
[0041]图4为本发明根据一示例性实施例示出的一种视频编辑方法中步骤S30的流程图;
[0042]图5位本发明根据一示例性实施例示出的另一种视频编辑方法的流程图;
[0043]图6为本发明根据一示例性实施例示出的一种视频编辑装置的框图;
[0044]图7为本发明根据一示例性实施例示出的一种视频编辑装置中检测模块60的框图;
[0045]图8为本发明根据一示例性实施例示出的一种视频编辑装置中硬编码模块70的框图;
[0046]图9为本发明根据一示例性实施例示出的一种视频编辑装置中软编码模块80的框图;
[0047]图10为本发明根据一示例性实施例示出的另一种视频编辑装置的框图。
【具体实施方式】
[0048]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0049]本发明公开的一实施例中提供了一种视频编辑方法,用以恰当选取客户端进行视频编码时所使用的硬编码或者是软编码,实现硬编码和软编码的合理选取。如图1所示,本发明实施例中一种视频编辑方法包括步骤S10-S30:
[0050]步骤S10、检测客户端设备是否支持高速影像同步转文件技术QSV硬编码功能。
[0051]目前,客户端设备大致可以分为两类:一类是支持英特尔高速影像同步转文件技术(Quick Sync Ved1, QSV)硬编码功能的设备,另一类是不支持QSV硬编码功能的设备。支持QSV硬编码功能的客户端设备在运行客户端程序时,使用硬编码功能,因为硬编码功能可以极大地降低CPU的使用率。因此,在进行视频编码时,首先检测该客户端设备是否支持QSV硬编码功能。
[0052]在一实施例中,如图2所示,步骤SlO可以执行为步骤S101-S102:
[0053]步骤S101、调用接口函数,获取硬编码的图像处理单元GPU设备;
[0054]检测客户端设备是否具备QSV硬编码功能时,调用一个接口函数,获取硬编码的GPU设备,根据获取结果,判断GPU设备是否存在。若能够获取到硬编码的GPU设备,则表示该GPU设备存在;若不能够获取到硬编码的GPU设备,则表示该GPU设备不存在。
[0055]步骤S102、通过查看所述GPU设备是否存在,来判断所述客户端设备是否支持QSV硬编码功能。
[0056]若通过查看,得知该GPU设备存在,则判断该客户端设备支持QSV硬编码功能;若通过查看,得知该GPU设备不存在,则判断该客户端设备不支持QSV硬编码功能。
[0057]若客户端设备支持QSV硬编码功能,则执行步骤S20、创建硬编码器,并采用硬编码器对视频数据进行编码。
[0058]当客户端设备支持QSV硬编码功能时,创建硬编码器,利用创建的硬编码器对视频数据进行编码。
[0059]在一个实施例中,如图3所示,步骤S20可以实施为步骤S201-S202:
[0060]步骤S201、初始化GPU设备,创建硬编码器;
[0061]步骤S202、采用创建的硬编码器对视频数据进行编码。
[0062]若客户端设备支持QSV硬编码功能,则初始化该客户端设备的GPU设备,配置预设编码格式对应的编码参数,比如配置H264编码参数,创建硬编码器;采用创建的硬编码器对视频数据进行编码。
[0063]若客户端设备不支持QSV硬编码功能,则执行步骤S30、创建软编码器,并采用软编码器对视频数据进行编码。
[0064]当客户端设备不支持QSV硬编码功能时,则创建软编码器,利用创建的硬软编码器对视频数据进行编码。
[0065]在一个实施例中,如图4所示,步骤S30可以实施为步骤S301-S302:
[0066]步骤S301、配置预设编码格式对应的编码参数,创建软编码器;
[0067]步骤S302、采用创
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1