CN107659819B - 一种视频转码的方法和装置 - Google Patents

一种视频转码的方法和装置 Download PDF

Info

Publication number
CN107659819B
CN107659819B CN201711038561.0A CN201711038561A CN107659819B CN 107659819 B CN107659819 B CN 107659819B CN 201711038561 A CN201711038561 A CN 201711038561A CN 107659819 B CN107659819 B CN 107659819B
Authority
CN
China
Prior art keywords
code rate
rate
video
target video
bit rate
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.)
Active
Application number
CN201711038561.0A
Other languages
English (en)
Other versions
CN107659819A (zh
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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201711038561.0A priority Critical patent/CN107659819B/zh
Publication of CN107659819A publication Critical patent/CN107659819A/zh
Application granted granted Critical
Publication of CN107659819B publication Critical patent/CN107659819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种视频转码的方法和装置,属于计算机技术领域。所述方法包括:获取解封装后的目标视频的视频数据包;周期性计算所述目标视频的全局平均码率和预设周期内的局部平均码率;根据所述全局平均码率和所述局部平均码率,对编码码率进行调整;基于调整后的编码码率,对所述目标视频进行转码处理。采用本发明,可以最大限度地保证输出视频的码率与输入视频的码率基本一致,从而可以提高视频转码的效果。

Description

一种视频转码的方法和装置
技术领域
本发明涉及计算机技术领域,特别涉及一种视频转码的方法和装置。
背景技术
伴随着互联网技术的发展以及现代带宽的不断提速,互联网与人们的生活联系的日益密切,越来越多的人们热衷于在互联网中获取视频来丰富生活,当下,高品质高质量的视频已成为人们日常需求的首选。
基于宣传或者版权保护的需要,视频的发布方经常在发布的视频数据中添加专属的水印,以避免视频数据被他人盗用。具体的,发布方可以先获取封装好的初始视频(可称为输入视频),然后对初始视频的视频数据进行解封装、解码,再在视频中的每一帧图像中添加水印,之后,发布方可以再对添加完水印的视频数据进行编码、封装,从而将最终视频(可以称为输出视频)提供给接收方(如转播方或者观众等)。上述对视频数据处理的过程也可以称为对视频数据的转码处理。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
如果转码后视频的码率过小,则视频的画面质量将会很差,甚至出现画面失真或马赛克现象,而如果转码后视频的码率过大,则会导致传输视频时带宽资源的浪费,这样,则需要输出视频的码率尽可能接近输入视频的码率。然而,受不同编码模式的影响,转码时很难准确获知输入视频的码率,故而,视频转码的效果较差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种视频转码的方法和装置。所述技术方案如下:
第一方面,提供了一种视频转码的方法,所述方法包括:
获取解封装后的目标视频的视频数据包;
周期性计算所述目标视频的全局平均码率和预设周期内的局部平均码率;
根据所述全局平均码率和所述局部平均码率,对编码码率进行调整;
基于调整后的编码码率,对所述目标视频进行转码处理。
可选的,所述周期性计算所述目标视频的全局平均码率和预设周期内的局部平均码率,包括:
将所述视频数据包的数据量累积至已获取到的所述目标视频的全局数据量和预设周期内已获取到的所述目标视频的局部数据量中;
根据所述视频数据包对应的解码时间戳,确定所述目标视频的已解码时长和预设周期时长;
将所述全局数据量和所述已解码时长之商作为全局平均码率,并将所述局部数据量和所述预设周期时长之商作为局部平均码率。
可选的,所述根据所述全局平均码率和所述局部平均码率,对编码码率进行调整,包括:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,则判断所述局部平均码率是否大于预设的最小码率参考值;
如果是,则将所述编码码率设置为所述局部平均码率,如果不是,则将所述全局平均码率和所述最小码率参考值中的最大值作为所述编码码率。
可选的,所述如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,则判断所述局部平均码率是否大于预设的最小码率参考值,包括:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长大于预设时长,则判断所述局部平均码率是否大于预设的最小码率参考值。
可选的,所述方法还包括:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长小于预设时长,则将所述局部平均码率和预设的最大码率参考值中的最大值作为所述编码码率。
可选的,所述方法还包括:
获取所述目标视频的属性信息,所述属性信息中至少包括所述目标视频的目标分辨率和目标帧率。
可选的,所述方法还包括:
确定所述目标视频的属性信息和预设的标准属性信息的数学关系;
根据所述数学关系和所述标准属性信息对应的标准码率,确定所述目标视频的最小码率参考值和最大码率参考值。
第二方面,提供了一种视频转码的装置,所述装置包括:
第一获取模块,用于获取解封装后的目标视频的视频数据包;
计算模块,用于周期性计算所述目标视频的全局平均码率和预设周期内的局部平均码率;
调整模块,用于根据所述全局平均码率和所述局部平均码率,对编码码率进行调整;
转码模块,用于基于调整后的编码码率,对所述目标视频进行转码处理。
可选的,所述计算模块,具体用于:
将所述视频数据包的数据量累积至已获取到的所述目标视频的全局数据量和预设周期内已获取到的所述目标视频的局部数据量中;
根据所述视频数据包对应的解码时间戳,确定所述目标视频的已解码时长和预设周期时长;
将所述全局数据量和所述已解码时长之商作为全局平均码率,并将所述局部数据量和所述预设周期时长之商作为局部平均码率。
可选的,所述调整模块,具体用于:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,则判断所述局部平均码率是否大于预设的最小码率参考值;
如果是,则将所述编码码率设置为所述局部平均码率,如果不是,则将所述全局平均码率和所述最小码率参考值中的最大值作为所述编码码率。
可选的,所述调整模块,具体用于:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长大于预设时长,则判断所述局部平均码率是否大于预设的最小码率参考值。
可选的,所述调整模块,还用于:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长小于预设时长,则将所述局部平均码率和预设的最大码率参考值中的最大值作为所述编码码率。
可选的,所述装置还包括:
第二获取模块,用于获取所述目标视频的属性信息,所述属性信息中至少包括所述目标视频的目标分辨率和目标帧率。
可选的,所述装置还包括:
第一确定模块,用于确定所述目标视频的属性信息和预设的标准属性信息的数学关系。
可选的,所述装置还包括:
第二确定模块,用于根据所述数学关系和所述标准属性信息对应的标准码率,确定所述目标视频的最小码率参考值和最大码率参考值。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,服务器获取解封装后的目标视频的视频数据包,周期性计算目标视频的全局平均码率和预设周期内的局部平均码率,根据全局平均码率和局部平均码率,对编码码率进行调整,基于调整后的编码码率,对目标视频进行转码处理。这样,在对目标视频进行转码的过程中,服务器可以对编码码率进行实时探测,并根据探测结果及时调整编码码率,可以最大限度地保证输出视频的码率与输入视频的码率基本一致,从而可以提高视频转码的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频转码的方法流程图;
图2是本发明实施例提供的一种调整编码码率的流程示意图;
图3是本发明实施例提供的一种视频转码的步骤示意图;
图4是本发明实施例提供的一种视频转码的装置结构示意图;
图5是本发明实施例提供的一种视频转码的装置结构示意图;
图6是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种视频转码的方法,该方法的执行主体可以是服务器。其中,服务器可以是具备视频转码功能的服务器,如视频发布方的服务器,服务器在接收到视频数据后,可以对视频进行转码处理,然后将转码后的视频提供给外界。上述服务器可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中视频转码的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据,如用于接收输入视频和发送输出视频。本实施例中以服务器为直播平台的管理服务器为例进行说明,其它情况与之相似,不再一一介绍。
下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:
步骤101,获取解封装后的目标视频的视频数据包。
在实施中,主播在直播间开始直播后,主播侧的数据采集设备可以实时采集用于生成直播视频的画面、声音等,再由视频制作设备生成相应的直播视频,并由视频传输设备将该直播视频实时发送至直播平台的服务器。这样,服务器可以接收到主播侧发送的直播视频的视频数据。服务器将该直播视频转发给直播间的观众前,可以对直播视频进行视频转码,以在视频画面中添加水印。具体的,服务器可以先获取直播视频(即目标视频)的封装格式、音视频参数以及编解码参数等信息,然后根据封装格式对上述目标视频进行相应的解封装,从而可以获取解封装后的目标视频的视频数据。此处,目标视频的视频数据将以视频数据包的形式来获取,每个视频数据包对应视频中的一个图像帧。当然,本实施例公开的是一种视频转码的方法,不仅仅适用于在视频画面中添加水印,还可以用于其他合理可行的处理。
步骤102,周期性计算目标视频的全局平均码率和预设周期内的局部平均码率。
在实施中,服务器在获取目标视频的视频数据包时,可以周期性地计算目标视频的全局平均码率Rg和预设周期内的局部平均码率Rt。具体的,可以在每个周期末尾,统计已获取到的目标视频的所有数据量(可称为全局数据量),以及从解码开始到现在所经历的时长(可称为已解码时长),进而可以将全局数据量和已解码时长之商作为全局平均码率Rg。同时,还可以统计预设周期内已获取到的目标视频的所有数据量(可称为局部数据量),然后将局部数据量和预设周期时长之商作为预设周期内的局部平均码率Rt。
可选的,在计算全局平均码率和局部平均码率时,可以同时考虑当前获取视频数据包,相应的,步骤102的处理可以如下:将视频数据包的数据量累积至已获取到的目标视频的全局数据量和预设周期内已获取到的目标视频的局部数据量中;根据视频数据包对应的解码时间戳,确定目标视频的已解码时长和预设周期时长;将全局数据量和已解码时长之商作为全局平均码率,并将局部数据量和预设周期时长之商作为局部平均码率。
在实施中,服务器在获取目标视频的某一个视频数据包后,可以将该视频数据包的数据量累积至已获取到的目标视频的全局数据量和预设周期内已获取到的目标视频的局部数据量中。同时,服务器还可以获取该视频数据包对应的解码时间戳,然后基于该解码时间戳确定目标视频的已解码时长和预设周期时长,例如,该视频数据包对应的解码时间戳转换为本地时间为t1,上一视频数据包对应的解码时间戳转换成本地时间为t2,已知解码开始到现在经历时长为T1,预设周期时长为T2,t1-t2小于T2时,则不进行处理,等待下一次视频数据包的接收,当t1-t2大于T2时,就计算当前周期内的平均码率。之后,服务器可以将上述计算出的全局数据量和已解码时长之商作为全局平均码率Rg,并将局部数据量和预设周期时长之商作为局部平均码率Rt。本实施例中的预设周期时长,不一定是固定值,可以根据实际使用情况和需求而定。
步骤103,根据全局平均码率和局部平均码率,对编码码率进行调整。
在实施中,服务器在计算出目标视频的全局平均码率Rg和预设周期内的局部平均码率Rt后,可以根据全局平均码率Rg和局部平均码率Rt,对当前使用的编码码率R进行调整。例如,可以将该局部平均码率Rt和当前使用的编码码率作比较,如果两者的绝对差值超过预设阈值,则可以将编码码率调整为上述全局平均码率Rg的值。如果两者的绝对差值未超过预设阈值,则保持当前的编码码率不变。当然,具体调整编码码率的方案多种多样,此处仅是示例性地给出了一种简单可行的方案。值得一提的是,对于ABR(available bit-rate,可用比特率)和VBR(Variable Bit Rate,动态比特率)两种不同的编码模式,设置的编码码率可以为VBR编码模式下的最大码率,或者为ABR编码模式下的平均码率。
可选的,为了避免VBR编码模式下,由于视频画面静止或场景简单而导致某段时间段内的码率过小,可以设置相应的码率参考值,相应的,步骤103的处理可以如下:如果局部平均码率与当前编码码率的绝对差值大于预设阈值,则判断局部平均码率是否大于预设的最小码率参考值;如果是,则将编码码率设置为局部平均码率,如果不是,则将全局平均码率和最小码率参考值中的最大值作为编码码率。
其中,预设阈值可以是技术人员用于判断视频转码过程中,码率波动是否过大,是否需要更新编码码率,而预先设定的一个标准值。
在实施中,对于目标视频,服务器处可以预先设置有该视频的最小码率参考值,即在任何情况下,目标视频的编码码率均不小于该最小码率参考值。这样,服务器在计算出目标视频的全局平均码率Rg和预设周期内的局部平均码率Rt后,可以将局部平均码率Rt和当前编码码率进行比较,如果两者的绝对差值大于预设阈值,则可以判断局部平均码率Rt和预设的最小码率参考值两者的大小。如果局部平均码率Rt大于上述最小码率参考值,则可以直接将编码码率设置为该局部平均码率Rt;而如果局部平均码率Rt不大于上述最小码率参考值,则可以选取全局平均码率Rg和最小码率参考值两者中的最大值作为编码码率。当然,如果局部平均码率Rt和当前编码码率的绝对差值未超过预设阈值,则保持当前的编码码率不变。
可选的,由于平均值的特性,数据越多平均值越接近于真实值,在转码的开始阶段由于数据量太小而导致计算出的输入视频流的全局平均码率没有参考价值,为避免该情况,可以有如下处理:如果局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长大于预设时长,则判断局部平均码率是否大于预设的最小码率参考值;如果局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长小于预设时长,则将局部平均码率和预设的最大码率参考值中的最大值作为编码码率。
在实施中,与最小码率参考值类似,对于目标视频,服务器处也可以预先设置有该视频的最大码率参考值,即在任何情况下,目标视频的编码码率均不大于该最小码率参考值。这样,服务器在计算出目标视频的全局平均码率Rg和预设周期内的局部平均码率Rt后,可以将局部平均码率Rt和当前编码码率进行比较,如果两者的绝对差值大于预设阈值,且已解码时长大于预设时长,则可以进行局部平均码率Rt和预设的最小码率参考值两者的大小判断处理,以及根据判断结果调整编码码率的处理,具体可以参照步骤103。而如果局部平均码率Rt与当前编码码率的绝对差值大于预设阈值,但已解码时长小于预设时长,则可以将局部平均码率Rt和预设的最大码率参考值中的最大值作为编码码率。值得一提的是,为了避免转码后视频画面质量较差,可以在转码初始阶段,将编码码率值初始化为上述最大码率参考值。
可选的,最小码率参考值和最大码率参考值的计算标准多种多样,可以根据目标视频的属性信息来进行具体计算,相应的处理可以如下:获取目标视频的属性信息;确定目标视频的属性信息和预设的标准属性信息的数学关系;根据数学关系和标准属性信息对应的标准码率,确定目标视频的最小码率参考值和最大码率参考值。
其中,属性信息中至少包括目标视频的目标分辨率和目标帧率。
在实施中,服务器可以设定有视频的标准属性信息和标准码率的对应关系,该对应关系可以是根据历史数据或者经验统计得来的。这样,在计算目标视频的最小码率参考值和最大码率参考值时,可以先获取目标视频的属性信息,该属性信息中至少包括目标视频的目标分辨率和目标帧率,然后按照预设算法确定目标视频的属性信息和预设的标准属性信息的数学关系。此处预设算法可以多种多样,可以由技术人员根据数据的合理性进行选择,本实施例并不限定具体的算法。例如,目标分辨率为weight1*height1,目标帧率为fps1,标准属性信息中的标准分辨率为weight0*height0,标准帧率为fps0,数学关系则可以是:f(s)=(weight1*height1*fps1)/(weight0*height0*fps0),或者数学关系还可以是:g(s)=log(weight1*height1*fps1)/log(weight0*height0*fps0)。之后,可以根据上述数学关系和标准属性信息对应的标准码率,确定目标视频的最小码率参考值和最大码率参考值。具体的,当标准码率为R0时,则可以存在R1=R0*f(s),R2=R0*g(s),进而,最大码率参考值为Rmax=MAX(R1,R2);最小码率参考值为Rmin=MIN(R1,R2)。
上述调整编码码率的全部处理可以参考图2所示。
步骤104,基于调整后的编码码率,对目标视频进行转码处理。
在实施中,服务器在基于上述全局平均码率Rg和局部平均码率Rt,对编码码率进行调整之后,可以基于调整后的编码码率,对目标视频进行转码处理,即进行解码、滤镜处理(包括添加水印的处理)、重新编码和输出等步骤,直至下一次调整编码码率。
为了便于理解,图3示出了视频转码的整体流程,具体内容可以如下:1、服务器读取目标视频;2、获取目标视频封装格式、视频参数以及编解码参数等信息;3、对目标视频解封装,分离其音视频数据;4.1、对于视频数据,调整编码码率,并将编码码率设置到编码器的参数中;4.2、解码目标视频的视频数据;4.3、对视频数据的图像帧进行滤镜处理;4.4、编码滤镜处理后的视频数据;5.1、对于音频数据,解码音频数据;5.2、对目标视频的音频数据进行滤镜处理;5.3、编码滤镜处理后的音频数据;6、按照输出文件类型封装目标视频;7、输出目标视频。
本发明实施例中,服务器获取解封装后的目标视频的视频数据包,周期性计算目标视频的全局平均码率和预设周期内的局部平均码率,根据全局平均码率和局部平均码率,对编码码率进行调整,基于调整后的编码码率,对目标视频进行转码处理。这样,在对目标视频进行转码的过程中,服务器可以对编码码率进行实时探测,并根据探测结果及时调整编码码率,可以最大限度地保证输出视频的码率与输入视频的码率基本一致,从而可以提高视频转码的效果。
基于相同的技术构思,本发明实施例还提供了一种视频转码的装置,如图4所示,所述装置包括:
第一获取模块401,用于获取解封装后的目标视频的视频数据包;
计算模块402,用于周期性计算所述目标视频的全局平均码率和预设周期内的局部平均码率;
调整模块403,用于根据所述全局平均码率和所述局部平均码率,对编码码率进行调整;
转码模块404,用于基于调整后的编码码率,对所述目标视频进行转码处理。
可选的,所述计算模块402,具体用于:
将所述视频数据包的数据量累积至已获取到的所述目标视频的全局数据量和预设周期内已获取到的所述目标视频的局部数据量中;
根据所述视频数据包对应的解码时间戳,确定所述目标视频的已解码时长和预设周期时长;
将所述全局数据量和所述已解码时长之商作为全局平均码率,并将所述局部数据量和所述预设周期时长之商作为局部平均码率。
可选的,所述调整模块403,具体用于:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,则判断所述局部平均码率是否大于预设的最小码率参考值;
如果是,则将所述编码码率设置为所述局部平均码率,如果不是,则将所述全局平均码率和所述最小码率参考值中的最大值作为所述编码码率。
可选的,所述调整模块403,具体用于:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长大于预设时长,则判断所述局部平均码率是否大于预设的最小码率参考值。
可选的,所述调整模块,还用于:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长小于预设时长,则将所述局部平均码率和预设的最大码率参考值中的最大值作为所述编码码率。
可选的,如图5所示,所述装置还包括:
第二获取模块405,用于获取所述目标视频的属性信息,所述属性信息中至少包括所述目标视频的目标分辨率和目标帧率;
第一确定模块406,用于确定所述目标视频的属性信息和预设的标准属性信息的数学关系;
第二确定模块407,用于根据所述数学关系和所述标准属性信息对应的标准码率,确定所述目标视频的最小码率参考值和最大码率参考值。
本发明实施例中,服务器获取解封装后的目标视频的视频数据包,周期性计算目标视频的全局平均码率和预设周期内的局部平均码率,根据全局平均码率和局部平均码率,对编码码率进行调整,基于调整后的编码码率,对目标视频进行转码处理。这样,在对目标视频进行转码的过程中,服务器可以对编码码率进行实时探测,并根据探测结果及时调整编码码率,可以最大限度地保证输出视频的码率与输入视频的码率基本一致,从而可以提高视频转码的效果。
图6是本发明实施例提供的服务器的结构示意图。该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。
服务器600还可以包括一个或一个以上电源629,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,一个或一个以上键盘656,和/或,一个或一个以上操作***641,例如Windows Server TM,Mac OS XTM,Unix TM,Linux TM,FreeBSD TM等等。
服务器600可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述视频转码的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种视频转码的方法,其特征在于,所述方法包括:
获取解封装后的目标视频的视频数据包;
周期性计算所述目标视频的全局平均码率和预设周期内的局部平均码率;
根据所述全局平均码率和所述局部平均码率,对编码码率进行调整;
基于调整后的编码码率,对所述目标视频进行转码处理;
其中,所述全局平均码率为已获取到的所述目标视频的所有数据量和已解码时长之商,所述局部平均码率为所述预设周期内获取到的所述目标视频的所有数据量和预设周期时长之商。
2.根据权利要求1所述的方法,其特征在于,所述周期性计算所述目标视频的全局平均码率和预设周期内的局部平均码率,包括:
将所述视频数据包的数据量累积至已获取到的所述目标视频的全局数据量和预设周期内已获取到的所述目标视频的局部数据量中;
根据所述视频数据包对应的解码时间戳,确定所述目标视频的已解码时长和预设周期时长;
将所述全局数据量和所述已解码时长之商作为全局平均码率,并将所述局部数据量和所述预设周期时长之商作为局部平均码率。
3.根据权利要求1所述的方法,其特征在于,所述根据所述全局平均码率和所述局部平均码率,对编码码率进行调整,包括:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,则判断所述局部平均码率是否大于预设的最小码率参考值;
如果是,则将所述编码码率设置为所述局部平均码率,如果不是,则将所述全局平均码率和所述最小码率参考值中的最大值作为所述编码码率。
4.根据权利要求3所述的方法,其特征在于,所述如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,则判断所述局部平均码率是否大于预设的最小码率参考值,包括:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长大于预设时长,则判断所述局部平均码率是否大于预设的最小码率参考值。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长小于预设时长,则将所述局部平均码率和预设的最大码率参考值中的最大值作为所述编码码率。
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述方法还包括:
获取所述目标视频的属性信息,所述属性信息中至少包括所述目标视频的目标分辨率和目标帧率。
7.根据权利要求3至5中任一项所述的方法,其特征在于,所述方法还包括:
确定所述目标视频的属性信息和预设的标准属性信息的数学关系;
根据所述数学关系和所述标准属性信息对应的标准码率,确定所述目标视频的最小码率参考值和最大码率参考值。
8.一种视频转码的装置,其特征在于,所述装置包括:
第一获取模块,用于获取解封装后的目标视频的视频数据包;
计算模块,用于周期性计算所述目标视频的全局平均码率和预设周期内的局部平均码率;
调整模块,用于根据所述全局平均码率和所述局部平均码率,对编码码率进行调整;
转码模块,用于基于调整后的编码码率,对所述目标视频进行转码处理;
其中,所述全局平均码率为已获取到的所述目标视频的所有数据量和已解码时长之商,所述局部平均码率为所述预设周期内获取到的所述目标视频的所有数据量和预设周期时长之商。
9.根据权利要求8所述的装置,其特征在于,所述计算模块,具体用于:
将所述视频数据包的数据量累积至已获取到的所述目标视频的全局数据量和预设周期内已获取到的所述目标视频的局部数据量中;
根据所述视频数据包对应的解码时间戳,确定所述目标视频的已解码时长和预设周期时长;
将所述全局数据量和所述已解码时长之商作为全局平均码率,并将所述局部数据量和所述预设周期时长之商作为局部平均码率。
10.根据权利要求8所述的装置,其特征在于,所述调整模块,具体用于:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,则判断所述局部平均码率是否大于预设的最小码率参考值;
如果是,则将所述编码码率设置为所述局部平均码率,如果不是,则将所述全局平均码率和所述最小码率参考值中的最大值作为所述编码码率。
11.根据权利要求10所述的装置,其特征在于,所述调整模块,具体用于:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长大于预设时长,则判断所述局部平均码率是否大于预设的最小码率参考值。
12.根据权利要求11所述的装置,其特征在于,所述调整模块,还用于:
如果所述局部平均码率与当前编码码率的绝对差值大于预设阈值,且已解码时长小于预设时长,则将所述局部平均码率和预设的最大码率参考值中的最大值作为所述编码码率。
13.根据权利要求10至12中任一项所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述目标视频的属性信息,所述属性信息中至少包括所述目标视频的目标分辨率和目标帧率。
14.根据权利要求10至12中任一项所述的装置,其特征在于,所述装置还包括:
第一确定模块,用于确定所述目标视频的属性信息和预设的标准属性信息的数学关系。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于根据所述数学关系和所述标准属性信息对应的标准码率,确定所述目标视频的最小码率参考值和最大码率参考值。
CN201711038561.0A 2017-10-30 2017-10-30 一种视频转码的方法和装置 Active CN107659819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711038561.0A CN107659819B (zh) 2017-10-30 2017-10-30 一种视频转码的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711038561.0A CN107659819B (zh) 2017-10-30 2017-10-30 一种视频转码的方法和装置

Publications (2)

Publication Number Publication Date
CN107659819A CN107659819A (zh) 2018-02-02
CN107659819B true CN107659819B (zh) 2019-10-25

Family

ID=61096563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711038561.0A Active CN107659819B (zh) 2017-10-30 2017-10-30 一种视频转码的方法和装置

Country Status (1)

Country Link
CN (1) CN107659819B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109379630B (zh) * 2018-11-27 2021-03-12 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及存储介质
CN109862442B (zh) * 2019-02-22 2022-05-17 伟乐视讯科技股份有限公司 一种基于ip传输的输入流处理方法及处理装置
CN109788316B (zh) * 2019-02-27 2020-08-14 腾讯科技(深圳)有限公司 码率控制、视频转码方法与装置、计算机设备及存储介质
CN110913245A (zh) * 2019-11-08 2020-03-24 网宿科技股份有限公司 一种控制视频转码码率的方法和装置
CN111193924B (zh) * 2019-12-26 2022-01-25 腾讯科技(深圳)有限公司 视频码率的确定方法、装置、计算机设备及存储介质
CN117478958B (zh) * 2023-09-19 2024-05-31 广州开得联软件技术有限公司 视频播放方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104159109A (zh) * 2014-05-28 2014-11-19 百视通网络电视技术发展有限责任公司 基于vbr视频编码的码率控制方法及***
CN105451099A (zh) * 2014-08-19 2016-03-30 北京大学 视频码率调整方法和装置
CN105847805A (zh) * 2016-03-30 2016-08-10 乐视控股(北京)有限公司 一种基于滑动窗口的码率控制方法和装置
US9769231B1 (en) * 2011-04-01 2017-09-19 Arris Enterprises Llc QoS for adaptable HTTP video

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895050B2 (en) * 2001-04-19 2005-05-17 Jungwoo Lee Apparatus and method for allocating bits temporaly between frames in a coding system
JP4251650B2 (ja) * 2005-03-28 2009-04-08 株式会社カシオ日立モバイルコミュニケーションズ 画像処理装置及びプログラム
US9113194B2 (en) * 2007-12-19 2015-08-18 Arris Technology, Inc. Method and system for interleaving video and data for transmission over a network at a selected bit rate
CN104717507A (zh) * 2015-03-31 2015-06-17 北京奇艺世纪科技有限公司 一种视频转码方法及装置
CN106331704B (zh) * 2015-07-07 2019-10-22 杭州海康威视数字技术股份有限公司 一种视频码率控制方法及视频编码装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769231B1 (en) * 2011-04-01 2017-09-19 Arris Enterprises Llc QoS for adaptable HTTP video
CN104159109A (zh) * 2014-05-28 2014-11-19 百视通网络电视技术发展有限责任公司 基于vbr视频编码的码率控制方法及***
CN105451099A (zh) * 2014-08-19 2016-03-30 北京大学 视频码率调整方法和装置
CN105847805A (zh) * 2016-03-30 2016-08-10 乐视控股(北京)有限公司 一种基于滑动窗口的码率控制方法和装置

Also Published As

Publication number Publication date
CN107659819A (zh) 2018-02-02

Similar Documents

Publication Publication Date Title
CN107659819B (zh) 一种视频转码的方法和装置
CN104918133B (zh) 一种视联网中视频流的播放方法和装置
CN107623851B (zh) 视频码流传输控制装置及控制方法
ES2768979T3 (es) Sistema y método para la duplicación de fotogramas y la ampliación de fotogramas en codificación y envío por flujo continuo de vídeo en directo
WO2021088263A1 (zh) 一种控制视频转码码率的方法和装置
US20110299589A1 (en) Rate control in video communication via virtual transmission buffer
CN104954633A (zh) 一种直播导播的方法、客户端及***
CN110662100A (zh) 一种信息处理方法、装置、***和计算机可读存储介质
JP7496022B2 (ja) クライアント、サーバ、受信方法及び送信方法
US10484446B1 (en) VBR encoding of live content
CN105072506B (zh) 教学直播视频的传输方法及***
TW201021576A (en) System and method for dynamic video encoding in multimedia streaming
CN105262699A (zh) 一种网络自适应编码调整方法及装置
CN104394484A (zh) 一种无线实时流媒体传输方法
CN106713913A (zh) 视频图像帧发送方法及装置、视频图像帧接收方法及装置
US20230123256A1 (en) No reference realtime video quality assessment
CN113891175B (zh) 直播推流方法、装置及***
US20230045876A1 (en) Video Playing Method, Apparatus, and System, and Computer Storage Medium
CN106454388A (zh) 一种用于确定直播设置信息的方法与设备
CN202759552U (zh) 一种基于ip网络的多终端视频同步播放的***
US20230082784A1 (en) Point cloud encoding and decoding method and apparatus, computer-readable medium, and electronic device
TW201419798A (zh) 通訊系統與方法以及程式
EP3777218A1 (en) Congestion response for timely media delivery
CN114339445B (zh) 实时视频流自适应协调***及方法
JP2008244957A (ja) 動画圧縮装置およびその動作制御方法

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
GR01 Patent grant
GR01 Patent grant