视频转码方法和装置的制造方法

文档序号:10539305阅读:208来源:国知局
视频转码方法和装置的制造方法
【专利摘要】本发明公开了一种视频转码方法和装置,该方法包括:对视频进行帧速率变换分析,获取帧速率变换结果信息以及IDR帧的位置信息,根据IDR帧的位置信息将视频分割成多个第一切片;按照时间顺序和预设规则将全部第一切片拼接为多个第二切片;根据帧速率变换结果信息对全部第二切片进行编码处理,得到视频的统计文档;根据统计文档中的预判帧类型,确定视频的场景切换位置;根据场景切换位置将全部第一切片拼接为多个第三切片;根据帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件。基于逻辑切片转码,能够在逻辑切片的基础上,进一步提升分片转码的效率,并尽量保证转码的质量。
【专利说明】
视频转码方法和装置
技术领域
[0001]本发明属于视频技术领域,具体地说,涉及一种视频转码方法和装置。
【背景技术】
[0002]转码在视频行业是一个非常重要的环节,每个视频在上线之前都要经过转码,否则过大的视频源会占用用户过多的带宽。每天会有数以万计的视频都有转码的需求,那么,转码的效率就显得非常重要。如何提高转码的效率并降低转码的时间一直是视频领域研究的方向。
[0003]对一个视频分片并行转码就是个很好的解决方案,然而目前业界存在的并行解决方案均为物理切片转码。物理切片转码不但在切片上存在弊端,会将相关的视频内容分割到不同的分片中去,在性能的提升上也有局限。
[0004]现有的物理切片方案,都是将视频分割成若干个小片,而这些小片还是独立封装好的小视频。每次对这些小视频进行转码时,都必须进行一次解封装,再解码,再编码才能完成。

【发明内容】

[0005]有鉴于此,本发明实施例提供了一种视频转码方法和装置,用以解决现有技术中将视频文件分割为物理切片再进行转码时效率低下的技术问题。
[0006]为了解决上述技术问题,本发明公开了一种视频转码方法,包括:
[0007]对视频进行帧速率变换分析,获取帧速率变换结果信息以及IDR帧的位置信息,根据所述IDR帧的位置信息将视频分割成多个第一切片;按照时间顺序和预设规则将全部第一切片拼接为多个第二切片;根据所述帧速率变换结果信息对全部第二切片进行编码处理,得到所述视频的统计文档;根据所述统计文档中的预判帧类型,确定所述视频的场景切换位置;根据所述场景切换位置将全部第一切片拼接为多个第三切片;根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件。
[0008]为了解决上述技术问题,本发明还公开了一种视频转码装置,包括:视频处理模块,用于对视频进行帧速率变换分析,获取帧速率变换结果信息以及IDR帧的位置信息,根据所述IDR帧的位置信息将视频分割成多个第一切片;第一拼接模块,用于按照时间顺序和预设规则将全部第一切片拼接为多个第二切片;第一编码模块,用于根据所述帧速率变换结果信息对全部第二切片进行编码处理,得到所述视频的统计文档;确定模块,用于根据所述统计文档中的预判帧类型,确定所述视频的场景切换位置;第二拼接模块,用于根据所述场景切换位置将全部第一切片拼接为多个第三切片;第二编码模块,用于根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件。
[0009]为了解决上述技术问题,本发明还公开了一种视频转码装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:对视频进行帧速率变换分析,获取帧速率变换结果信息以及IDR帧的位置信息,根据所述IDR帧的位置信息将视频分割成多个第一切片;按照时间顺序和预设规则将全部第一切片拼接为多个第二切片;根据所述帧速率变换结果信息对全部第二切片进行编码处理,得到所述视频的统计文档;根据所述统计文档中的预判帧类型,确定所述视频的场景切换位置;根据所述场景切换位置将全部第一切片拼接为多个第三切片;根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件。
[0010]与现有技术相比,本发明实施例提供的视频转码方法和装置,是基于逻辑切片转码,能够在逻辑切片(按内容分割切片)的基础上,进一步提升分片转码的效率,并尽量保证转码的质量;对视频进行帧速率变换分析时由于是采用一遍完整的扫描,因此得到的结果与整片转码时帧率变换计算出来的结果完全一致,并避免了传统的切片转码方式可能会出现的错误,帧速率变换分析只做一遍,后续的Ipass和2pass编码都会复用这个变换的结果,不会像物理切片那样每个pass都要做一遍,也会节省转码时间,能够大幅提高视频转码的效率。
【附图说明】
[0011]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012]图1是本发明实施例1的流程不意图。
[0013]图2是本发明实施例3的流程示意图。
[0014]图3是本发明实施例4的流程不意图。
[0015]图4是本发明实施例5的结构示意图。
[0016]图中各附图标记的含义如下:100为视频转码装置;I为视频处理模块,2为第一拼接模块,3为第一编码模块,4为确定模块,5为第二拼接模块,6为第二编码模块。
【具体实施方式】
[0017]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]实施例1
[0019]本实施例中视频转码方法,如图1所示,包括:
[0020]首先,对视频进行帧速率变换分析,获取帧速率变换结果信息以及IDR帧的位置信息,根据所述IDR帧的位置信息将视频分割成多个第一切片;如,视频源进入到解封装单元,在这个部分,视频源会被全面扫描一遍,首先对视频源进行解封装,即去掉码流容器,剩下裸码流。然后每到一个IDR帧(关键帧)开始存储,到下一个IDR帧(关键帧)结束存储,以此类推,最终生成若干个裸码流小分片。同时帧速率变换分析过程中也进行了时间戳的比对,从而计算出插帧和丢帧的位置信息。
[0021]由于IDR帧是视频当前的物理切片的第一帧,因此此时获得的第一切片纳即为视频当前的物理切片。在有些情况下,会先将视频的现有物理切片做进一步切分处理后,再对视频进行帧速率变换分析,获取帧速率变换结果信息以及IDR帧的位置信息,根据所述IDR帧的位置信息将视频分割成多个第一切片。例如,视频现有的物理切片的时长为6秒/片,进一步切分为2秒/片,那么切分后的2秒/片的第一帧仍然为IDR帧,可根据进一步切分后的IDR帧的位置信息将视频分割成多个第一切片,此时获得第一切片是视频的原物理切片被进一步分割后的物理切片。
[0022]IDR帧的位置即为视频当前的物理切片的起始位置。IDR帧相对于普通I帧而言,头部还包括了添加序列参数集(Sequence Parameter Set,SPS)和图像参数集(PictureParameter Set,PPS)这两个网络抽象层单元(Network Abstract Layer Unit,NALU)以及分隔符。例如,“00 00 00 01 67 43 00 IF 00 00 00 01 68 CE 07 F2”,其中,00 00 0001为分隔符,“67 43 00 1F”为SPS,“68 CE 07 F2”为PPS,编码“67“通过预设编码转换方法可以和SPS的NALU类型标识对应,编码“68 “通过预设编码转换方法可以和PPS的NALU类型标识对应。由于当解码器解码到IDR帧时,会立即将参考帧队列(DecodedPictureBuff er,DPB)清空,因此,在SPS和PPS中还包括再次初始化解码器所需要的参数信息。
[0023]IDR帧会导致DPB清空,而I帧不会。IDR帧一定属于I帧,但I帧不一定是IDR帧。一个图像序列中可以有很多的I帧,I帧之后的帧可以引用I帧之间的图像做运动参考,位于普通I帧之后的B帧和P帧可以引用位于此I帧之前的其他I帧。从随机存取的视频流中,播放器永远可以从一个IDR帧播放,因为在它之后没有任何帧引用之前的帧。但是,不能在一个没有IDR帧的视频中从任意点开始播放,因为后面的帧总是会引用前面的帧。
[0024]在视频码流中识别出IDR帧所在位置后,以IDR帧进行划片,划分为多个第一切片,此时的第一切片即为视频的物理切片,可以视为对视频的一种分片,不再需要进行实际的视频切割,只需要根据IDR帧对视频码流进行分片。在将第一切片拼接为第二切片的过程中,把各个第一切片组合在一起即可。这样做的好处在于,在拼接和编码处理之前都不需要对视频进行切割,而只需要将这些小分片进行组合,组合的时间要比切割的时间省很多。选择在IDR处进行分割,更是出于视频解码的特点,从IDR开始进行解码,能确保解码正确。
[0025]然后,按照时间顺序和预设规则将全部第一切片拼接为多个第二切片;预设规则可以是为已拼接的第一切片数量设置阈值,也可以是为已拼接的第一切片的视频数据的大小设置阈值,每当大于或等于上述阈值时停止拼接,做为一个第二切片,从而将所有第一切片拼接为多个第二切片。例如,在拼接第一切片时,可以根据解码时间戳的时间顺序依次拼接,每当已拼接的第一切片的数量等于10个时,做为一个第二切片,或者每当已拼接的第一切片的大小大于或等于20MB时,做为一个第二切片。
[0026]如果已拼接的第一切片的数量或者数据大小超过预设阈值,则很有可能使已拼接的总帧数过长。而已拼接的总帧数过长,就会使每个第二切片的转码时间过长,就不能很好的利用到分片转码的优点,不利于提高整体的转码效率。因此,要对已拼接的第一切片的数量或者数据大小加以限制。
[0027]接着,根据所述帧速率变换结果信息对全部第二切片进行编码处理,在相应的位置进行插帧或丢帧处理并得到所述视频的统计文档。本次编码属于一次编码(lpass编码),在编码开始之前,可以选择不输出视频,而生成统计文档(stats文档),以记录视频的码率变化、量化参数、场景变更预测信息等信息。对所有第二切片对应的统计文档进行融合,得到对应整个视频的统计文档。例如,以采用H.264视频编码标准的x264视频编码器为例,在Ipass编码中设置:一stats〃log.stat〃一output NUL〃input.avi 〃,代表输入视频但不输出视频,而输出统计文档;--qpmin O--qpmax 81,代表量化参数控制在O至81之间;--scenecut 50,代表为每一帧计算一个度量值,来估计与前一帧的不同程度,如果该值低于设置的scenecut值,则认为侦测到一个“场景切换”,将该帧预判为IDR帧并在统计文档中记录预判的IDR帧的位置,此处被预判为IDR帧的帧可以是源视频中的任意类型的帧(如I帧、P帧、B帧等)。在本次编码过程中,还可以结合设置的码率控制模式、量化参数、B帧配置决策算法等在各个第二切片中进行插帧或者丢帧处理,并记录插入和丢弃的帧类型和位置。
[0028]然后,根据所述统计文档中的预判帧类型,确定所述视频的场景切换位置;根据统计文档中的记录的被预判为IDR帧的位置,确定对应的场景切换位置。在视频中,未发生场景变换时内容往往是连续的,相关度更高,而发生场景切换前后的内容相关性则较弱,因此可参考被预判为IDR帧的位置对视频进行基于内容相关性的切分。
[0029]接着,根据所述场景切换位置将全部第一切片拼接为多个第三切片。当某个第一切片中包含统计文件中被预判为IDR帧的位置时,开始拼接,按照第一切片的生成顺序,依次查找拼接,直到统计文件中下一个被预判为IDR帧的位置出现在某个第一切片中时,停止拼接,生成一个第三切片。依此将全部第一切片按照预判的IDR帧的位置拼接为多个第三切片,从而实现了基于视频内容相关度的逻辑切片。
[0030]例如,统计文件中预判为IDR帧的位置出现在第O、50、90、150帧........等处,得到的第一切片中第一切片A包括30帧,第一切片B包括40帧,第一切片C包括30帧,第一切片D包括40帧,第一切片E包括40帧……第一切片A包括被预判为IDR帧的位置(第O帧),那么从第一切片A开始拼接,第一切片B也包括被预判为IDR帧的位置(第50帧),那么从第一切片B停止拼接,第一切片A和第一切片B被拼接在一起做为一个第三切片;第一切片C包括被预判为IDR帧的位置(第90帧),那么从第一切片C开始拼接,第一切片D不包括被预判为IDR帧的位置,仍然继续拼接,第一切片E包括被预判为IDR帧的位置(第150帧),那么从第一切片E停止拼接,第一切片C、第一切片D和第一切片E被拼接在一起做为一个第三切片;依此类推。
[0031]最后,根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件。在编码过程中,将被预测为IDR帧的位置编码为IDR帧,并在记录的插帧或丢帧的位置进行相应的插帧或丢帧处理。使编码后的视频的IDR帧出现在发生场景切换的位置,这样,切片编码后再拼接起来用户就不会感觉到同一场景下画面质量发生跳变。在本次编码过程中还可以设置输出视频为预设的视频格式,例如,--output “output.mkv〃〃input.avi",输入视频码流格式为.avi,输出的视频码流格式为.mkv。
[0032]本实施例中,提供的视频转码方法基于逻辑切片转码,能够在逻辑切片(按内容分割切片)的基础上,进一步提升分片转码的效率,并尽量保证转码的质量,对视频进行帧速率变换分析时,由于是采用一遍完整的扫描,因此得到的结果与整片转码时帧率变换计算出来的结果完全一致,并避免了传统的切片转码方式可能会出现的错误,帧速率变换分析只做一遍,后续的Ipass和2pass编码都会复用这个变换的结果,不会像物理切片那样每个pass都要做一遍,也会节省转码时间,能够大幅提高视频转码的效率。
[0033]此外,以IDR帧的位置分割第一切片,在后续的拼接和编码处理之前都不需要对视频进行切割,而只需要将这些小分片进行组合,组合的时间要比切割的时间省很多,提高视频切片效率,选择在IDR处进行分割,更是出于视频解码的特点,从IDR开始进行解码,能确保解码正确,根据视频内容的相关性去分割片源进行编码,把一个场景内的画面都分配到两个IDR帧之间,这样,基于逻辑切片编码后再拼接起来用户就不会感觉到同一场景下画面质量发生跳变。
[0034]实施例2
[0035]本实施例中视频转码方法与实施例1相似,只是所述第一切片是已解封装的码流数据。
[0036]本实施例中,第一切片被存储为解封装之后的数据作为第一切片,不再带有其封装格式。在后续处理中,如果每次进行转码时都进行一次解封装,这样不但会浪费转码时间,而且还有可能出现错误。因为解码是针对码流的解码,对封装格式是不在意的。而编码生成视频的过程也是再封装的过程,这个再封装的过程有时就会出错,造成转码不能正常进行。因此,将第一切片存储为解封装之后的数据,可以有效避免上述问题的出现,有助于提升整体的处理效率。
[0037]实施例3
[0038]如图2所示,本实施例中视频转码方法与实施例1相似,只是所述根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件包括:
[0039]根据所述帧速率变换结果信息对全部第三切片进行二次编码(2pass编码),并拼接成完整的视频文件。
[0040]二次编码中分别包括第一次编码(passl)和第二次编码(pass2),利用二次编码能够使输出的视频获得更好的码率优化效果。
[0041 ]例如,在指定目标码率的情况下,第一次编码为每一帧生成统计信息,以助在第二次编码中为每一帧找到最好的量化参数值,以改善码率分布曲线,提升视频的观感质量。
[0042]例如,第一次编码的设置如下:
[0043]x264_64_tMod-8bit_all.exe—input-csp i420—output-csp i420—level
4.1—crf23.5—threads 18—bframes 6—chroma-qp-offset 3—psy-rd 1.05:0.10—b-adapt 2—ref 5—qcomp 0.7—keyint 600—deblock 1:1—no—mbtree—scenecut50—fgo 0—aq-mode 3—aq—strength 1.0—qpmin 0—qpmax 81—merange 24—me umh—direct auto—subme 10—partit1ns all—trellis 2—stylish—pass I—stats〃log.stat〃一slow-firstpass—input-depth 8—output NUL〃input.avi〃;
[0044]第二次编码的设置如下:
[0045]x264—64—tMod-8bit_alI.exe—input-csp i420—output-csp i420—level
4.1—bitrate2000—threads 18—bframes 6—chroma-qp-offset 3—psy-rd 1.05:
0.10—b-adapt 2—ref 5—qcomp 0.7—keyint 600—deblock 1:1—no—mbtree—scenecut50—fgo 0—aq-mode 3—aq-strength 1.0—qpmin 0—qpmax 81—merange24—me umh—direct auto—subme 10—partit1ns all—trellis 2—stylish—pass2—stats〃log.stat〃一input-depth 8—output“output.mkv〃〃input.avi〃。
[0046]第一次编码采用固定码率系数(Constant Ratefactor,CRF)模式,保证人眼视觉质量的情况下找到每帧合适的量化参数值并输出统计文档,第二次编码采用固定目标比特率(bitrate)模式,如2000kbps,结合第一次编码得到的每帧合适的量化参数值,保证了输出视频画面质量同时还控制输出视频的大小不超过一定限度。
[0047]通常二次编码所花费的时间要比一次编码长,对于目标码率较高的情形,例如450kbps以上,使用二次编码输出的视频质量更佳;对于目标码率较低的情形,例如450kbps以下,使用二次编码和一次编码输出的视频质量则看不出明显区别,而此时一次编码的速度会更快,编码效率更高。
[0048]实施例4
[0049]如图3所示,本实施例中视频转码方法与实施例1相似,只是所述按照时间顺序和预设规则将全部第一切片拼接为多个第二切片包括:
[0050]按照时间顺序将第一切片依次拼接,当已拼接的帧数大于或等于预设阈值时停止拼接,将已拼接的第一切片做为一个第二切片,依此对其他第一切片继续拼接,直到全部第一切片被拼接为多个第二切片。
[0051]拼接第一切片的帧数阈值可以结合转码集群设备的数量及转码时间进行综合考虑。例如,以3000帧为例,那么已拼接的第一切片的总帧数一旦大于或等于3000帧就停止拼接,进行下一个新第二切片的拼接工作。拼接的考虑在于,如果不拼接,每个第一切片都下发到转码集群设备中去,而集群内的设备数量有限,就总会有视频要排队进行转码,而且第一切片由于没有足够多的参考帧,会造成编码性能的下降。如果拼接的帧数过长,就会使每个第二切片的转码时间过长,没有很好的利用到分片转码的优点。因此需要根据转码集群设备的数量及完成转码的转码时间等实际因素综合考虑选取这个拼接帧数阈值,使其既充分发挥分片并行转码的优势,又能够充分利用转码集群设备,使其高效率的完成转码任务。
[0052]实施例5
[0053 ]如图4所示,本实施例中视频转码装置100包括:
[0054]视频处理模块I,用于对视频进行帧速率变换分析,获取帧速率变换结果信息以及IDR帧的位置信息,根据所述IDR帧的位置信息将视频分割成多个第一切片;
[0055]第一拼接模块2,用于按照时间顺序和预设规则将全部第一切片拼接为多个第二切片;
[0056]第一编码模块3,用于根据所述帧速率变换结果信息对全部第二切片进行编码处理,得到所述视频的统计文档;
[0057]确定模块4,用于根据所述统计文档中的预判帧类型,确定所述视频的场景切换位置;
[0058]第二拼接模块5,用于根据所述场景切换位置将全部第一切片拼接为多个第三切片;
[0059]第二编码模块6,用于根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件。
[0060]视频处理模块I依次通过第一拼接模块2、第一编码模块3、确定模块4、第二拼接模块5与第二编码模块6相连。本实施例中,提供的视频转码方法基于逻辑切片转码,能够在逻辑切片(按内容分割切片)的基础上,进一步提升分片转码的效率,并尽量保证转码的质量,对视频进行帧速率变换分析时,由于是采用一遍完整的扫描,因此得到的结果与整片转码时帧率变换计算出来的结果完全一致,并避免了传统的切片转码方式可能会出现的错误,此外,以IDR帧的位置分割第一切片,在后续的拼接和编码处理之前都不需要对视频进行切害J,而只需要将这些小分片进行组合,组合的时间要比切割的时间省很多,提高视频切片效率,选择在IDR处进行分割,更是出于视频解码的特点,从IDR开始进行解码,能确保解码正确,根据视频内容的相关性去分割片源进行编码,把一个场景内的画面都分配到两个IDR帧之间,这样,基于逻辑切片编码后再拼接起来用户就不会感觉到同一场景下画面质量发生跳变。
[0061 ] 实施例6
[0062]本实施例中视频转码装置100与实施例5中的装置相似,只是所述第一切片是已解封装的码流数据。
[0063]本实施例提供的视频转码装置100在后续处理中,如果每次进行转码时都进行一次解封装,这样不但会浪费转码时间,而且还有可能出现错误。因为解码是针对码流的解码,对封装格式是不在意的。而编码生成视频的过程也是再封装的过程,这个再封装的过程有时就会出错,造成转码不能正常进行。因此,将第一切片存储为解封装之后的数据,可以有效避免上述问题的出现,有助于提升整体的处理效率。。
[0064]实施例7
[0065]本实施例中视频转码装置100与实施例5中的装置相似,只是所述第二编码模块6包括:
[0066]编码子模块,用于根据所述帧速率变换结果信息对全部第三切片进行二次编码(2pass编码),并拼接成完整的视频文件。
[0067]本实施例提供的视频转码装置100中第二编码模块6采用2pass编码,以改善码率分布曲线,提升视频的观感质量。
[0068]实施例8
[0069]本实施例中视频转码装置100与实施例5中的装置相似,只是所述第一拼接模块2包括:
[0070]拼接子模块,用于按照时间顺序将第一切片依次拼接,当已拼接的帧数大于或等于预设阈值时停止拼接,将已拼接的第一切片做为一个第二切片,依此对其他第一切片继续拼接,直到全部第一切片被拼接为多个第二切片。
[0071]使视频转码装置100既充分发挥分片并行转码的优势,又能够充分利用转码集群设备,使其高效率的完成转码任务。
[0072]此外,本发明实施例中可以通过硬件处理器(hardware processor)来实现上述各个功能模块。
[0073 ]本发明实施例提供了一种视频转码装置,包括:
[0074]处理器;
[0075]用于存储处理器可执行指令的存储器;
[0076]其中,所述处理器被配置为:
[0077]对视频进行帧速率变换分析,获取帧速率变换结果信息以及IDR帧的位置信息,根据所述IDR帧的位置信息将视频分割成多个第一切片;
[0078]按照时间顺序和预设规则将全部第一切片拼接为多个第二切片;
[0079]根据所述帧速率变换结果信息对全部第二切片进行编码处理,得到所述视频的统计文档;
[0080]根据所述统计文档中的预判帧类型,确定所述视频的场景切换位置;
[0081 ]根据所述场景切换位置将全部第一切片拼接为多个第三切片;
[0082]根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件。
[0083]在一个实施例中,所述第一切片是已解封装的码流数据。
[0084]在一个实施例中,所述根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件包括:
[0085]根据所述帧速率变换结果信息对全部第三切片进行二次编码(2pass编码),并拼接成完整的视频文件。
[0086]在一个实施例中,所述按照时间顺序和预设规则将全部第一切片拼接为多个第二切片包括:
[0087]按照时间顺序将第一切片依次拼接,当已拼接的帧数大于或等于预设阈值时停止拼接,将已拼接的第一切片做为一个第二切片,依此对其他第一切片继续拼接,直到全部第一切片被拼接为多个第二切片。
[0088]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0089]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0090]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种视频转码方法,其特征在于,包括: 对视频进行帧速率变换分析,获取帧速率变换结果信息以及IDR帧的位置信息,根据所述IDR帧的位置信息将视频分割成多个第一切片; 按照时间顺序和预设规则将全部第一切片拼接为多个第二切片; 根据所述帧速率变换结果信息对全部第二切片进行编码处理,得到所述视频的统计文档; 根据所述统计文档中的预判帧类型,确定所述视频的场景切换位置; 根据所述场景切换位置将全部第一切片拼接为多个第三切片; 根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件。2.根据权利要求1所述的方法,其特征在于,所述第一切片是已解封装的码流数据。3.根据权利要求1所述的方法,其特征在于,所述根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件包括: 根据所述帧速率变换结果信息对全部第三切片进行二次编码(2pass编码),并拼接成完整的视频文件。4.根据权利要求1所述的方法,其特征在于,所述按照时间顺序和预设规则将全部第一切片拼接为多个第二切片包括: 按照时间顺序将第一切片依次拼接,当已拼接的帧数大于或等于预设阈值时停止拼接,将已拼接的第一切片做为一个第二切片,依此对其他第一切片继续拼接,直到全部第一切片被拼接为多个第二切片。5.一种视频转码装置,其特征在于,包括: 视频处理模块,用于对视频进行帧速率变换分析,获取帧速率变换结果信息以及IDR帧的位置信息,根据所述IDR帧的位置信息将视频分割成多个第一切片; 第一拼接模块,用于按照时间顺序和预设规则将全部第一切片拼接为多个第二切片;第一编码模块,用于根据所述帧速率变换结果信息对全部第二切片进行编码处理,得到所述视频的统计文档; 确定模块,用于根据所述统计文档中的预判帧类型,确定所述视频的场景切换位置;第二拼接模块,用于根据所述场景切换位置将全部第一切片拼接为多个第三切片;第二编码模块,用于根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件。6.根据权利要求5所述的装置,其特征在于,所述第一切片是已解封装的码流数据。7.根据权利要求5所述的装置,其特征在于,所述第二编码模块包括: 编码子模块,用于根据所述帧速率变换结果信息对全部第三切片进行二次编码(2pass编码),并拼接成完整的视频文件。8.根据权利要求5所述的装置,其特征在于,所述第一拼接模块包括: 拼接子模块,用于按照时间顺序将第一切片依次拼接,当已拼接的帧数大于或等于预设阈值时停止拼接,将已拼接的第一切片做为一个第二切片,依此对其他第一切片继续拼接,直到全部第一切片被拼接为多个第二切片。9.一种视频转码装置,其特征在于,包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 对视频进行帧速率变换分析,获取帧速率变换结果信息以及IDR帧的位置信息,根据所述IDR帧的位置信息将视频分割成多个第一切片; 按照时间顺序和预设规则将全部第一切片拼接为多个第二切片; 根据所述帧速率变换结果信息对全部第二切片进行编码处理,得到所述视频的统计文档; 根据所述统计文档中的预判帧类型,确定所述视频的场景切换位置; 根据所述场景切换位置将全部第一切片拼接为多个第三切片; 根据所述帧速率变换结果信息对全部第三切片进行编码,并拼接成完整的视频文件。
【文档编号】H04N19/40GK105898319SQ201510969643
【公开日】2016年8月24日
【申请日】2015年12月22日
【发明人】李兴玉, 魏伟, 祁海, 边智
【申请人】乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1