一种对视频文件进行在线转码的方法和装置的制造方法

文档序号:9914793阅读:350来源:国知局
一种对视频文件进行在线转码的方法和装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别涉及一种对视频文件进行在线转码的方法和装置。
【背景技术】
[0002]随着互联网技术的发展,互联网的应用越来越广泛,功能越来越强大,服务提供商可以将视频文件,发布到网上供用户观看。在发布视频前,通常需要将视频文件进行转码,服务提供商一般会选择在线转码的方式对视频文件进行转码。
[0003]在对视频文件进行在线转码的过程中,服务器每次会对视频文件中的若干视频帧进行转码,将转码完成的视频帧,实时发送给终端,终端则会对转码后的视频数据进行解码,然后播放视频文件,这样,可以在服务器转码的过程中对视频进行播放。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]服务提供商发布的视频中,很多视频文件为非流式视频文件,非流式视频文件由文件头和视频数据两部分组成,文件头中包含视频文件的帧列表,帧列表中包含各个视频帧对应的播放时间、起始位置(即视频帧在视频文件中偏移的字节数)和数据量等信息。在转码过程中,服务器需要将整个视频文件转码后,才能够确定转码后各个视频帧的数据量、起始位置等信息,进而才能够生成转码后的帧列表。然而,终端需要根据文件头中的帧列表,确定每个帧的起始位置等信息,才能对视频文件进行播放,也就是说终端需要先获取到帧列表,才能开始播放视频,因此,基于现有的处理方式,非流式视频文件无法进行在线转码。

【发明内容】

[0006]为了解决现有技术的问题,本发明实施例提供了一种对视频文件进行在线转码的方法和装置。所述技术方案如下:
[0007]第一方面,提供了一种对视频文件进行在线转码的方法,所述方法包括:、根据待转码视频文件中预设的视频参数的参数值和各视频帧的原数据量,以及对应所述视频参数预先设置的进行转码的目标参数值,确定所述各视频帧进行转码的目标数据量;
[0008]根据所述视频参数的目标参数值和所述各视频帧对应的目标数据量,生成转码视频文件的文件头,向终端发送所述文件头;
[0009]根据所述各视频帧对应的目标数据量,按照播放时序,将所述各视频帧转码为数据量不大于对应的目标数据量的视频帧,生成所述转码视频文件中对应的数据内容;
[0010]每当满足预设的发送条件时,向所述终端发送已生成的数据内容。
[0011]结合第一方面,在该第一方面的第一种可能实现方式中,所述根据所述各视频帧对应的目标数据量,按照播放时序,将所述各视频帧转码为数据量不大于对应的目标数据量的视频帧,生成所述转码视频文件中对应的数据内容,包括:
[0012]按照播放时序,对所述待转码视频文件的各视频帧进行转码,将转码后的视频帧的数据量与对应的目标数据量进行对比,如果转码后的视频帧的数据量不大于对应的目标数据量,则根据转码后的视频帧生成所述转码视频文件中对应的数据内容;如果转码后的视频帧的数据量大于对应的目标数据量,则调整所述目标参数值对相应的视频帧重新进行转码,直到转码后的视频帧的数据量小于对应的目标数据量,根据转码后的视频帧生成所述转码视频文件中对应的数据内容。
[0013]结合第一方面,在该第一方面的第二种可能实现方式中,所述视频参数包括分辨率、编解码压缩比、编解码级别、帧率和码率;
[0014]所述根据待转码视频文件中预设的视频参数的参数值和各视频帧的原数据量,以及对应所述视频参数预先设置的进行转码的目标参数值,确定所述各视频帧进行转码的目标数据量,包括:
[0015]确定所述待转码视频文件的分辨率的数值与预先设置的进行转码的分辨率的目标数值的第一比值;
[0016]确定所述待转码视频文件的编解码压缩比的数值与编解码级别的数值的第一乘积,确定预先设置的进行转码的编解码压缩比的目标数值与编解码级别的目标数值的第二乘积,确定所述第一乘积与所述第二乘积的第二比值;
[0017]确定所述待转码视频文件的帧率的数值与预先设置的进行转码的帧率的目标数值的第三比值;
[0018]确定所述待转码视频文件的码率的数值与预先设置的进行转码的码率的目标数值的第四比值;
[0019]根据各视频帧的原数据量,以及所述第一比值、所述第二比值、所述第三比值和所述第四比值,确定所述各视频帧进行转码的目标数据量。
[0020]结合第一方面的第二种可能实现方式,在该第一方面的第三种可能实现方式中,所述根据各视频帧的原数据量,以及所述第一比值、所述第二比值、所述第三比值和所述第四比值,确定所述各视频帧进行转码的目标数据量,包括:
[0021]将所述第一比值与预设的分辨率映射权重相乘,得到分辨率映射比值;
[0022]将所述第二比值与预设的编解码映射权重相乘,得到编解码映射比值;
[0023]将所述第三比值与预设的帧率映射权重相乘,得到帧率映射比值;
[0024]将所述第四比值与预设的码率映射权重相乘,得到码率映射比值;
[0025]将所述分辨率映射比值、所述编解码映射比值、所述帧率映射比值和所述码率映射比值相乘,得到视频帧映射比值;
[0026]将所述各视频帧的原数据量除以所述视频帧映射比值,得到所述各视频帧进行转码的目标数据量。
[0027]结合第一方面,在该第一方面的第四种可能实现方式中,所述每当满足预设的发送条件时,向所述终端发送已生成的数据内容,包括:
[0028]每当转码的视频帧的数量达到预设的视频帧阈值时,向所述终端发送生成的数据内容。
[0029]第二方面,提供了一种对视频文件进行在线转码的装置,所述装置包括:
[0030]确定模块,用于根据待转码视频文件中预设的视频参数的参数值和各视频帧的原数据量,以及对应所述视频参数预先设置的进行转码的目标参数值,确定所述各视频帧进行转码的目标数据量;
[0031 ] 生成模块,用于根据所述视频参数的目标参数值和所述各视频帧对应的目标数据量,生成转码视频文件的文件头,向终端发送所述文件头;
[0032]转码模块,用于根据所述各视频帧对应的目标数据量,按照播放时序,将所述各视频帧转码为数据量不大于对应的目标数据量的视频帧,生成所述转码视频文件中对应的数据内容;
[0033]发送模块,用于每当满足预设的发送条件时,向所述终端发送已生成的数据内容。
[0034]结合第二方面,在该第二方面的第一种可能实现方式中,所述转码模块,用于:
[0035]按照播放时序,对所述待转码视频文件的各视频帧进行转码,将转码后的视频帧的数据量与对应的目标数据量进行对比,如果转码后的视频帧的数据量不大于对应的目标数据量,则根据转码后的视频帧生成所述转码视频文件中对应的数据内容;如果转码后的视频帧的数据量大于对应的目标数据量,则调整所述目标参数值对相应的视频帧重新进行转码,直到转码后的视频帧的数据量小于对应的目标数据量,根据转码后的视频帧生成所述转码视频文件中对应的数据内容。
[0036]结合第二方面,在该第二方面的第二种可能实现方式中,所述视频参数包括分辨率、编解码压缩比、编解码级别、帧率和码率;
[0037]所述确定模块,用于:
[0038]确定所述待转码视频文件的分辨率的数值与预先设置的进行转码的分辨率的目标数值的第一比值;
[0039]确定所述待转码视频文件的编解码压缩比的数值与编解码级别的数值的第一乘积,确定预先设置的进行转码的编解码压缩比的目标数值与编解码级别的目标数值的第二乘积,确定所述第一乘积与所述第二乘积的第二比值;
[0040]确定所述待转码视频文件的帧率的数值与预先设置的进行转码的帧率的目标数值的第三比值;
[0041]确定所述待转码视频文件的码率的数值与预先设置的进行转码的码率的目标数值的第四比值;
[0042]根据各视频帧的原数据量,以及所述第一比值、所述第二比值、所述第三比值和所述第四比值,确定所述各视频帧进行转码的目标数据量。
[0043]结合第二方面的第二种可能实现方式,在该第二方面的第三种可能实现方式中,所述确定模块,用于:
[0044]将所述第一比值与预设的分辨率映射权重相乘,得到分辨率映射比值;
[0045]将所述第二比值与预设的编解码映射权重相乘,得到编解码映射比值;
[0046]将所述第三比值与预设的帧率映射权重相乘,得到帧率映射比值;
[0047]将所述第四比值与预设的码率映射权重相乘,得到码率映射比值;
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1