CN111970565A - 视频数据处理方法、装置、电子设备及存储介质 - Google Patents

视频数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111970565A
CN111970565A CN202010997869.3A CN202010997869A CN111970565A CN 111970565 A CN111970565 A CN 111970565A CN 202010997869 A CN202010997869 A CN 202010997869A CN 111970565 A CN111970565 A CN 111970565A
Authority
CN
China
Prior art keywords
video
processed
quality
threshold
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010997869.3A
Other languages
English (en)
Inventor
葛冬冬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010997869.3A priority Critical patent/CN111970565A/zh
Publication of CN111970565A publication Critical patent/CN111970565A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种视频数据处理方法、装置、电子设备以及存储介质,涉及数据处理技术领域。该方法包括:获取待处理视频以及与所述待处理视频对应的目标码率,所述目标码率低于所述待处理视频的初始码率;基于所述目标码率对所述待处理视频进行转码处理;获取与转码处理后的所述待处理视频对应的质量指标值;若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整,并基于调整后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值。本方法实现了在确保待处理视频的视频质量的前提下对其目标码率进行调整,进而实现节约码率,节约网络带宽。

Description

视频数据处理方法、装置、电子设备及存储介质
技术领域
本申请涉及视频处理技术领域,更具体地,涉及一种视频数据处理方法、装置、电子设备及存储介质。
背景技术
随着网络技术的发展,视频业务得到了飞速发展,用户对所观看视频的质量需求也越来越高。在相关提高视频质量的方式中,可以对视频数据进行转码。然而,随着视频数据种类的增加以及视频业务流量的增加,为了确保视频质量,在对视频数据进行转码时,还存在码率浪费的问题,进而造成网络带宽的浪费。
发明内容
本申请提出了一种视频数据处理方法、装置、电子设备及存储介质,以改善上述问题。
第一方面,本申请实施例提供了一种视频数据处理方法,所述方法包括:获取待处理视频以及与所述待处理视频对应的目标码率,所述目标码率低于所述待处理视频的初始码率;基于所述目标码率对所述待处理视频进行转码处理;获取与转码处理后的所述待处理视频对应的质量指标值;若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整,并基于调整后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值。
第二方面,本申请实施例提供了一种视频数据处理装置,所述装置包括:第一获取模块,用于获取待处理视频以及与所述待处理视频对应的目标码率,所述目标码率低于所述待处理视频的初始码率;第一处理模块,用于基于所述目标码率对所述待处理视频进行转码处理;第二获取模块,用于获取与转码处理后的所述待处理视频对应的质量指标值;第二处理模块,用于若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整,并基于调整后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述第一方面提供的视频数据处理方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的视频数据处理方法。
本申请提供的一种视频数据处理方法、装置、电子设备以及存储介质,通过获取待处理视频以及与待处理视频对应的目标码率,继而基于目标码率对待处理视频进行转码处理,再获取与转码处理后的待处理视频对应的质量指标值,然后若质量指标值与质量阈值的差值大于第一阈值,对目标码率进行调整,并基于调整后的目标码率对待处理视频进行所述转码处理,直至差值小于或等于第一阈值。从而通过上述方式实现了基于相较于待处理视频的初始码率更低的目标码率对待处理视频进行转码处理,并且在转码处理后的待处理视频对应的质量指标值与质量阈值的差值大于第一阈值时,再对目标码率进行调整,并基于调整后的目标码率再次对待处理视频进行转码处理,直至其差值小于或等于第一阈值,使得可以在确保待处理视频的视频质量的前提下对其目标码率进行调整,进而实现节约码率,节约网络带宽。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的应用环境示意图。
图2示出了本申请一实施例提供的一种视频数据处理方法的流程图。
图3示出了本申请另一实施例提供的一种视频数据处理方法的流程图。
图4示出了本实施例提供的对待转码视频进行切分的切分方式示意图。
图5示出了本申请实施例提供的一种确定与多个视频片段分别对应的质量阈值的方式对应的方法流程图。
图6示出了本申请实施例提供的根据多个视频片段各自对应的内容复杂度确定与多个视频片段分别对应的质量阈值的确定方式示意图。
图7示出了本申请实施例提供的另一种确定与多个视频片段分别对应的质量阈值的方式对应的方法流程图。
图8示出了本申请实施例提供的根据多个视频片段各自对应的片段位置确定与多个视频片段分别对应的质量阈值的确定方式示意图。
图9示出了本申请实施例提供的又一种确定与多个视频片段分别对应的质量阈值的方式对应的方法流程图。
图10示出了本申请又一实施例提供的一种视频数据处理方法的流程图。
图11示出了本申请再一实施例提供的一种视频数据处理方法的流程图。
图12示出了本申请实施例提供的一种视频数据处理装置的结构框图。
图13示出了本申请实施例提供的一种电子设备的结构框图。
图14示出了本申请实施例的用于保存或者携带实现根据本申请实施例的视频数据处理方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
随着人们生活水平的提高,智能终端在日常生活使用中的普及率已近乎全民覆盖,使得短视频或网络直播等视频业务的观看用户数量以及观看频率均呈现出极高的增长趋势,与此同时,用户对所观看视频的质量需求也越来越高。
作为一种提升视频质量的方式,可以通过对视频数据进行转码来提高视频质量,具体的,可以通过优化转码模型,借助优化后的转码模型来实现提升视频质量。然而,训练转码模型需要大量的数据源,且不同的训练模型,对不同规模的数据或是不同类型的数据的训练速度以及准确度都各不相同,单纯依靠优化转码模型来提升视频质量,不一定能获得最优的转码结果;并且为了确保转码效率,需要按照统一的转码格式对视频数据进行转码,而随着视频数据的增多,将加大服务器对视频数据的存储成本,在这种方式下,对于一些视频内容较为单一的视频数据,若仍按照统一的转码格式对其进行转码,将可能会导致码率的浪费,进而造成网络带宽资源的浪费。
发明人经过长期的研究发现,可以通过获取待处理视频以及与待处理视频对应的目标码率,继而基于目标码率对待处理视频进行转码处理,再获取与转码处理后的待处理视频对应的质量指标值,然后若质量指标值与质量阈值的差值大于第一阈值,对目标码率进行调整,并基于调整后的目标码率对待处理视频进行所述转码处理,直至差值小于或等于第一阈值。从而通过上述方式实现了基于相较于待处理视频的初始码率更低的目标码率对待处理视频进行转码处理,并且在转码处理后的待处理视频对应的质量指标值与质量阈值的差值大于第一阈值时,再对目标码率进行调整,并基于调整后的目标码率再次对待处理视频进行转码处理,直至其差值小于或等于第一阈值,使得可以在确保待处理视频的视频质量的前提下对其目标码率进行调整,进而实现节约码率,节约网络带宽。
因此,为了改善上述问题,发明人提出了本申请提供的可以在确保待处理视频的视频质量的前提下对其目标码率进行调整,进而实现节约码率,节约网络带宽的视频数据处理方法、装置、电子设备以及存储介质。
下面先对本申请实施例所涉及的应用环境进行介绍。
请参阅图1,为本申请实施例提供的一种视频数据处理方法的应用环境示意图,如图1所示,该应用环境可以理解为本申请实施例提供的一种网络***10,该网络***10包括:移动终端11以及服务器12,可选的,移动终端11可以是任何具备通信和存储功能的设备,包括但不限于PC(Personal Computer,个人计算机)、PDA(平板电脑)、智能电视、智能手机、智能可穿戴设备或其他具有网络连接功能的智能通信设备,服务器12可以是一台服务器(网络接入服务器),也可以是由若干台服务器组成的服务器集群(云服务器),或者可以是一个云计算中心(数据库服务器)。
本申请实施例中,用户通过移动终端11所拍摄的视频可以通过网络发送至服务器12进行存储,随着视频数量的增多,服务器12可以对所要存储的视频进行切分处理,得到多个视频分段,再对多个视频分段中的部分视频片段的码率进行调整,或者对多个视频分段中的每一个视频分段的码率进行调整,以实现在保持视频的质量的前提下,尽可能调低其码率,进行实现节约码率,从而实现节约网络带宽资源。
需要说明的是,作为一种提升转码效率的方式,本申请实施例在对所要存储的视频进行切分处理时,可以由一些服务器负责切分视频,而由另一些不同的服务器负责对切分后的视频进行转码处理,使得可以并行处理视频分段与视频转码,从而实现提升转码效率。其中,一些服务器以及另一些服务器的具体数量均可以不作限定。
下面将结合附图具体描述本申请的各实施例。
请参阅图2,示出了本申请一实施例提供的一种视频数据处理方法的流程图,本实施例提供一种视频数据处理方法,可应用于服务器,该方法包括:
步骤S110:获取待处理视频以及与所述待处理视频对应的目标码率。
本实施例中,待处理视频可以为文件大小大于或者等于目标阈值的待存储视频。例如,待处理视频可以为文件大小大于等于10M的视频,其中,目标阈值的具体数值可以不做限定,除了为该10M外,还可以为其他数值,例如,20M或者30M等。
作为一种减小待处理视频所占用存储空间的方式,可以获取与待处理视频对应的目标码率,进而可以基于该目标码率对待处理视频进行转码处理,以实现节约码率。
本实施例中,可以设定与待处理视频对应的目标码率低于待处理视频的初始码率,例如,假设待处理视频的初始码率为2048kbps,目标码率则可以设定为1024kbps(此处仅作为示例,具体数值可以不作限定)。
可选的,为了尽可能的维持待处理视频的质量,在设定目标码率时,作为一种实现方式,可以先确定待处理视频是否属于重要等级的视频文件,其中,可以根据视频文件的命名区分待处理视频是否属于重要等级。可选的,属于重要等级的视频文件可以携带特殊标识,例如,该特殊标识可以为“imp”。
在一种实施方式中,若待处理视频为属于重要等级的视频文件,可以设定目标码率与初始码率的差值的最大值不大于第三阈值,使得目标码率在低于初始码率的基础上,可以尽可能的趋近于初始码率,从而实现最大程度上的保真视频质量。在另一种实施方式中,若待处理视频为不属于重要等级的视频文件,可以设定目标码率与初始码率的差值的最大值不大于第四阈值,使得尽可能的降低待处理视频的码率,从而实现尽可能的减小对待处理视频的存储空间,进而节约在传输待处理视频过程的网络带宽资源。其中,第四阈值大于第三阈值,且第四阈值与第三阈值的具体数值可以不作限定。需要说明的是,通过上述两种方式设定的目标码率均低于初始码率。
例如,在一个具体的应用场景中,假设初始码率为2048kbps,第三阈值为200kbps,第四阈值为500kbps,那么若待处理视频为属于重要等级的视频文件,那么目标码率可以设定为1900kbps;若待处理视频为不属于重要等级的视频文件,那么目标码率可以设定为1600kbps。需要说明的是,以上数值仅作为示例进行说明,不构成对本方案的限定,实际实现时可根据技术需求进行设定。
步骤S120:基于所述目标码率对所述待处理视频进行转码处理。
可选的,在获取了目标码率之后,还可以获取与待处理视频对应的转码参数,以便于可以基于目标码率以及转码参数对待处理视频进行转码处理,以使得转码后的待处理视频的码率为目标码率。例如,假设待处理视频对应的初始码率为2048kbps,待处理视频对应的目标码率为1024kbps,那么转码后的待处理视频的码率为1024kbps。其中,转码参数可以包括待处理视频的图像宽高、转码类型以及转码帧率等参数。
步骤S130:获取与转码处理后的所述待处理视频对应的质量指标值。
作为一种方式,可以将转码后的待处理视频与转码前的待处理视频进行比较,以获取与转码处理后的待处理视频对应的质量指标值(即VMAF值)。其中,VMAF(VideoMultimethod Assessment Fusion,视频质量多方法评估融合)是一种将人类视觉模型与机器学习相结合的视频质量评价指标,可使用VMAF指标来比较各种转码技术的质量和效率。可选的,在计算的过程中,可以通过比较转码后的待处理视频图像与转码前的待处理视频图像的每个像素点的值等方式计算质量指标值。
步骤S140:若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整,并基于调整后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值。
其中,质量阈值(本实施例中可以为VMAF质量阈值)可以预先设定。可选的,可以根据待处理视频的初始码率设定质量阈值,初始码率较高的待处理视频对应的质量阈值可以大于初始码率较低的待处理视频对应的质量阈值。本实施例中,质量阈值所对应的视频画面质量接近于待处理视频的画面质量。
作为一种方式,在获取了与转码处理后的待处理视频对应的质量指标值的情况下,可以获取质量指标值与质量阈值的差值,继而判断该差值是否小于或等于第一阈值,以便于可以根据判断结果灵活的对目标码率进行调整。可选的,第一阈值可以理解为一个门槛值。其中,在一些实施方式中,第一阈值可以为0,在该种情况下,若质量指标值与质量阈值不相等,则需要对目标码率进行调整。在另一些实施方式中,第一阈值可以为较小的范围,例如,可以为0~5(具体数值可以根据实际需求进行调整)等。
作为一种实施方式,若质量指标值与质量阈值的差值大于第一阈值,且质量指标值大于质量阈值时,则该种情况下的待处理视频的画面质量相对于质量阈值所对应的画面质量更加接近于待处理视频的画面质量,而当前的待处理视频(即前述的转码后的视频)的码率为目标码率,为了降低待处理视频对存储空间的占用,可以降低目标码率,进而实现降低待处理视频的文件大小,从而可以实现节约网络传输带宽。其中,关于目标码率的降低幅度可以根据实际需要进行设定,在此不作限定。在这种方式下,为了实现在保证待处理视频的视频质量的情况下尽可能的减小视频文件的大小,可以继续基于降低后的目标码率再次对待处理视频进行前述的转码处理过程,直至质量指标值与质量阈值的差值小于或等于第一阈值。
作为另一种实施方式,若质量指标值与质量阈值的差值大于第一阈值,且质量指标值小于质量阈值时,则说明该种情况下的待处理视频的文件大小较小,即该种情况下的待处理视频的画面质量相对于质量阈值所对应的画面质量较弱,可选的,为了确保待处理视频的画面质量,可以增大目标码率,以实现提升(或维持)待处理视频的画面质量。其中,对目标码率进行增大的具体幅度可以不受限制。在这种方式下,为了在确保待处理视频的文件大小尽可能小的情况下提升(或维持)待处理视频的画面质量,可以继续基于增大后的目标码率再次对待处理视频进行前述的转码处理过程,直至质量指标值与质量阈值的差值小于或等于第一阈值。
可选的,通过上述两种实施方式对目标码率进行调整后,与待处理视频对应的质量指标值可以等于前述质量阈值,或者与待处理视频对应的质量指标值可以无限趋近(或逼近)质量阈值,即质量指标值与质量阈值的差值小于或等于第一阈值。
本实施例提供的视频数据处理方法,通过获取待处理视频以及与待处理视频对应的目标码率,继而基于目标码率对待处理视频进行转码处理,再获取与转码处理后的待处理视频对应的质量指标值,然后若质量指标值与质量阈值的差值大于第一阈值,对目标码率进行调整,并基于调整后的目标码率对待处理视频进行所述转码处理,直至差值小于或等于第一阈值。从而通过上述方式实现了基于相较于待处理视频的初始码率更低的目标码率对待处理视频进行转码处理,并且在转码处理后的待处理视频对应的质量指标值与质量阈值的差值大于第一阈值时,再对目标码率进行调整,并基于调整后的目标码率再次对待处理视频进行转码处理,直至其差值小于或等于第一阈值,使得可以在确保待处理视频的视频质量的前提下对其目标码率进行调整,且调整后的待处理视频的文件大小相对于调整前有所减小,实现了节约码率,进而节约网络带宽资源。
请参阅图3,示出了本申请另一实施例提供的一种视频数据处理方法的流程图,本实施例提供一种视频数据处理方法,可应用于服务器,该方法包括:
步骤S210:获取待处理视频以及与所述多个视频片段各自对应的目标码率。
本实施例中,待处理视频可以包括多个视频片段,该多个视频片段为基于待转码视频切分得到。可选的,服务器可以配置有自动压缩功能,在该自动压缩功能处于开启状态时,可以将需要存储的视频(即接收到存储指令时,对应所要存储的视频)默认为待转码视频。在该种方式下,为了提升对待处理视频的转码效率,可以对待转码视频进行切分。示例性的,服务器可以以GOP(Group of Pictures,画面组)或者GOP的倍数为单位对待转码视频进行切分,得到多个视频片段,将该视频片段作为待处理视频。其中,一个GOP可以是一组连续的画面,一个GOP所包括的画面帧的数量本实施例可以不作限定。
可选的,在实际的切分过程中,对于一段待转码视频,可以有多种切分方式。示例性的,请参阅图4,示出了本实施例提供的对待转码视频进行切分的切分方式示意图。如图4所示,可以以单个GOP为单位对待转码视频进行切分,该种切分方式切分出的每个视频片段所包括的画面帧的数量相同。单个GOP所包括的画面帧的数量可以根据实际需要进行设定,例如,若待转码视频的画面内容较少,可以以包括较少数量画面帧的GOP为单位对待转码视频进行切分,得到如图4所示的“方式一”中的多个视频片段(即图4中的方式一对应的视频片段1、视频片段2、视频片段3、视频片段4、视频片段5、视频片段6、视频片段7、视频片段8)。同理,若待转码视频的画面内容较多,可以以包括较多数量画面帧的GOP为单位对待转码视频进行切分,或以包括较少数量画面帧的GOP的倍数为单位对待转码视频进行切分,得到如图4所示的“方式二”中的多个视频片段(即图4中的方式二对应的视频片段1、视频片段2、视频片段3、视频片段4)。不难看出,图4中所示的“方式二”中的单个视频片段所包括的画面帧数量要多于“方式一”中的单个视频片段所包括的画面帧数量。
可选的,还可以分别以包括较少数量画面帧的GOP为单位和以包括较多数量画面帧的GOP为单位交替对待转码视频进行切分,在这种方式下,切分后可以得到如图4所示的“方式三”中的多个视频片段(图4中的方式三对应的视频片段1、视频片段2、视频片段3、视频片段4、视频片段5、视频片段6)。可选的,可以根据服务器的性能以及核数确定切分方式,例如,支持单核的服务器对应切分方式一,支持双核的服务器对应切分方式二,支持多核的服务器对应切分方式三等,具体切分方式的选择可以根据实际情况进行调整,以上仅作为示例。
在本实施例的方式下,可以分别设定与多个视频片段各自对应的目标码率,可选的,多个视频片段各自对应的目标码率可以相同,也可以不同。在一些实施方式中,每个视频片段对应的目标码率可以低于该视频片段的初始码率;在另一些实施方式中,每个视频片段对应的目标码率可以低于待处理视频的整体初始码率(可选的,该整体初始码率可以为多个视频片段各自对应的初始码率的平均值)。
步骤S220:基于各自对应的目标码率对所述多个视频片段分别进行转码处理。
作为一种方式,若多个视频片段各自对应的目标码率不同,可以基于多个视频片段各自对应的目标码率对多个视频片段分别进行转码处理,在这种方式下,转码后的各个视频片段各自对应的码率即为其各自对应的目标码率。其中,关于对多个视频片段分别进行转码处理的具体流程可以参照前述实施例中的描述,在此不再赘述。
步骤S230:获取与转码处理后的所述多个视频片段分别对应的质量指标值。
其中,每个视频片段对应的质量指标值可以结合转码后的视频片段与转码前的视频片段计算得到,具体计算原理可以参照前述实施例中的描述,在此不再赘述。
可选的,目标码率较高的视频片段对应的质量指标值可以较高,而目标码率较低的视频片段对应的质量指标值可以较低,在这种方式下,为了在确保视频质量的前提下尽可能的减少视频文件的存储大小,需要对视频片段对应的目标码率进行调整。作为一种方式,可以设定质量阈值,将质量指标值与质量阈值进行比较,根据比较结果对目标码率进行调整。然而,若采用统一的质量阈值与多个视频片段分别对应的质量指标值进行比较,可能会在将与某个视频片段对应的目标码率进行调高时,误将其他视频片段对应的目标码率也调高,进而造成码率的浪费。
作为一种改善上述问题的方式,可以基于多个视频片段各自对应的质量特征确定各自对应的质量阈值,即若多个视频片段对应的质量特征不同,则多个视频片段各自对应的质量阈值可以不同,具体描述如下。
作为一种实施方式,请参阅图5,示出了本申请实施例提供的一种确定与多个视频片段分别对应的质量阈值的方式对应的方法流程图。如图5所示,一种确定与多个视频片段分别对应的质量阈值的方式可以包括如下步骤:
步骤S231:获取各个所述视频片段的内容复杂度。
本实施方式中,视频片段对应的质量特征可以为视频片段的内容复杂度。内容复杂度用于表征视频片段的画面场景内容变化快慢、画面颜色种类和/或画面颜色的变化多少/变化快慢。例如,视频片段的内容复杂度越高,视频片段内的相邻画面帧之间的画面场景内容变化得越快;视频片段的内容复杂度越低,视频片段内的相邻画面帧之间的画面场景内容变化得越慢。又例如,视频片段的内容复杂度越高,视频片段内的相邻画面帧之间的画面颜色种类变化得越多/越快;视频片段的内容复杂度越低,视频片段内的相邻画面帧之间的画面颜色种类变化得越少/越慢。具体地,可以根据视频片段中相邻画面帧之间的差异程度获取视频片段的内容复杂度。可选的,该差异程度可以基于视频片段中相邻画面帧之间画面内容的相似度得到,或者该差异程度可以基于视频片段中相邻画面帧的像素的运动矢量的变化快慢得到。
其中,作为一种实现方式,可以获取相邻画面帧之间画面内容的相似度,根据相似度的值的大小确定画面场景内容变化的快慢,得到视频片段的内容复杂度。可选的,相邻画面帧之间画面内容的相似度越小,表征该相邻画面帧之间的画面场景内容变化得越快;相邻画面帧之间画面内容的相似度越大,表征该相邻画面帧之间的画面场景内容变化得越慢。在该种实现方式下,可以对相邻画面帧之间画面内容的相似度进行打分,再用目标分值(具体数值可以不作限定,例如可以为100)减去相似度的分值,得到差异程度的分值。可选的,差异程度的分值越大表征差异程度越大,差异程度的分值越小表征差异程度越小。
可选的,在获取了相邻画面帧之间画面内容的相似度的情况下,可以获取与视频片段的多个相邻画面帧分别对应的画面内容的相似度的变化幅度,可选的,变化幅度越大,对应的视频片段的画面场景内容变化得越快,变化幅度越小,对应的视频片段的画面场景内容变化得越慢。示例性的,假设视频片段A包括5帧画面帧,分别为画面帧1、画面帧2、画面帧3、画面帧4以及画面帧5,若画面帧1与画面帧2之间画面内容的相似度为8,画面帧2与画面帧3之间画面内容的相似度为15,画面帧3与画面帧4之间画面内容的相似度为23,画面帧4与画面帧5之间画面内容的相似度为40,则可以判定对应的视频片段的画面场景内容变化得较快。而若画面帧1与画面帧2之间画面内容的相似度为8,画面帧2与画面帧3之间画面内容的相似度为9,画面帧3与画面帧4之间画面内容的相似度为11,画面帧4与画面帧5之间画面内容的相似度为15,则可以判定对应的视频片段的画面场景内容变化得较慢。
作为另一种实现方式,可以获取相邻画面帧的像素的运动矢量的变化快慢,进而可以根据该运动矢量的变化快慢确定画面场景内容变化的快慢。可选的,若相邻画面帧的像素的运动矢量的变化越快,可以判定相邻画面帧之间的差异程度越大,表征该相邻画面帧之间的画面场景内容变化得越快;而若相邻画面帧的像素的运动矢量的变化越慢,可以判定相邻画面帧之间的差异程度越小,表征该相邻画面帧之间的画面场景内容变化得越慢。
可选的,或者可以是视频片段内的画面帧的颜色种类越多,对应的视频片段的内容复杂度越高;视频片段内的画面帧的颜色种类越少,对应的视频片段的内容复杂度越低。或者视频片段内的相邻画面帧之间的画面颜色变化得越多,对应的视频片段的内容复杂度越高;视频片段内的相邻画面帧之间的画面颜色变化得越少,对应的视频片段的内容复杂度越低。
步骤S232:基于各个所述视频片段的内容复杂度,确定与各个所述视频片段分别对应的质量阈值。
本实施例中,内容复杂度越高的视频片段对应的质量阈值越大。作为一种方式,可以基于多个视频片段中各个视频片段的内容复杂度,确定与各个视频片段分别对应的质量阈值。
例如,在一个具体的应用场景中,请参阅图6,示出了本申请实施例提供的根据各个视频片段的内容复杂度,确定与各个视频片段分别对应的质量阈值的确定方式示意图。如图6所示,假设待处理视频包括4个视频片段,分别为如图6所示的视频片段1、视频片段2、视频片段3以及视频片段4,若该4个视频片段对应的内容复杂度的大小关系为:“视频片段3>视频片段2>视频片段1>视频片段4”,那么可以确定视频片段3对应的质量阈值为90,视频片段2对应的质量阈值为85,视频片段1对应的质量阈值为80,视频片段4对应的质量阈值为75。
通过根据内容复杂度确定与视频片段对应的质量阈值,可以使得后续当转码后的视频片段的质量指标值与质量阈值的差值小于或等于第一阈值时,可以使得内容较为复杂的视频片段的视频质量维持在较高的水平,提升用户的观看体验,而内容不太复杂的视频片段的视频质量较之内容较为复杂的视频片段的视频质量可以维持在相对较低的水平,从而可以实现减少视频片段的码率,进而实现减少视频片段所占用的存储空间。
作为另一种实施方式,请参阅图7,示出了本申请实施例提供的另一种确定与多个视频片段分别对应的质量阈值的方式对应的方法流程图。如图7所示,另一种确定与多个视频片段分别对应的质量阈值的方式可以包括如下步骤:
步骤S233:获取各个所述视频片段在所述待转码视频中的片段位置。
本实施方式中,视频片段对应的质量特征可以为视频片段的片段位置。其中,片段位置可以理解为视频片段在多个视频片段中的相对排布位置,可选的,多个视频片段可以以待处理视频的播放时间为顺序从前往后排布。可以理解的是,每个视频片段包括多帧视频图像,可选的,可以以每个视频片段的第一帧视频图像的时间(例如可以是拍摄时间)确定该视频片段的所在位置(即片段位置),或者可以以每个视频片段的最后一帧视频图像的时间确定该视频片段的所在位置(即片段位置),或者满足相邻两个视频片段各自用于确定视频片段的片段位置的相邻起始帧的间隔相等即可。
步骤S234:基于各个所述视频片段在所述待转码视频中的片段位置,确定与各个所述视频片段分别对应的质量阈值。
本实施例中,片段位置越居中的视频片段,对应的质量阈值可以越大。需要说明的是,本实施例中的居中位置为待处理视频的播放时序的中间位置。例如,假设待处理视频的播放时长为12分钟,可以将待处理视频的第4分钟至第8分钟的播放时长对应的视频片段所在的位置作为该待处理视频的居中位置。作为一种方式,可以基于各个视频片段在待转码视频中的片段位置,确定与各个视频片段分别对应的质量阈值。可选的,为了便于快速的确认视频片段的片段位置,可以对多个视频片段进行片段区域划分,以便于可以根据视频片段的所属片段区域所在的位置快速确认视频片段的片段位置。
其中,每个片段区域可以包括至少一个视频片段。例如,假设待处理视频包括10个视频片段,分别为视频片段1、视频片段2、视频片段3、视频片段4、视频片段5、视频片段6、视频片段7、视频片段8、视频片段9以及视频片段10,若将该待处理视频的片段区域划分为三个,分别为片段区域1、片段区域2以及片段区域3,那么片段区域1可以包括视频片段1、视频片段2、视频片段3以及视频片段4,片段区域2可以包括视频片段5、视频片段6、视频片段7以及视频片段8,片段区域3可以包括视频片段9以及视频片段10。可选的,上述划分仅作为示例进行说明,实际实现时每个待处理视频所包括的视频片段区域数量以及每个视频片段区域所包括的视频片段数量可以根据实际情况进行设定,在此不作限定。
例如,在一个具体的应用场景中,请参阅图8,示出了本申请实施例提供的根据多个视频片段各自对应的片段位置确定与多个视频片段分别对应的质量阈值的确定方式示意图。如图8所示,假设待处理视频包括3个视频片段区域,分别为片段区域13、片段区域14(片段位置相对居中)以及片段区域15,假设片段区域13包括两个视频片段,片段区域14包括若干个视频片段,片段区域15包括两个视频片段。可选的,服务器可以根据待处理视频的视频内容情况划分视频片段区域,例如,对于一些前序或片头曲较长而片尾相对较短的电影,其第一个片段区域所包括的视频片段可以多于其最后一个片段区域所包括的视频片段。
可选的,可以设定片段位置相对居中的视频片段对应的质量阈值高于其他视频片段(即片段位置相对于不居中的视频片段)对应的质量阈值。如图8所示,片段区域14所包括的视频片段对应的质量阈值,均大于片段区域13以及片段区域15分别所包括的视频片段对应的质量阈值。可选的,属于居中片段区域的不同视频片段对应的质量阈值可以相同,也可以不同,例如,图8所示的片段区域14中,最右侧的两个视频片段各自对应的质量阈值均为90(即相同),而最左侧的两个视频片段各自对应的质量阈值分别为85与90(即不相同)。同理,属于非居中片段区域的不同视频片段对应的质量阈值可以相同,也可以不同,例如,图8所示的片段区域13中的两个视频片段各自对应的质量阈值均为80(即相同),而片段区域15中的两个视频片段各自对应的质量阈值分别为80与75(即不相同)。
作为又一种实施方式,请参阅图9,示出了本申请实施例提供的又一种确定与多个视频片段分别对应的质量阈值的方式对应的方法流程图。如图9所示,又一种确定与多个视频片段分别对应的质量阈值的方式可以包括如下步骤:
步骤S235:将所述多个视频片段输入机器学习模型。
为了提升视频转码的准确性,作为一种方式,可以结合深度学习,将多个视频片段输入机器学习模型,可选的,该机器学习模型可以用于预测与视频片段对应的质量阈值,该机器学习模型可以预先用大量的视频片段训练得到。
步骤S236:获取所述机器学习模型输出的与所述多个视频片段分别对应的质量阈值。
在本实施方式下,可以获取机器学习模型输出的与多个视频片段分别对应的质量阈值。通过借助机器学习模型获取与视频分段对应的质量阈值,可以减少服务器的计算压力,进而提升转码效率。同时可以提升视频转码的准确性。
需要说明的是,在确定与多个视频片段分别对应的质量阈值的实际操作过程中,可以结合上述至少两种实施方式共同确认,例如,可以结合机器学习与内容复杂度共同确认与多个视频片段分别对应的质量阈值,也可以结合机器学习与片段位置共同确认与多个视频片段分别对应的质量阈值,或者可以结合内容复杂度与片段位置(二者的判断顺序可以不受限制)共同确认与多个视频片段分别对应的质量阈值,或者还可以结合机器学习、内容复杂度以及片段位置共同确认与多个视频片段分别对应的质量阈值,具体实现过程此处不再赘述,所有包括上述实施方式的质量阈值确定方案均在本申请的保护范围内。
步骤S240:若所述质量指标值与质量阈值的差值大于第一阈值,对差值大于第一阈值的视频片段对应的目标码率进行调整,并基于调整后的目标码率对所述视频片段进行所述转码处理,直至所述差值小于或等于所述第一阈值。
本实施例中,若多个视频片段中,还存在质量指标值与质量阈值的差值大于第一阈值的视频片段,可以对差值大于第一阈值的视频片段对应的目标码率进行调整,并可以基于调整后的目标码率再次对相应的视频片段进行前述转码处理过程,直至其质量指标值与质量阈值的差值小于或等于第一阈值。具体码率调整原理以及转码处理过程可以参照前述实施例中的描述,在此不再赘述。
本实施例提供的视频数据处理方法,实现了基于相较于待处理视频的各个视频片段的初始码率分别更低的目标码率,对待处理视频的多个视频片段分别进行转码处理,并且在转码处理后的多个视频片段各自对应的质量指标值与相应的质量阈值的差值大于第一阈值时,再对差值大于第一阈值的视频片段对应的目标码率进行调整,并基于调整后的目标码率再次对相应的视频片段进行转码处理,直至其差值小于或等于第一阈值,使得可以在确保视频片段的视频质量的前提下对其对应的目标码率进行调整,进而实现节约码率,节约网络带宽。同时基于多个视频片段各自对应的内容复杂度、片段位置等质量特征确定其各自对应的质量阈值,提升了质量阈值的可靠性与准确性。
请参阅图10,示出了本申请又一实施例提供的一种视频数据处理方法的流程图,本实施例提供一种视频数据处理方法,可应用于服务器,该方法包括:
步骤S310:获取待处理视频以及与所述多个视频片段各自对应的目标码率。
步骤S320:调用多个线程,基于各自对应的目标码率对所述多个视频片段分别进行转码处理。
可选的,为了便于提升转码效率,本实施例可以调用多个线程基于多个视频片段各自对应的目标码率,对多个视频片段分别进行转码处理。其中,该多个线程可以为预先创建好的线程,也可以为实时创建的线程。可选的,服务器可以根据其处理性能或运行性能自动确定调用线程的数量。
可以理解的是,若服务器的处理性能或运行性能较弱时,其所调用的线程的数量可能小于视频片段的数量,即此种情况下的线程与视频片段可能不会一一对应支持。作为一种实现方式,若多个线程的数量小于视频片段的数量,可以获取多个视频片段中满足指定条件的视频片段作为目标视频片段(可以为多个视频片段);然后先调用多个线程基于目标视频片段中的各个视频片段各自对应的目标码率分别对对应的视频片段进行转码处理;待目标视频片段中的各个视频片段转码完成后,再调用多个线程基于多个视频片段中除目标视频片段以外的其他视频片段各自对应的目标码率,对多个视频片段中除目标视频片段以外的其他视频片段进行转码处理。
其中,指定条件可以包括:视频片段的内容复杂度高于第二阈值(可选的,本实施例中的第二阈值可以理解为复杂度的阈值);或视频片段为待处理视频的居中位置的片段,该居中位置为待处理视频的播放时序的中间位置。可选的,第二阈值的具体数值可以不做限定,例如,第二阈值可以为80、85或90等。
需要说明的是,在转码处理阶段选取目标视频片段时,若指定条件为视频片段的内容复杂度高于第二阈值,在该种情况下,在后续确定与视频片段对应的质量阈值时,作为一种实施方式,可以直接根据视频片段的内容复杂度是否高于第二阈值的判断结果,快速的确定与视频片段对应的质量阈值,例如,若判定视频片段的内容复杂度高于第二阈值,可以设定视频片段对应的质量阈值较大;而若判定视频片段的内容复杂度低于第二阈值,可以设定视频片段对应的质量阈值较小。其中,内容复杂度越高的视频片段对应的质量阈值可以越大。
作为另一种实施方式,也可以在判定视频片段的内容复杂度高于第二阈值时,进一步获取该视频片段的片段位置,若该视频片段的内容复杂度高于第二阈值且该视频片段为待处理视频的居中位置的片段,那么可以设定视频片段对应的质量阈值较大;若该视频片段的内容复杂度高于第二阈值,而该视频片段不为待处理视频的居中位置的片段,那么可以设定视频片段对应的质量阈值相对较小。
通过在判定视频片段的内容复杂度高于第二阈值时,进一步获取该视频片段是否为待处理视频的居中位置的片段,进而根据获取结果确定与视频片段对应的质量阈值的方式,可以确保待处理视频的核心画面内容可以保持较高的视频播放质量,提升质量阈值设定的准确性,从而可以提升用户的观看体验。
同理,若指定条件为视频片段为待处理视频的居中位置的片段,在该种情况下,在后续确定与视频片段对应的质量阈值时,作为一种实施方式,可以直接根据视频片段是否为待处理视频的居中位置的片段的判断结果,快速的确定与视频片段对应的质量阈值,例如,若判定视频片段为待处理视频的居中位置的片段,可以设定视频片段对应的质量阈值较大;而若判定视频片段不为待处理视频的居中位置的片段,可以设定视频片段对应的质量阈值较小。
作为另一种实施方式,也可以在判定视频片段为待处理视频的居中位置的片段时,进一步获取该视频片段的内容复杂度,若该视频片段为待处理视频的居中位置的片段且该视频片段的内容复杂度高于第二阈值,那么可以设定视频片段对应的质量阈值较大;若该视频片段为待处理视频的居中位置的片段,而该视频片段的内容复杂度低于第二阈值,那么可以设定视频片段对应的质量阈值相对较小。
通过在判定视频片段为待处理视频的居中位置的片段时,进一步获取该视频片段的内容复杂度,可以确保对处于待处理视频的播放时序的中间位置的内容复杂度较高的视频片段,以较高的码率进行播放,以提升视频播放质量以及用户观看体验,而对处于待处理视频的播放时序的中间位置的内容复杂度相对较低的视频片段,以相对较低的码率进行播放,可以实现节约码率,从而可以减少带宽资源的浪费。
步骤S330:获取与转码处理后的所述多个视频片段分别对应的质量指标值。
步骤S340:若所述质量指标值与质量阈值的差值大于第一阈值,对差值大于第一阈值的视频片段对应的目标码率进行调整,并基于调整后的目标码率对所述视频片段进行所述转码处理,直至所述差值小于或等于所述第一阈值。
本实施例提供的视频数据处理方法,实现了基于相较于待处理视频的各个视频片段的初始码率分别更低的目标码率,对待处理视频的多个视频片段分别进行转码处理,并且在转码处理后的多个视频片段各自对应的质量指标值与相应的质量阈值的差值大于第一阈值时,再对差值大于第一阈值的视频片段对应的目标码率进行调整,并基于调整后的目标码率再次对相应的视频片段进行转码处理,直至其差值小于或等于第一阈值,使得可以在确保视频片段的视频质量的前提下对其对应的目标码率进行调整,进而实现节约码率,节约网络带宽。通过调用多个线程基于多个视频片段各自对应的目标码率,对多个视频片段分别进行转码处理,提升了转码效率。
请参阅图11,示出了本申请再一实施例提供的一种视频数据处理方法的流程图,本实施例提供一种视频数据处理方法,可应用于服务器,该方法包括:
步骤S410:获取待处理视频以及与所述多个视频片段各自对应的目标码率。
步骤S420:基于各自对应的目标码率对所述多个视频片段分别进行转码处理。
步骤S430:获取与转码处理后的所述多个视频片段分别对应的质量指标值。
步骤S440:若所述质量指标值与质量阈值的差值大于第一阈值,对差值大于第一阈值的视频片段对应的目标码率进行调整,并基于调整后的目标码率对所述视频片段进行所述转码处理,直至所述差值小于或等于所述第一阈值。
步骤S450:判断所述多个视频片段中每个视频片段分别对应的质量指标值与各自对应的质量阈值的差值是否均小于或等于所述第一阈值。
可选的,为了确保转码处理后的待处理视频可以正常播放,可以判断多个视频片段中每个视频片段分别对应的质量指标值与各自对应的质量阈值的差值是否均小于或等于第一阈值,以便于可以根据判断结果确定是否开始进行视频拼接。
可选的,为了便于基于DASH(Dynamic Adaptive Streaming over HTTP,基于HTTP的动态自适应流),HLS(HTTP Live Streaming,动态码率自适应技术)等自适应分辨率协议进行自适应媒体流的内容生成,可以对转码后质量指标值与质量阈值的差值大于第一阈值的视频片段进行存储;以及对转码后质量指标值与质量阈值的差值小于或等于第一阈值的视频片段进行存储,以减少二次开发流程,提升开发效率。
可选的,在某些实施方式中,本实施例中的质量阈值也可以为基于其他视频质量评价标准确定得到的阈值。其中,其他视频质量评价标准可以包括PSNR(Peak Signal toNoise Ratio,峰值信噪比)方法,以及SSIM(Structural SIMilarity,结构相似性)方法等。或者可以结合使用VMAF、PSNR以及SSIM中的至少两种方法共同确认与视频片段对应的质量阈值。例如,在以VMAF方法确定视频片段对应的质量阈值时,可以同时计算视频片段的PSNR值和/或SSIM值,再根据计算结果确定与视频片段对应的质量阈值。
步骤S460:对所述多个视频片段进行拼接,得到目标视频。
作为一种方式,若多个视频片段中每个视频片段分别对应的质量指标值与各自对应的质量阈值的差值均小于或等于第一阈值,可以开始对多个视频片段进行拼接,得到目标视频。本实施例中,目标视频的码率低于待处理视频的初始码率。在用户视觉上,目标视频的视频质量与待处理视频的视频质量相当。
作为另一种方式,若多个视频片段中存在质量指标值与对应的质量阈值的差值大于第一阈值的视频片段,可以继续等待所有视频片段的质量指标值与对应的质量阈值的差值均小于或等于第一阈值时,再开始拼接。
可选的,本实施例中,若转码后的视频片段对应的质量指标值与其对应的质量阈值的差值小于或等于第一阈值,可以结束对应的线程,或者指示该对应的线程开始对其他差值未小于或等于第一阈值的视频片段进行转码。
可选的,在一些实施方式中,若多次转码处理之后,视频片段对应的质量指标值与其对应的质量阈值的差值均大于第一阈值,可以对与视频片段对应的质量阈值进行调整,具体调整数值可以根据实际情况进行选择,在此不一一例举。
本实施例提供的视频数据处理方法,实现了基于相较于待处理视频的各个视频片段的初始码率分别更低的目标码率,对待处理视频的多个视频片段分别进行转码处理,并且在转码处理后的多个视频片段各自对应的质量指标值与相应的质量阈值的差值大于第一阈值时,再对差值大于第一阈值的视频片段对应的目标码率进行调整,并基于调整后的目标码率再次对相应的视频片段进行转码处理,直至其差值小于或等于第一阈值,使得可以在确保视频片段的视频质量的前提下对其对应的目标码率进行调整,进而实现节约码率,节约网络带宽。通过对质量指标值与质量阈值的差值小于或等于第一阈值的多个视频片段进行拼接,可以实现降低待处理视频的整体存储空间,进而降低存储成本。
请参阅图12,为本申请实施例提供的一种视频数据处理装置的结构框图,本实施例提供一种视频数据处理装置500,可以运行于服务器,所述装置500包括:第一获取模块510、第一处理模块520、第二获取模块530以及第二处理模块540:
第一获取模块510,用于获取待处理视频以及与所述待处理视频对应的目标码率,所述目标码率低于所述待处理视频的初始码率。
第一处理模块520,用于基于所述目标码率对所述待处理视频进行转码处理。
第二获取模块530,用于获取与转码处理后的所述待处理视频对应的质量指标值。
第二处理模块540,用于若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整,并基于调整后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值。
在一种实施方式中,第二处理模块540可以用于若所述差值大于第一阈值,且所述质量指标值大于所述质量阈值,降低所述码率。在这种方式下,可以基于降低后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值。
在另一种实施方式中,第二处理模块540可以用于若所述差值大于第一阈值,且所述质量指标值小于所述质量阈值,增大所述码率。在这种方式下,可以基于增大后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值。
可选的,装置500还可以包括视频分段模块,该视频分段模块可以用于对待转码视频进行切分,以得到包括多个视频片段的待处理视频。在该种情况下,第一获取模块510可以用于获取与所述多个视频片段各自对应的目标码率;第一处理模块520可以用于基于各自对应的目标码率对所述多个视频片段分别进行转码处理;第二获取模块530可以用于获取与转码处理后的所述多个视频片段分别对应的质量指标值;第二处理模块540可以用于若所述质量指标值与质量阈值的差值大于第一阈值,对差值大于第一阈值的视频片段对应的目标码率进行调整,并基于调整后的目标码率对所述视频片段进行所述转码处理,直至所述差值小于或等于所述第一阈值。
可选的,装置500还可以包括阈值设定模块,在待处理视频包括多个视频片段的情况下,若所述质量指标值与质量阈值的差值大于第一阈值,在对所述目标码率进行调整之前,作为一种实现方式,该阈值设定模块可以用于获取各个所述视频片段的内容复杂度;基于各个所述视频片段的内容复杂度,确定与各个所述视频片段分别对应的质量阈值,其中,所述内容复杂度越高的视频片段对应的质量阈值越大。
作为另一种实现方式,该阈值设定模块可以用于获取各个所述视频片段在所述待转码视频中的片段位置;基于各个所述视频片段在所述待转码视频中的片段位置,确定与各个所述视频片段分别对应的质量阈值。
作为又一种实现方式,该阈值设定模块可以用于将所述多个视频片段输入机器学习模型,所述机器学习模型用于预测与视频片段对应的质量阈值;获取所述机器学习模型输出的与所述多个视频片段分别对应的质量阈值。
作为一种实施方式,第一处理模块520可以用于调用多个线程基于各自对应的目标码率对所述多个视频片段分别进行转码处理。其中,若所述多个线程的数量小于所述视频片段的数量,可以获取所述多个视频片段中满足指定条件的视频片段作为目标视频片段;继而调用所述多个线程先基于各自对应的目标码率对所述目标视频片段进行转码处理;再调用所述多个线程基于各自对应的转码参数对所述多个视频片段中除所述目标视频片段以外的视频片段进行转码处理。可选的,本实施例中的指定条件可以包括:视频片段的内容复杂度高于第二阈值;或视频片段为所述待处理视频的居中位置的片段,所述居中位置为所述待处理视频的播放时序的中间位置。
可选的,装置500还可以包括拼接模块,用于在若所述质量指标值与质量阈值的差值大于第一阈值,对差值大于第一阈值的视频片段对应的目标码率进行调整,并基于调整后的目标码率对所述视频片段进行所述转码处理,直至所述差值小于或等于所述第一阈值之后,若所述多个视频片段中每个视频片段分别对应的质量指标值与各自对应的质量阈值的差值均小于或等于所述第一阈值,对所述多个视频片段进行拼接,得到目标视频。可选的,本实施例中目标视频的码率低于待处理视频的初始码率。
可选的,装置500还可以包括存储模块,用于对转码后所述质量指标值与质量阈值的差值大于第一阈值的视频片段进行存储;以及对转码后所述质量指标值与质量阈值的差值小于或等于所述第一阈值的视频片段进行存储。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图13,基于上述的视频数据处理方法及装置,本申请实施例还提供了一种可以执行前述视频数据处理方法的电子设备100。该电子设备100可以是图1中所述的服务器12。电子设备100包括存储器102以及相互耦合的一个或多个(图中仅示出一个)处理器104,存储器102以及处理器104之间通信线路连接。存储器102中存储有可以执行前述实施例中内容的程序,而处理器104可以执行存储器102中存储的程序。
其中,处理器104可以包括一个或者多个处理核。处理器104利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器102内的指令、程序、代码集或指令集,以及调用存储在存储器102内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器104可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器104可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器104中,单独通过一块通信芯片进行实现。
存储器102可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器102可用于存储指令、程序、代码、代码集或指令集。存储器102可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现前述各个实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图14,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质600中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质600可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质600包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质600具有执行上述方法中的任何方法步骤的程序代码610的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码610可以例如以适当形式进行压缩。
综上所述,本申请实施例提供的一种视频数据处理方法、装置、电子设备以及存储介质,通过获取待处理视频以及与待处理视频对应的目标码率,继而基于目标码率对待处理视频进行转码处理,再获取与转码处理后的待处理视频对应的质量指标值,然后若质量指标值与质量阈值的差值大于第一阈值,对目标码率进行调整,并基于调整后的目标码率对待处理视频进行所述转码处理,直至差值小于或等于所述第一阈值。从而通过上述方式实现了基于相较于待处理视频的初始码率更低的目标码率对待处理视频进行转码处理,并且在转码处理后的待处理视频对应的质量指标值与质量阈值的差值大于第一阈值时,再对目标码率进行调整,并基于调整后的目标码率再次对待处理视频进行转码处理,直至其差值小于或等于所述第一阈值,使得可以在确保待处理视频的视频质量的前提下对其目标码率进行调整,进而实现节约码率,节约网络带宽。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (15)

1.一种视频数据处理方法,其特征在于,所述方法包括:
获取待处理视频以及与所述待处理视频对应的目标码率,所述目标码率低于所述待处理视频的初始码率;
基于所述目标码率对所述待处理视频进行转码处理;
获取与转码处理后的所述待处理视频对应的质量指标值;
若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整,并基于调整后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值。
2.根据权利要求1所述的方法,其特征在于,所述若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整,包括:
若所述差值大于第一阈值,且所述质量指标值大于所述质量阈值,降低所述目标码率;
所述基于调整后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值,包括:
基于降低后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值。
3.根据权利要求1所述的方法,其特征在于,所述若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整,包括:
若所述差值大于第一阈值,且所述质量指标值小于所述质量阈值,增大所述目标码率;
所述基于调整后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值,包括:
基于增大后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值。
4.根据权利要求1所述的方法,其特征在于,所述待处理视频包括多个视频片段,所述多个视频片段为基于待转码视频切分得到,所述获取与所述待处理视频对应的目标码率,基于所述目标码率对所述待处理视频进行转码处理,获取与转码处理后的所述待处理视频对应的质量指标值,若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整,并基于调整后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值,包括:
获取与所述多个视频片段各自对应的目标码率;
基于各自对应的目标码率对所述多个视频片段分别进行转码处理;
获取与转码处理后的所述多个视频片段分别对应的质量指标值;
若所述质量指标值与质量阈值的差值大于第一阈值,对差值大于第一阈值的视频片段对应的目标码率进行调整,并基于调整后的目标码率对所述视频片段进行所述转码处理,直至所述差值小于或等于所述第一阈值。
5.根据权利要求4所述的方法,其特征在于,所述若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整之前,还包括:
获取各个所述视频片段的内容复杂度;
基于各个所述视频片段的内容复杂度,确定与各个所述视频片段分别对应的质量阈值,其中,所述内容复杂度越高的视频片段对应的质量阈值越大。
6.根据权利要求4所述的方法,其特征在于,所述若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整之前,还包括:
获取各个所述视频片段在所述待转码视频中的片段位置;
基于各个所述视频片段在所述待转码视频中的片段位置,确定与各个所述视频片段分别对应的质量阈值。
7.根据权利要求4所述的方法,其特征在于,所述若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整之前,还包括:
将所述多个视频片段输入机器学习模型,所述机器学习模型用于预测与视频片段对应的质量阈值;
获取所述机器学习模型输出的与所述多个视频片段分别对应的质量阈值。
8.根据权利要求4所述的方法,其特征在于,所述基于各自对应的目标码率对所述多个视频片段分别进行转码处理,包括:
调用多个线程,基于各自对应的目标码率对所述多个视频片段分别进行转码处理。
9.根据权利要求8所述的方法,其特征在于,所述调用多个线程基于各自对应的目标码率对所述多个视频片段分别进行转码处理,包括:
若所述多个线程的数量小于所述视频片段的数量,获取所述多个视频片段中满足指定条件的视频片段作为目标视频片段;
调用所述多个线程基于各自对应的目标码率对所述目标视频片段进行转码处理;
调用所述多个线程基于所述多个视频片段中除所述目标视频片段以外的视频片段各自对应的目标码率,对所述多个视频片段中除所述目标视频片段以外的视频片段进行转码处理。
10.根据权利要求9所述的方法,其特征在于,所述指定条件包括:视频片段的内容复杂度高于第二阈值;或视频片段为所述待处理视频的居中位置的片段,所述居中位置为所述待处理视频的播放时序的中间位置。
11.根据权利要求4所述的方法,其特征在于,所述若所述质量指标值与质量阈值的差值大于第一阈值,对差值大于第一阈值的视频片段对应的目标码率进行调整,并基于调整后的目标码率对所述视频片段进行所述转码处理,直至所述差值小于或等于所述第一阈值之后,还包括:
若所述多个视频片段中每个视频片段分别对应的质量指标值与各自对应的质量阈值的差值均小于或等于所述第一阈值,对所述多个视频片段进行拼接,得到目标视频。
12.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对转码后所述质量指标值与质量阈值的差值大于第一阈值的视频片段进行存储;
以及对转码后所述质量指标值与质量阈值的差值小于或等于所述第一阈值的视频片段进行存储。
13.一种视频数据处理装置,其特征在于,运行于服务器,所述装置包括:
第一获取模块,用于获取待处理视频以及与所述待处理视频对应的目标码率,所述目标码率低于所述待处理视频的初始码率;
第一处理模块,用于基于所述目标码率对所述待处理视频进行转码处理;
第二获取模块,用于获取与转码处理后的所述待处理视频对应的质量指标值;
第二处理模块,用于若所述质量指标值与质量阈值的差值大于第一阈值,对所述目标码率进行调整,并基于调整后的目标码率对所述待处理视频进行所述转码处理,直至所述差值小于或等于所述第一阈值。
14.一种电子设备,其特征在于,包括一个或多个处理器以及存储器;
一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-12任一所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-12任一所述的方法。
CN202010997869.3A 2020-09-21 2020-09-21 视频数据处理方法、装置、电子设备及存储介质 Pending CN111970565A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010997869.3A CN111970565A (zh) 2020-09-21 2020-09-21 视频数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010997869.3A CN111970565A (zh) 2020-09-21 2020-09-21 视频数据处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN111970565A true CN111970565A (zh) 2020-11-20

Family

ID=73387489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010997869.3A Pending CN111970565A (zh) 2020-09-21 2020-09-21 视频数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111970565A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114430501A (zh) * 2021-12-28 2022-05-03 上海网达软件股份有限公司 一种用于文件转码的内容自适应编码的方法及***
CN115002520A (zh) * 2022-04-14 2022-09-02 百果园技术(新加坡)有限公司 一种视频流数据处理方法、装置、设备及存储介质
CN115361571A (zh) * 2022-08-04 2022-11-18 武汉依迅北斗时空技术股份有限公司 云存储视频数据的播放方法和装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101578875A (zh) * 2007-01-04 2009-11-11 英国电讯有限公司 利用迭代重新编码的视频信号编码
CN102137258A (zh) * 2011-03-22 2011-07-27 宁波大学 一种立体视频码率控制方法
CN105263066A (zh) * 2014-06-13 2016-01-20 珠海全志科技股份有限公司 移动设备视频流传输控制方法及***
US20160212373A1 (en) * 2015-01-16 2016-07-21 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
WO2019037471A1 (zh) * 2017-08-24 2019-02-28 中兴通讯股份有限公司 视频处理方法、视频处理装置以及终端
CN110225340A (zh) * 2019-05-31 2019-09-10 北京猿力未来科技有限公司 一种视频编码的控制方法及装置、计算设备和存储介质
CN111107395A (zh) * 2019-12-31 2020-05-05 广州市百果园网络科技有限公司 一种视频转码的方法、装置、服务器和存储介质
CN111263243A (zh) * 2020-02-17 2020-06-09 网易(杭州)网络有限公司 视频编码方法、装置、计算机可读介质及电子设备
CN111327950A (zh) * 2020-03-05 2020-06-23 腾讯科技(深圳)有限公司 一种视频转码方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101578875A (zh) * 2007-01-04 2009-11-11 英国电讯有限公司 利用迭代重新编码的视频信号编码
CN102137258A (zh) * 2011-03-22 2011-07-27 宁波大学 一种立体视频码率控制方法
CN105263066A (zh) * 2014-06-13 2016-01-20 珠海全志科技股份有限公司 移动设备视频流传输控制方法及***
US20160212373A1 (en) * 2015-01-16 2016-07-21 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
WO2019037471A1 (zh) * 2017-08-24 2019-02-28 中兴通讯股份有限公司 视频处理方法、视频处理装置以及终端
CN110225340A (zh) * 2019-05-31 2019-09-10 北京猿力未来科技有限公司 一种视频编码的控制方法及装置、计算设备和存储介质
CN111107395A (zh) * 2019-12-31 2020-05-05 广州市百果园网络科技有限公司 一种视频转码的方法、装置、服务器和存储介质
CN111263243A (zh) * 2020-02-17 2020-06-09 网易(杭州)网络有限公司 视频编码方法、装置、计算机可读介质及电子设备
CN111327950A (zh) * 2020-03-05 2020-06-23 腾讯科技(深圳)有限公司 一种视频转码方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114430501A (zh) * 2021-12-28 2022-05-03 上海网达软件股份有限公司 一种用于文件转码的内容自适应编码的方法及***
CN115002520A (zh) * 2022-04-14 2022-09-02 百果园技术(新加坡)有限公司 一种视频流数据处理方法、装置、设备及存储介质
CN115002520B (zh) * 2022-04-14 2024-04-02 百果园技术(新加坡)有限公司 一种视频流数据处理方法、装置、设备及存储介质
CN115361571A (zh) * 2022-08-04 2022-11-18 武汉依迅北斗时空技术股份有限公司 云存储视频数据的播放方法和装置

Similar Documents

Publication Publication Date Title
JP6469788B2 (ja) メディアコンテンツの適応型ストリーミングのための品質情報の使用
EP3562163B1 (en) Audio-video synthesis method and system
CN106791956B (zh) 网络直播卡顿的处理方法及装置
US20220030244A1 (en) Content adaptation for streaming
CN111970565A (zh) 视频数据处理方法、装置、电子设备及存储介质
US20220232222A1 (en) Video data processing method and apparatus, and storage medium
US20140219634A1 (en) Video preview creation based on environment
US20170103577A1 (en) Method and apparatus for optimizing video streaming for virtual reality
CN110662114B (zh) 视频处理方法、装置、电子设备及存储介质
CN106688239A (zh) 视频下载方法、装置及***
CN111404882B (zh) 媒体流处理方法及装置
CN111083536B (zh) 调节视频码率的方法和装置
CN111093094A (zh) 视频转码方法、装置、***及电子设备及可读存储介质
US20200296470A1 (en) Video playback method, terminal apparatus, and storage medium
CN112584119A (zh) 一种基于强化学习的自适应全景视频传输方法及***
CN112153415B (zh) 一种视频转码方法、装置、设备及存储介质
CN112929712A (zh) 视频码率调整方法和装置
EP4152755A1 (en) Methods, systems, and apparatuses for adaptive bitrate ladder construction based on dynamically adjustable neural networks
CN111031032A (zh) 云端视频转码方法及装置、解码方法及装置、及电子设备
CN111263243A (zh) 视频编码方法、装置、计算机可读介质及电子设备
CN112866746A (zh) 一种多路串流云游戏控制方法、装置、设备及存储介质
CN105323593A (zh) 一种多媒体转码调度方法和装置
CN110784731B (zh) 一种数据流转码方法、装置、设备及介质
CN115209189B (zh) 一种视频流传输方法、***、服务器及存储介质
CN105338371A (zh) 一种多媒体转码调度方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201120