Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. CN110971943 - 视频码率调整方法、装置、终端及存储介质

Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

[ ZH ]
视频码率调整方法、装置、终端及存储介质


技术领域
本公开实施例涉及互联网技术领域,尤其涉及一种视频码率调整方法、装置、终端及存储介质。
背景技术
近年来,网络技术的不断发展让我们的生活越来越丰富多彩。有了网络这个便利的载体,多媒体技术也得到了日新月异的进步,作为多媒体技术的核心及关键,多媒体视频编解码尤为重要。
对于视频多媒体业务,由于视频的数据量大,直接传输则需要比较大的网络带宽。因此,在保证视频质量的前提下,如何有效降低视频的数据量则成为一个待解决的技术问题。
公开内容
本公开实施例提供一种视频码率调整方法、装置、终端及存储介质,以达到在保证视频质量的前提下,有效降低视频的数据量的目的。
第一方面,本公开实施例提供了一种视频码率调整方法,该方法包括:
获取目标视频在录制时对应的数据,其中,所述数据包括终端数据和/或用户数据;
合成所述目标视频时,依据所述终端数据和/或用户数据调整合成后的所述目标视频的码率。
可选的,所述终端数据包括终端的运动状态参数,所述用户数据包括用户选择的对视频进行的处理时的数据。
可选的,在所述获取目标视频在录制时对应的数据之前,所述方法还包括:
响应于用户对当前终端界面上视频拍摄按钮的触发操作,按照预设码率录制视频。
可选的,获取目标视频在录制时对应的终端数据,包括:
获取设置于终端上的至少一个传感器采集到的参数;
依据所述参数确定目标视频在录制时对应的终端数据。
可选的,所述依据终端数据和/或用户数据调整合成后的所述目标视频的码率,包括:
根据所述终端数据确定第一码率修正值,和/或根据所述用户数据确定第二码率修正值;
根据第一码率修正值和/或第二码率修正值确定目标码率修正值;
根据目标码率修正值调整合成后的所述目标视频的码率。
可选的,所述目标码率修正值为对所述第一码率修正值和第二码率修正值进行加权求和确定的。
可选的,所述方法还包括:
对调整后的目标视频的码率进行补偿。
可选的,所述对调整后的目标视频的码率进行补偿,包括:
如果所述目标视频的用户名、终端型号、所述终端数据和/或用户数据满足预设的特定条件,则按照与所述特定条件对应的设定标准对调整后的目标视频的码率进行补偿。
第二方面,本公开实施例还提供了一种视频码率调整装置,该装置包括:
获取模块,用于获取目标视频在录制时对应的数据,其中,所述数据包括终端数据和/或用户数据;
码率调整模块,用于合成所述目标视频时,依据所述终端数据和/或用户数据调整合成后的所述目标视频的码率。
可选的,所述终端数据包括终端的运动状态参数,所述用户数据包括用户选择的对视频进行处理时的数据。
可选的,所述装置还包括:
录制模块,用于响应于用户对当前终端界面上视频拍摄按钮的触发操作,按照预设码率录制视频。
可选的,所述获取模块还用于:
获取设置于终端上的至少一个传感器采集到的参数;
依据所述参数确定目标视频在录制时对应的终端数据。
可选的,所述码率调整模块包括:
第一确定单元,用于根据所述终端数据确定第一码率修正值,和/或根据所述用户数据第二码率修正值;
第二确定单元,用于根据第一码率修正值和/或第二码率修正值确定目标码率修正值;
调整单元,用于根据目标码率修正值调整合成后的所述目标视频的码率。
可选的,所述目标码率修正值为对所述第一码率修正值和第二码率修正值进行加权求和确定的。
可选的,所述装置还包括:
补偿模块,用于对调整后的目标视频的码率进行补偿。
可选的,所述补偿模块具体用于:
如果所述目标视频的用户名、终端型号、所述终端数据和/或用户数据满足预设的特定条件,则按照与所述特定条件对应的设定标准对调整后的目标视频的码率进行补偿。
第三方面,本公开实施例还提供了一种终端,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开任一实施例所述的视频码率调整方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开任一实施例所述的视频码率调整方法。
本公开实施例公开了一种视频码率调整方法、装置、终端及存储介质,通过记录视频录制过程中终端数据和用数据,并根据所述终端数据和用户数据调整录制视频时的原始码率,由此实现在保证录制清晰度的情况下,有效降低录制的视频文件的数据量,以便于视频文件的传输。
附图说明
图1是本公开实施例提供的视频码率调整方法的流程图;
图2是本公开实施例提供的视频码率调整方法的流程图;
图3是本公开实施例提供的视频码率调整装置的结构示意图;
图4是本公开实施例中的终端的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。
下面参考图1,其示出了本公开实施例提供的一种视频码率调整方法的流程图,本实施例可适用于在保证视频质量的前提下,有效降低视频的数据量的情况,该方法可以由视频码率调整装置来执行,该装置可以采用软件和/或硬件的方式实现,并可配置于终端中,例如带有摄像装置的智能设备。如图1所示,该方法具体包括:
S110、获取目标视频在录制时对应的数据,其中,所述数据包括终端数据和/或用户数据。
目前,随着移动终端的普及和网络的提速,短视频的录制越来越受人们的青睐,而且为了增加录制的视频的趣味性,视频录制过程中用户会做各种动作(如跳舞)进而带动终端进行相应的运动或者为拍摄的视频添加各种特效。然而,终端的运动或用户添加的特效增加了录制的视频的复杂度,且运动越剧烈或添加的特效越复杂,使得录制的视频文件越大,也即需要视频录制的码率也越大。
基于此,为保证录制的视频具有足够的清晰度,在开始录制视频时,终端设备响应于用户对当前终端界面上视频拍摄按钮的触发操作,执行视频录制动作,并且按照预设码率录制视频,其中,预设码率示例性的可以为终端系统所支持的最大码率,如预设码率为12Mb/s。
示例性的,本实施例以12Mb/s的码率录制目标视频,并在目标视频录制过程中记录终端数据和/或用户数据,其中,所述终端数据可示例性的包括终端的运动状态参数,所述用户数据包括用户选择的对视频进行的处理时的数据,例如用户添加的特效数据、添加的滤镜或选择的封面等。
由于整个视频录制过程包括视频拍摄环节和编译环节,因此,可在视频拍摄环节记录终端数据,具体的,可通过获取设置于终端上的至少一个传感器采集到的参数,再依据所述参数确定目标视频在录制时对应的终端数据,示例性的,获取终端设备上陀螺仪采集的终端的角速度信息,根据所述角速度信息确定终端的运动姿态,又如通过加速度传感采集的数据确定终端设备的运动速度、运动的剧烈程度等;在编译环节记录用户数据,示例性的,记录用户添加的各种特效,并相应获取每个特效的详情信息,如每个特效的复杂程度,其中,所述特效包括例如“毛刺”、“幻觉”、“霓虹”等等。
S120、合成所述目标视频时,依据所述终端数据和/或用户数据调整合成后的所述目标视频的码率。
本实施例中,合成所述目标视频时对视频进行转码,包括按照用户数据对拍摄的视频进行相应的处理,示例性的,若用户在编译环节添加了至少一个特效,则将所述特效与在视频拍摄环节所拍摄的视频进行叠加,得到目标视频。然后,依据所述终端数据和/或用户数据调整合成后的所述目标视频的码率,具体实现时,可按如下步骤调整码率:
S121、根据所述终端数据确定第一码率修正值,和/或根据所述用户数据确定第二码率修正值。
在拍摄视频时,如果用户带动终端做了各种动作,则根据获取的所述终端数据确定终端运动类型,根据所述终端运动类型确定对应的第一码率修正值。其中,每种运动类型对应的运动剧烈程度、复杂程度不同,因此不同运动类型对应的第一码率修正值也不同。具体的,可以预先对不同运动类型对应的第一码率修正值进行设定,也可以按照机器学习的方法进行学习,以得到不同的运动类型能够对应的最佳码率修正值。
在编译环节,如果用户对拍摄的视频进行了处理,则根据获取的所述用户数据确定第二码率修正值,示例性的,用户在编译环节为拍摄的视频添加了特效,则根据所添加特效对应的复杂度等级确定第二码率修正值。由于每个特效自身复杂度不同,因此,预先基于每个特效复杂程度划分不同的复杂度等级,并存储在特效对应的数据包中,示例性的,将特效划分为依次降低的A、B、C三个等级。其中,相同等级的特效对应的第二码率修正值相同。当然,也可以按照机器学习的方法来确定不同特效的复杂度等级所对应的最佳码率修正值。
S122、根据第一码率修正值和/或第二码率修正值确定目标码率修正值。
在本步骤中,如果视频录制时,只获取到终端数据,用户没有对视频进行处理,则第一码率修正值即为目标码率修正值;如果视频录制时,终端没有进行任何动作,只是用户在编译环节对拍摄的视频进行处理,则根据用户数据确定的第二码率修正值即为目标码率修正值;除此,在视频录制时,终端进行了动作,且用户对拍摄的视频进行了处理,则所述目标码率修正值优选的为对所述第一码率修正值和第二码率修正值进行加权求和的结果。示例性的,如果根据终端数据确定的运动类型为跳动,其对应的第一码率修正值为2Mb/s,用户添加的特效为“毛刺”和“幻觉”,各自对应的第二码率修正值分别为2.5Mb/s、3.5Mb/s,则目标码率修正值为8Mb/s。进一步的,为了保证目标码率修正值得准确性,可根据经验值或其他相关算法确定所述第一码率修正值和第二码率修正值各自对应的加权系数。示例性的,第一码率修正值M,其对应的加权系数a,第二码率修正值N,其对应的加权系数b,则目标码率修正值P=a×M+b×N。
S123、根据目标码率修正值调整合成后的所述目标视频的码率。由于录制目标视频时是以终端系统允许的最大码率录制的,因此调整目标视频码率只需用最大码率减去目标码率修正值即可。示例性的,最大码率12Mb/s,目标码率修正值8Mb/s,则调整后的目标视频码率为4Mb/s。
对于调整码率后的视频,视频文件的数据量已降低,因此可实现快速上传到服务器,以便在服务器上进行极限压缩与视频发布。
本公开实施例通过记录视频录制过程中的终端数据和用户数据,并根据所述终端数据和用户数据调整录制视频时的原始码率,由此实现在保证录制清晰度的情况下,有效降低录制的视频文件的数据量,以便于视频文件的传输。
下面参考图2,其示出了本公开实施例提供的一种视频码率调整方法的流程图,本实施例是在上述实施例的基础上进一步进行优化。如图2所示,所述方法包括:
S210、获取目标视频在录制时对应的数据,其中,所述数据包括终端数据和/或用户数据。
S220、合成所述目标视频时,依据所述终端数据和/或用户数据调整合成后的所述目标视频的码率。
S230、如果所述目标视频的用户名、终端型号、所述终端数据和/或用户数据满足预设的特定条件,则按照与所述特定条件对应的设定标准对调整后的目标视频的码率进行补偿。
本公开实施例中,针对一些对录制的视频有特殊要求的人群,例如网红或各类主播,他们在录制视频时通常会采用比较专业的视频拍摄设备,而且其不希望因为修改码率降低视频文件的大小而降低录制视频的清晰度,因此针对这一特殊情况,在完成目标视频码率调整后,还需对调整后的目标视频的码率进行补偿。
示例性的,根据目标视频的用户名判断用户是否为主播或网红,根据终端型号确定终端是否为专业视频拍摄设备,同时若判断所述终端数据和/或用户数据满足预设的特定条件,则按照与所述特定条件对应的设定标准对调整后的目标视频的码率进行补偿。例如,调整后的目标视频码率为4Mb/s,补偿值为3Mb/s,则补偿后的目标视频的码率为7Mb/s,满足网红或主播对录制视频清晰度的要求,同时保证目标视频的传输速度。
本公开实施例针对网红或主播通过专业设备录制视频的情况,如果终端型号、所述终端数据和/或用户数据满足预设的特定条件,则按照与所述特定条件对应的设定标准对调整后的目标视频的码率进行补偿,由此保证录制视频的清晰度,降低录制的视频文件的数据量,以便于视频文件的传输。
下面参考图3,其示出了本公开实施例提供的一种视频码率调整装置的结构示意图,本实施例可适用于在保证视频质量的前提下,有效降低视频的数据量的情况。如图3所示,所述视频码率调整装置包括:
获取模块310,用于获取目标视频在录制时对应的数据,其中,所述数据包括终端数据和/或用户数据;
码率调整模块320,用于合成所述目标视频时,依据所述终端数据和/或用户数据调整合成后的所述目标视频的码率。
本公开实施例中,码率调整模块320根据获取模块310记录的视频录制过程中的终端数据和/或用户数据,在合成所述目标视频时调整录制视频时的原始码率,由此实现在保证录制清晰度的情况下,有效降低录制的视频文件的数据量,以便于视频文件的传输。
可选的,所述终端数据包括终端的运动状态参数,所述用户数据包括用户选择的对视频进行的处理时的数据。
可选的,所述装置还包括:
录制模块,用于响应于用户对当前终端界面上视频拍摄按钮的触发操作,按照预设码率录制视频。
可选的,所述获取模块还用于:
获取设置于终端上的至少一个传感器采集到的参数;
依据所述参数确定目标视频在录制时对应的终端数据。
可选的,所述码率调整模块包括:
第一确定单元,用于根据所述终端数据确定第一码率修正值,和/或根据所述用户数据第二码率修正值;
第二确定单元,用于根据第一码率修正值和/或第二码率修正值确定目标码率修正值;
调整单元,用于根据目标码率修正值调整合成后的所述目标视频的码率。
可选的,所述目标码率修正值为对所述第一码率修正值和第二码率修正值进行加权求和确定的。
可选的,所述装置还包括:
补偿模块,用于对调整后的目标视频的码率进行补偿。
可选的,所述补偿模块具体用于:
如果所述目标视频的用户名、终端型号、所述终端数据和/或用户数据满足预设的特定条件,则按照与所述特定条件对应的设定标准对调整后的目标视频的码率进行补偿。
本公开实施例所提供的视频码率调整装置可执行本公开任意实施例所提供的视频码率调整方法,具备执行方法相应的功能模块和有益效果。
下面参考图4,其示出了适于用来实现本公开实施例的终端400的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的终端仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,终端400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理,例如实现本公开实施例所提供的视频码率调整方法,包括:
获取目标视频在录制时对应的终端运动数据和用户添加的特效数据;
合成所述目标视频时,依据所述终端运动数据和特效数据调整合成后的所述目标视频的码率。
在RAM 403中,还存储有终端400操作所需的各种程序和数据。处理装置401、ROM402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409;此外,还包括例如摄像头等用于视频拍摄的摄像装置410。通信装置409可以允许终端400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的终端400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述终端中所包含的;也可以是单独存在,而未装配入该终端中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该终端执行时,使得该终端:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该终端执行时,使得该终端:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。