视频处理方法及装置与流程

文档序号:30414292发布日期:2022-06-15 10:41阅读:72来源:国知局
视频处理方法及装置与流程

1.本技术涉及计算机技术领域,特别涉及一种视频处理方法。本技术同时涉及一种视频处理装置,一种计算设备,以及一种计算机可读存储介质。


背景技术:

2.目前在视频行业,一般会对用户的原视频进行转码,以通过转码获得不同清晰度的视频,方便用户可以根据清晰度需求有选择的进行播放观看,但是视频转码就会涉及到对用户的原视频的重新处理,因为转码过程中的各种封装和编码协议的兼容问题,可能会出现各种各样的问题,例如转码后的视频会出现丢帧、掉帧或者是音画不同步的问题,极大的影响用户的视频观看体验。


技术实现要素:

3.有鉴于此,本技术实施例提供了一种视频处理方法。本技术同时涉及一种视频处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的转码后的视频会出现丢帧、掉帧或者是音画不同步的技术缺陷。
4.根据本技术实施例的第一方面,提供了一种视频处理方法,包括:
5.接收待转码视频,且在所述待转码视频的每个视频帧中设置一个包含视频参数的测试对象;
6.将所述待转码视频发送至预设视频转码系统进行视频转码,并接收所述视频转码系统返回的转码视频;
7.提取所述转码视频的每个视频帧中的测试对象,并获取所述转码视频的每个视频帧中的测试对象包含的视频参数;
8.基于所述转码视频的每个视频帧中测试对象包含的视频参数,确定所述待转码视频的转码结果。
9.根据本技术实施例的第二方面,提供了一种视频处理装置,包括:
10.视频接收模块,被配置为接收待转码视频,且在所述待转码视频的每个视频帧中设置一个包含视频参数的测试对象;
11.视频转码模块,被配置为将所述待转码视频发送至预设视频转码系统进行视频转码,并接收所述视频转码系统返回的转码视频;
12.对象提取模块,被配置为提取所述转码视频的每个视频帧中的测试对象,并获取所述转码视频的每个视频帧中的测试对象包含的视频参数;
13.转码结果确定模块,被配置为基于所述转码视频的每个视频帧中测试对象包含的视频参数,确定所述待转码视频的转码结果。
14.根据本技术实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述视频处理方法的步骤。
15.根据本技术实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述视频处理方法的步骤。
16.本技术提供的视频处理方法包括接收待转码视频,且在所述待转码视频的每个视频帧中设置一个包含视频参数的测试对象;将所述待转码视频发送至预设视频转码系统进行视频转码,并接收所述视频转码系统返回的转码视频;提取所述转码视频的每个视频帧中的测试对象,并获取所述转码视频的每个视频帧中的测试对象包含的视频参数;基于所述转码视频的每个视频帧中测试对象包含的视频参数,确定所述待转码视频的转码结果。
17.具体的,所述视频处理方法在待转码视频的每个视频帧中设置一个包含视频参数的测试对象,通过将转码前后的每个视频帧中测试对象包含的视频参数进行比对,可以快速且准确的判断出转码后的视频是否发生了丢帧、掉帧或者音画不同步的问题。
附图说明
18.图1是本技术一实施例提供的一种视频处理方法的流程图;
19.图2是本技术一实施例提供的一种视频处理方法中待转码视频的示意图;
20.图3是本技术一实施例提供的一种视频处理装置的结构示意图;
21.图4是本技术一实施例提供的一种计算设备的结构框图。
具体实施方式
22.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
23.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
24.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
25.首先,对本技术一个或多个实施例涉及的名词术语进行解释。
26.转码:对音视频进行重新编码的过程。
27.丢帧:视频转码后导致某些帧级别的视频画面丢失。
28.掉帧:视频转码后导致某些帧级别的视频画面丢失,并由相邻帧复制补充,但是视频画面在该时间段看起来会不流畅,好像卡顿了一样。
29.视频水印:在视频画面上增加一些文字或者贴图,例如视频上的台标/logo等。
30.音画不同步:视频的声音和画面不一致,表现上可能是声音较画面滞后,或者画面较声音滞后。
31.psnr:peak signal to noise ratio,即峰值信噪比,是一种评价图像的客观标准,它具有局限性,一般是用于最大值信号和背景噪音之间的一个工程项目。
32.ssim:structural similarity,结构相似性,是一种衡量两幅图像相似度的指标。
33.vmaf:video multimethod assessment fusion,视频质量多方法评价融合。
34.目前视频转码会涉及到对原视频的重新处理,而如何最大程度上保留原视频的视觉和听觉上的效果,就需要一套完整的评价体系去评价转码前后视频的变化程度,现有技术中在评价画质方面,业内有psnr、ssim以及vmaf等公认的画质评价体系,而这些画质评价体系只能在视觉上评价转码前后的视频画面是否出现问题,而无法判断转码后的视频是否出现丢帧、掉帧或者音画不同步等问题。
35.基于此,在本技术中,提供了一种视频处理方法,本技术同时涉及一种视频处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
36.参见图1,图1示出了根据本技术一实施例提供的一种视频处理方法的流程图,具体包括以下步骤。
37.步骤102:接收待转码视频,且在所述待转码视频的每个视频帧中设置一个包含视频参数的测试对象。
38.其中,待转码视频包括但不限于任意类型、任意时长的视频,例如包含三十个视频帧的娱乐类短视频,也可以是包含上百个视频帧的电视剧类型的长视频等。实际应用中,接收待转码视频还可以为根据用户需求生成的包含多个视频帧的待转码视频。
39.具体的,接收待转码视频后,可以在待转码视频的每个视频帧中设置一个包含视频参数的测试对象,其中,测试对象的形式包括但不限于二维码、条形码或者是其他任何形状的标识块等。为了便于理解,本技术实施例均以测试对象为二维码为例进行说明。
40.实际应用中,视频参数包括但不限于测试对象所在视频帧的视频帧序号、测试对象所在视频帧之前的音频帧数量、测试对象所在视频帧的视频帧分辨率、测试对象所在视频帧的颜色空间、测试对象所在视频帧的时间戳等等;具体实施时,视频参数还可以扩展到可记录原视频的一些封装层和编码层的参数信息,这些参数信息不会随着视频转码丢失,后续通过记录的封装层和编码层的信息,可以将待转码视频的视频信息都放到视频帧画面上,当在视频转码后视频信息发生了改变的情况下,我们可以同时有待转码视频的编码层信息、封装层信息以及转码后的待转码视频的编码层信息、封装层信息,通过这些编码层信息、封装层信息的比对,也可以辅助判断待转码视频在转码中发生了什么异常,数据发生了哪些改变,可以为后期的数据统计提供基础。
41.以待转码视频包括三个视频帧:视频帧1、视频帧2、视频帧3为例,其中,视频帧1、视频帧2以及视频帧3中分别设置一个包含视频参数的二维码的水印,每个二维码的水印中携带有二维码所在视频帧的所有相关参数,例如当前视频帧的视频帧序号、当前视频帧的时间戳、当前视频帧前面的音频帧数量、当前视频帧前面的画面分辨率以及当前视频帧的颜色空间等各种信息。
42.参见图2,图2示出了根据本技术一实施例提供的一种视频处理方法中待转码视频的示意图。
43.图2中的待转码视频包括视频帧1、视频帧2、视频帧3,视频帧1的右上角设置有包含视频参数的二维码a,视频帧2的右上角设置有包含视频参数的二维码b,视频帧3的右上
角设置有包含视频参数的二维码c,其中,视频帧1、视频帧2以及视频帧3中的视频参数:视频帧序号以及当前视频帧前面的音频帧数量是按照视频帧的排列顺序逐帧递增的。例如视频帧1的二维码a中包含的视频参数:视频帧序号为1,当前视频帧前面的音频帧数量为3;视频帧2的二维码b中包含的视频参数:视频帧序号则为2,当前视频帧前面的音频帧数量则为视频帧1前面的音频帧数量3累计加上视频帧1与视频帧2之间的音频帧数量4之后的音频帧数量7;视频帧3的二维码c中包含的视频参数:视频帧序号则为3,当前视频帧前面的音频帧数量则为视频帧2前面的音频帧数量7累计加上视频帧2与视频帧3之间的音频帧数量3之后的音频帧数量10。
44.实际应用中,待转码视频的每个视频帧中都会有一个测试对象(如二维码水印),该测试对象在每个视频帧中的位置可以相同也可以不同,具体根据实际需求进行设置,本技术对此不做任何限定。
45.步骤104:将所述待转码视频发送至预设视频转码系统进行视频转码,并接收所述视频转码系统返回的转码视频。
46.其中,预设视频转码系统包括任意一个待进行转码质量测试的视频转码系统。
47.具体的,将该待转码视频发送至特定的进行转码质量测试的视频转码系统中进行转码,然后接收该视频转码系统返回的对待转码视频转码后生成的转码视频。
48.步骤106:提取所述转码视频的每个视频帧中的测试对象,并获取所述转码视频的每个视频帧中的测试对象包含的视频参数。
49.实际应用中,由于待转码视频的每个视频帧中均包含一个测试对象,而该测试对象一般不会随着转码而丢失或者出现乱码等,那么在转码后,转码视频的每个视频帧中也包含一个测试对象,且每个测试对象中也包含针对所在视频帧的视频参数。
50.具体的,接收转码视频后,提取该转码视频的每个视频帧中的测试对象,并获取转码视频的每个视频帧中测试对象包含的视频参数,例如视频帧序号、视频帧分辨率、视频帧的颜色空间、视频帧的时间戳、转码视频的封装层以及编码层的信息等。
51.步骤108:基于所述转码视频的每个视频帧中测试对象包含的视频参数,确定所述待转码视频的转码结果。
52.具体的,在获得转码视频的每个视频帧中测试对象包含的视频参数之后,可以通过视频参数中逐帧递增的参数的线性递增关系判断待转码视频在转码的过程中是否出现丢帧、掉帧或者音画不同步,也可以通过视频参数中固定的参数信息判断待转码视频与转码视频转码前后的对应视频帧中的固定参数是否发生了变化,以此确定待转码视频在转码的过程中是否出现丢帧、掉帧或者音画不同步的情况,具体如下所示:
53.所述基于所述转码视频的每个视频帧中测试对象包含的视频参数,确定所述待转码视频的转码结果,包括:
54.将所述待转码视频的每个视频帧中的测试对象包含的视频参数逐帧排列,以形成第一序号序列;以及
55.将所述转码视频的每个视频帧中测试对象包含的视频参数逐帧排列,以形成第二序号序列;
56.将所述第一序号序列与所述第二序号序列进行比对,在所述第一序号序列与所述第二序号序列全部匹配的情况下,确定所述待转码视频转码成功。
57.其中,所述视频参数包括但不限于视频帧序号、音频帧数量、视频帧分辨率、视频帧颜色空间、视频帧时间戳、视频封装信息以及视频编码信息等。
58.具体的,将待转码视频的每个视频帧中测试对象包含的视频参数,按照待转码视频中所有视频帧的排列顺序逐帧排列,以形成第一序号序列;同时,将转码视频的每个视频帧中测试对象包含的视频参数,按照转码视频中所有视频帧的排列顺序逐帧排列,以形成第二序号序列。
59.然后将第一序号序列和第二序号序列进行比对,若第一序号序列与第二序号序列全部匹配,则可以确定待转码视频在转码的过程中没有出现丢帧、掉帧以及音画不同步的情况,则视频转码成功,若第一序号序列与第二序号序列不匹配,例如若第一序号序列中有3个视频参数,而第二序号序列中有4个视频参数,则可以确定待转码视频在转码的过程中可能出现掉帧的情况,而若第一序号序列中有3个视频参数,而第二序号序列中有2个视频参数,则可以确定待转码视频在转码的过程中可能出现丢帧的情况,那么待转码视频进行视频转码失败,此时则可以基于不匹配的序号找出错误视频帧,对错误视频帧进行分析后,可以基于具体的分析结果对视频转码系统进行修复调整;又或者第一序号序列中的某个视频参数与第二序号序列中的某个视频参数不匹配,则也可以说明待转码视频转码不成功,具体情况如下所示。
60.本说明书实施例中,通过将转码前后的每个视频帧中测试对象包含的视频参数进行比对,可以快速且准确的判断出转码后的转码视频是否出现丢帧、掉帧或者音画不同步的情况。
61.具体的,所述视频参数包括视频帧序号;
62.相应的,所述基于所述转码视频的每个视频帧中测试对象包含的视频参数,确定所述待转码视频的转码结果,包括:
63.将所述待转码视频的每个视频帧中的测试对象包含的视频帧序号逐帧排列,以形成第一序号序列,以及将所述转码视频的每个视频帧中测试对象包含的视频帧序号逐帧排列,以形成第二序号序列;
64.将所述第一序号序列与所述第二序号序列进行比对,在所述第一序号序列与所述第二序号序列匹配的情况下,确定所述待转码视频转码成功。
65.具体实施时,以视频参数为视频帧序号为例,对待转码视频转码是否成功进行判断。
66.具体的,将待转码视频的每个视频帧中测试对象包含的视频帧序号,按照待转码视频中所有视频帧的排列顺序逐帧排列,以形成第一序号序列。
67.沿用上例,将待转码视频的每个视频帧中测试对象包含的视频帧序号,按照待转码视频中所有视频帧的排列顺序逐帧排列,形成的第一序号序列为【1、2、3】。
68.同时,将转码视频的每个视频帧中测试对象包含的视频帧序号,按照转码视频中所有视频帧的排列顺序逐帧排列,以形成第二序号序列。
69.例如,转码视频仍包括三个顺序排列的视频帧:视频帧1、视频帧2和视频帧3,那么将转码视频的每个视频帧中测试对象包含的视频帧序号,按照转码视频中所有视频帧的排列顺序逐帧排列,形成的第二序号序列为【1、2、3】。
70.那么将第一序号序列和第二序号序列进行比对,可以确定第一序号序列与第二序
号序列全部匹配,此时则可以确定待转码视频转码成功,而待转码视频转码成功则可以说明当前的视频转码系统的转码质量良好。
71.此外,若待转码视频包括的顺序排列的三个视频帧为:视频帧1、视频帧3和视频帧2,那么将转码视频的每个视频帧中测试对象包含的视频帧序号,按照转码视频中所有视频帧的排列顺序逐帧排列,形成的第二序号序列为【1、3、2】。
72.此时,将第一序号序列和第二序号序列进行比对,则可以确定第一序号序列与第二序号序列不匹配,视频帧2和视频帧3在转码的过程中发生了错乱,那么待转码视频转码不成功,而实际应用中,转码视频中还有可能包括四个视频,例如某个视频帧重复转码(即掉帧),又或者包括两个视频帧,例如某个视频帧丢帧了,这几种情况下,获得的第二序号序列与第一序号序列也不会匹配,也可以说明待转码视频的转码结果不成功,可能需要基于出现问题的视频帧对视频转码系统进行修复调整。
73.本技术实施例中,通过将所述待转码视频的每个视频帧中的测试对象包含的视频参数逐帧排列形成的第一序号序列,与将所述转码视频的每个视频帧中测试对象包含的视频参数逐帧排列形成的第二序号序列进行比对,根据比对结果可以快速准确的判断出待转码视频的转码结果是否正确,提升用户体验。
74.实际应用中,所述将所述第一序号序列与所述第二序号序列进行比对之后,还包括:
75.在所述第一序号序列与所述第二序号序列不匹配的情况下,确定所述第一序号序列与所述第二序号序列中不匹配序号对应的视频帧,将所述第一序号序列与所述第二序号序列中不匹配序号对应的视频帧作为验证视频帧;
76.在所述验证视频帧满足预设转码条件的情况下,确定所述待转码视频转码成功。
77.其中,预设转码条件根据实际应用进行设置,本技术对此不做任何限定,例如预设转码条件为视频帧1可以有重复帧或者是视频帧2在转码的过程中可以丢帧。
78.沿用上例,若转码视频包括顺序排列的两个视频帧:视频帧1和视频帧3,将转码视频中每个视频帧中的测试对象包含的视频帧序号按照转码视频中所有视频帧的排列顺序逐帧排列,形成的第二序号序列为【10、12】;那么第一序号序列【10、11、12】与第二序号序列【10、12】则不匹配,此时确定的第二序号序列中与第一序号序列不匹配的视频帧序号为11,则不匹配的视频帧序号对应的视频帧为待转码视频中的视频帧2,那么视频帧2则为验证视频帧。
79.若预设转码条件为视频帧2需要在视频转码的过程丢帧,根据该预设转码条件可以确定该验证视频帧满足该预设转码条件,此时也可以说明待转码视频转码成功。
80.本说明书实施例中,由于具体的视频转码场景不同,一些特殊视频转码场景中为了视频特效等需求会允许在视频转码的过程中出现丢帧、掉帧等情况的发生,因此在第一序号序列和第二序号序列不匹配的情况下,还需要基于具体应用场景中的预设转码条件再次验证待转码视频是否转码成功,以扩大本技术提供的视频处理方法的应用场景,提升用户使用体验。
81.具体实施时,通过转码前后的视频帧序号的比对只能判断转码前后的视频是否发生了丢帧、掉帧的情况,而实际应用中,每个视频均配对有音频,音频帧会设置在对应的视频帧之前,若视频转码的过程中出现了音频帧与视频帧的错位或者是音频帧的丢失,都会
造成音画不同步的情况发生,会极大的影响用户的观看体验,因此在基于转码前后的视频帧序号的比对确定前后的视频转码成功的情况下,还需要对转码前后的视频中的音频进行核验,具体实现方式如下所述:
82.所述视频参数包括音频帧数量;
83.相应的,所述确定所述待转码视频转码成功,包括:
84.获取所述转码视频的每个视频帧之前的当前音频帧数量;
85.在所述当前音频帧数量与所述转码视频的每个视频帧中的测试对象包含的音频帧数量相同的情况下,确定所述待转码视频转码成功。
86.具体的,在确定第一序号序列与第二序号序列匹配的情况下,获取转码视频的每个视频帧之前的当前音频帧数量,该当前音频帧数量为转码后每个视频帧之前的实际的音频帧数量。
87.沿用上例,若转码视频仍包括视频帧1、视频帧2和视频帧3,获取的该转码视频的视频帧1的当前音频帧数量为3,该转码视频的视频帧2的当前音频帧数量为7,该转码视频的视频帧3的当前音频帧数量为10。
88.而该转码视频的视频帧1中的测试对象包含的音频帧数量也为3,该转码视频的视频帧1中的测试对象包含的音频帧数量也为7,该转码视频的视频帧1中的测试对象包含的音频帧数量也为10;此种情况下,可以确定该转码视频的每个视频帧之前的实际音频帧数量与该转码视频的每个视频帧中二维码包含的音频帧数量相同,此时则可以确定转码前后的视频不仅视频帧没有发生丢帧、掉帧,且音频帧没有发生丢帧,音频帧与视频帧之间的顺序也都相同,该转码前后的视频也不存在音画不同步的问题。
89.本说明书另一实施例中,所述将所述第一序号序列与所述第二序号序列进行比对之后,还包括:
90.在所述第一序号序列与所述第二序号序列不匹配的情况下,确定所述第一序号序列与所述第二序号序列中不匹配序号对应的视频帧,将所述第一序号序列与所述第二序号序列中不匹配序号对应的视频帧作为验证视频帧;
91.在所述验证视频帧满足预设转码条件的情况下,获取所述转码视频的每个视频帧之前的当前音频帧数量;
92.在所述当前音频帧数量与所述转码视频的每个视频帧中的测试对象包含的音频帧数量相同的情况下,确定所述待转码视频转码成功。
93.其中,预设转码条件的详细介绍可以参见上述实施例,在此不再赘述。
94.实际应用中,在第一序号序列和第二序号序列不匹配的情况下,但是不匹配的验证视频帧满足预设转码条件,此时,若转码视频的每个视频帧之前的实际音频帧数量与转码视频的每个视频帧中二维码包括的音频帧数量相同,则可以确定不仅转码后的视频符合转码需求,且转码后的视频也没有出现音画不同步的情况发生,极大的提升用户体验。
95.本说明书实施例中,还可以直接通过对转码前后的视频的每个视频帧中音频帧数量的比对,快速的确定待转码视频是否转码成功,具体如下所述:
96.具体的,所述视频参数包括音频帧数量;
97.所述基于所述转码视频的每个视频帧中测试对象包含的视频参数,确定所述待转码视频的转码结果,包括:
98.获取所述转码视频的每个视频帧之前的当前音频帧数量;
99.在所述当前音频帧数量与所述转码视频的每个视频帧中的测试对象包含的音频帧数量相同的情况下,确定所述待转码视频转码成功。
100.具体实施时,计算机可以自动获取并统计出转码视频的每个视频帧之前的实际音频帧数量。
101.具体的,判断所述当前音频帧数量是否与所述转码视频的每个视频帧中的测试对象包含的音频帧数量相同的方式可以参见如下所述:
102.将所述转码视频的每个视频帧中测试对象包含的音频帧数量逐帧排列,以形成第三序号序列;
103.将获取的所述转码视频的每个视频帧之前的当前音频帧数量逐帧排列,以形成第四序号序列;
104.将所述第三序号序列与所述第四序号序列进行比对,在所述第三序号序列与所述第四序号序列全部匹配的情况下,确定所述当前音频帧数量与所述转码视频的每个视频帧中的测试对象包含的音频帧数量相同,此时可以确定所述待转码视频转码成功。
105.具体的,待转码视频的每个视频帧中测试对象包含的音频帧数量,按照转码视频中所有视频帧的排列顺序逐帧排列,以形成第三序号序列。
106.沿用上例,转码视频为:视频帧1、视频帧2和视频帧3,将转码视频的每个视频帧中测试对象包含的音频帧数量,按照转码视频中所有视频帧的排列顺序逐帧排列,形成的第三序号序列为【3、7、10】。
107.将获取的转码视频的每个视频帧之前的当前音频帧数量,按照转码视频中所有视频帧的排列顺序逐帧排列,以形成第四序号序列。
108.例如获取的转码视频的视频帧1之前的音频帧数量为3,获取的转码视频的视频帧2之前的音频帧数量为7,获取的转码视频的视频帧3之前的音频帧数量为10,那么形成的第四序号序列为【3、7、10】。
109.此时,将第三序号序列与所述第四序号序列进行比对,可以确定第三序号序列与所述第四序号序列全部匹配,则确定待转码视频转码成功,而若获取的转码视频的视频帧1之前的音频帧数量为3,获取的转码视频的视频帧2之前的音频帧数量为6,获取的转码视频的视频帧3之前的音频帧数量为10,那么形成的第四序号序列为【3、6、10】,此时可以确定第三序号序列【3、7、10】与第四序号序列【3、6、10】不匹配,当前音频帧数量与转码视频的每个视频帧中的测试对象包含的音频帧数量不相同,则可以确定转码视频中的视频帧2之前丢失了一个音频帧,而转码视频中视频帧3之前多了一个音频帧,转码视频中的音频帧与视频帧之间发生位置错乱,实际播放时会造成音画不同步的情况发生。而实际应用中,还有可能发生所有的音频帧均在转码视频中的某一个视频帧前面的情况,例如转码视频中的视频帧1之前的音频帧数量为0,视频帧2之前的音频帧数量也为0,而视频帧3之前的音频帧数量为10;又或者转码视频中的视频帧1之前的音频帧数量为0,视频帧2之前的音频帧数量为10,而视频帧3之前的音频帧数量也为10;出现上述情况,均可以确定转码视频出现音画不同步的问题。
110.本说明书实施例中,通过将待转码后的转码视频的每个视频帧中测试对象包含的音频帧数量与实际获取的转码视频的每个视频帧的音频帧数量进行比对,可以准确的判断
出待转码视频的转码结果是否成功。
111.本说明书另一实施例中,通过转码前后的视频帧序号的比对只能判断转码前后的视频是否发生了丢帧、掉帧的情况,而在实际的视频转码过程中,视频帧的分辨率也可能会发生改变,例如将低分辨率的视频转为高分辨率的视频,此时在转码前后的视频帧序号相同的情况下,可能转码后的转码视频的视频分辨率与转码前的待转码视频的视频分辨率不同,而该转码视频也是符合具体场景要求的成功的待转码视频,具体如下所述:
112.所述视频参数包括视频帧分辨率;
113.相应的,所述确定所述待转码视频转码成功,包括:
114.获取所述转码视频的每个视频帧的当前视频帧分辨率;
115.在所述当前视频帧分辨率与所述转码视频的每个视频帧中的测试对象包含的视频帧分辨率不相同的情况下,将所述转码视频中与所述当前视频帧分辨率不相同的视频帧作为验证视频帧;
116.在所述验证视频帧满足预设转码条件的情况下,确定所述待转码视频转码成功。
117.其中,当前视频帧分辨率可以理解为实际视频帧分辨率。
118.具体的,在进行转码前后的视频的视频参数比较时,即使转码后的转码视频的每个视频帧的实际视频帧分辨率与转码视频的每个视频帧中的测试对象包含的视频帧分辨率不相同,但是视频帧分辨率不相同的转码视频的视频帧是符合具体应用场景设置的预设转码条件的情况下,也可以认为该待转码视频转码成功。
119.与该方案对应,当转码前后的视频的视频帧颜色空间不同的情况下,也可以进行如下判断:
120.所述视频参数包括视频帧颜色空间;
121.相应的,所述确定所述待转码视频转码成功,包括:
122.获取所述转码视频的每个视频帧的当前视频帧颜色空间;
123.在所述当前视频帧颜色空间与所述转码视频的每个音频帧中的测试对象包含的视频帧颜色空间不相同的情况下,将所述转码视频中与所述当前视频帧颜色空间不相同的视频帧作为验证视频帧;
124.在所述验证视频帧满足预设转码条件的情况下,确定所述待转码视频转码成功。
125.其中,当前视频帧颜色空间可以理解为实际视频帧颜色空间。
126.具体的,在进行转码前后的视频的视频参数比较时,即使转码后的转码视频的每个视频帧的实际视频帧颜色空间与转码视频的每个视频帧中的测试对象包含的视频帧颜色空间不相同,但是视频帧颜色空间不相同的转码视频的视频帧是符合具体应用场景设置的预设转码条件的情况下,也可以认为该待转码视频转码成功。
127.本说明书实施例中,在基于转码前后的视频的每个视频帧中测试对象包含的视频参数对待转码视频的转码结果判定时,不会仅简单的以视频参数是否匹配来确定待转码视频的转码结果,会基于实际应用场景中设置的预设转码条件与视频参数之间的关系准确的对待转码视频的转码结果进行确定。
128.本说明书实施例中,在某些场景下,还可以仅分别通过转码前后的视频的视频帧中测试对象包含的视频帧序号、音频帧数量、视频帧分辨率以及颜色空间的比对关系对待转码视频的转码结果进行判断,例如要求转码前后的视频帧分辨率以及颜色空间不能发生
改变,则可以仅通过转码前后的视频帧分辨率以及颜色空间的比对关系,即可以确定待转码视频的转码结果。
129.此外,还可以将转码前后的视频的视频帧中测试对象包含的视频帧序号与音频帧数量、视频帧分辨率、颜色空间进行结合比对,以实现对待转码视频的转码结果进行判断,例如在通过视频帧序号确定待转码视频的视频帧没有发生丢帧、掉帧的情况下,结合音频帧数量判断待转码视频的转码结果是否会出现音画不同步的情况;在通过视频帧序号确定待转码视频的视频帧没有发生丢帧、掉帧的情况下,还可以结合视频帧分辨率或者颜色空间等判断待转码视频的转码是够是否出现视频帧画面变质的情况,具体的结合使用方法可以根据实际需求进行设置,本技术对此不做任何限定。
130.本说明书另一实施例中,所述视频参数包括视频帧封装信息;
131.相应的,所述确定所述待转码视频转码成功,包括:
132.获取所述转码视频的每个视频帧的当前视频帧封装信息;
133.在所述当前视频帧封装信息与所述转码视频的每个视频帧中的测试对象包含的视频帧封装信息不相同的情况下,将所述转码视频中与所述当前视频帧封装信息不相同的视频帧作为验证视频帧;
134.在所述验证视频帧满足预设转码条件的情况下,确定所述待转码视频转码成功。
135.其中,视频帧封装信息包括封装层和编码层的参数信息,例如视频帧的编码格式、封装序号等等。而当前视频帧封装信息可以理解为实际视频帧封装信息。
136.实际应用中,待转码视频的每个视频帧中的测试对象均包含有对应的视频帧封装信息,而该视频帧封装信息不会随着视频转码丢失,因此在将待转码视频转码为转码视频后,可以将待转码视频的视频帧封装信息和转码后的转码视频的视频帧封装信息进行比对,可以有效的判断转码视频在转码中出现了什么异常,与待转码视频相比,转码视频中的视频帧和/或音频帧发生了哪些改变等。可以仅通过转码前后的视频帧中测试对象包含的视频帧封装信息,即可以快速的确定待转码视频的转码结果。
137.本说明书实施例中,所述视频处理方法在待转码视频的每个视频帧中设置一个包含视频参数的测试对象,通过将转码前后的每个视频帧中测试对象包含的视频参数进行比对,可以快速且准确的判断出转码后的视频是否发生了丢帧、掉帧或者音画不同步的问题。
138.与上述方法实施例相对应,本技术还提供了视频处理装置实施例,图3示出了本技术一实施例提供的一种视频处理装置的结构示意图。如图3所示,该装置包括:
139.视频接收模块302,被配置为接收待转码视频,且在所述待转码视频的每个视频帧中设置一个包含视频参数的测试对象;
140.视频转码模块304,被配置为将所述待转码视频发送至预设视频转码系统进行视频转码,并接收所述视频转码系统返回的转码视频;
141.对象提取模块306,被配置为提取所述转码视频的每个视频帧中的测试对象,并获取所述转码视频的每个视频帧中的测试对象包含的视频参数;
142.转码结果确定模块308,被配置为基于所述转码视频的每个视频帧中测试对象包含的视频参数,确定所述待转码视频的转码结果。
143.可选的,所述转码结果确定模块308,进一步被配置为:
144.将所述待转码视频的每个视频帧中的测试对象包含的视频参数逐帧排列,以形成
第一序号序列;以及
145.将所述转码视频的每个视频帧中测试对象包含的视频参数逐帧排列,以形成第二序号序列;
146.将所述第一序号序列与所述第二序号序列进行比对,在所述第一序号序列与所述第二序号序列全部匹配的情况下,确定所述待转码视频转码成功。
147.可选的,所述视频参数包括视频帧序号;
148.相应的,所述转码结果确定模块308,进一步被配置为:
149.将所述待转码视频的每个视频帧中的测试对象包含的视频帧序号逐帧排列,以形成第一序号序列,以及将所述转码视频的每个视频帧中测试对象包含的视频帧序号逐帧排列,以形成第二序号序列;
150.将所述第一序号序列与所述第二序号序列进行比对,在所述第一序号序列与所述第二序号序列匹配的情况下,确定所述待转码视频转码成功。
151.可选的,所述装置,还包括:
152.第一验证模块,被配置为:
153.在所述第一序号序列与所述第二序号序列不匹配的情况下,确定所述第一序号序列与所述第二序号序列中不匹配序号对应的视频帧,将所述第一序号序列与所述第二序号序列中不匹配序号对应的视频帧作为验证视频帧;
154.在所述验证视频帧满足预设转码条件的情况下,确定所述待转码视频转码成功。
155.可选的,所述视频参数包括音频帧数量;
156.相应的,所述转码结果确定模块308,进一步被配置为:
157.获取所述转码视频的每个视频帧之前的当前音频帧数量;
158.在所述当前音频帧数量与所述转码视频的每个音频帧中的测试对象包含的音频帧数量相同的情况下,确定所述待转码视频转码成功。
159.可选的,所述装置,还包括:
160.第二验证模块,被配置为:
161.在所述第一序号序列与所述第二序号序列不匹配的情况下,确定所述第一序号序列与所述第二序号序列中不匹配序号对应的视频帧,将所述第一序号序列与所述第二序号序列中不匹配序号对应的视频帧作为验证视频帧;
162.在所述验证视频帧满足预设转码条件的情况下,获取所述转码视频的每个视频帧之前的当前音频帧数量;
163.在所述当前音频帧数量与所述转码视频的每个音频帧中的测试对象包含的音频帧数量相同的情况下,确定所述待转码视频转码成功。
164.可选的,所述视频参数包括视频帧分辨率;
165.相应的,所述转码结果确定模块308,进一步被配置为:
166.获取所述转码视频的每个视频帧的当前视频帧分辨率;
167.在所述当前视频帧分辨率与所述转码视频的每个音频帧中的测试对象包含的视频帧分辨率不相同的情况下,将所述转码视频中与所述当前视频帧分辨率不相同的视频帧作为验证视频帧;
168.在所述验证视频帧满足预设转码条件的情况下,确定所述待转码视频转码成功。
169.可选的,所述视频参数包括视频帧颜色空间;
170.相应的,所述转码结果确定模块308,进一步被配置为:
171.获取所述转码视频的每个视频帧的当前视频帧颜色空间;
172.在所述当前视频帧颜色空间与所述转码视频的每个音频帧中的测试对象包含的视频帧颜色空间不相同的情况下,将所述转码视频中与所述当前视频帧颜色空间不相同的视频帧作为验证视频帧;
173.在所述验证视频帧满足预设转码条件的情况下,确定所述待转码视频转码成功。
174.可选的,所述视频参数包括视频帧封装信息;
175.相应的,所述转码结果确定模块308,进一步被配置为:
176.获取所述转码视频的每个视频帧的当前视频帧封装信息;
177.在所述当前视频帧封装信息与所述转码视频的每个视频帧中的测试对象包含的视频帧封装信息不相同的情况下,将所述转码视频中与所述当前视频帧封装信息不相同的视频帧作为验证视频帧;
178.在所述验证视频帧满足预设转码条件的情况下,确定所述待转码视频转码成功。
179.可选的,所述测试对象包括二维码。
180.本说明书实施例中,所述视频处理装置在待转码视频的每个视频帧中设置一个包含视频参数的测试对象,通过将转码前后的每个视频帧中测试对象包含的视频参数进行比对,可以快速且准确的判断出转码后的视频是否发生了丢帧、掉帧或者音画不同步的问题。
181.上述为本实施例的一种视频处理装置的示意性方案。需要说明的是,该视频处理装置的技术方案与上述的视频处理方法的技术方案属于同一构思,视频处理装置的技术方案未详细描述的细节内容,均可以参见上述视频处理方法的技术方案的描述。
182.图4示出了根据本技术一实施例提供的一种计算设备400的结构框图。该计算设备400的部件包括但不限于存储器410和处理器420。处理器420与存储器410通过总线430相连接,数据库450用于保存数据。
183.计算设备400还包括接入设备440,接入设备440使得计算设备400能够经由一个或多个网络460通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备440可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
184.在本技术的一个实施例中,计算设备400的上述部件以及图4中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图4所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
185.计算设备400可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备400还可以是移动式或静止式的服务器。
186.其中,处理器420执行所述指令时实现所述的视频处理方法的步骤。
187.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的视频处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述视频处理方法的技术方案的描述。
188.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述视频处理方法的步骤。
189.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的视频处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述视频处理方法的技术方案的描述。
190.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
191.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
192.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
193.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
194.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1