视频传输控制方法及装置与流程

文档序号:13108569阅读:179来源:国知局
技术领域本公开涉及视频传输领域,尤其涉及一种视频传输控制方法及装置。

背景技术:
目前对于视频数据采用固定的比特率进行传输,其比特率根据视频数据的大小与播放时间确定。然而,对于视频数据中不同画面的比特率要求不同,例如,精彩打斗的画面对比特率要求高,而连续静态的画面则对比特率速度要求低,采用固定的比特率传输视频数据,会造成网络带宽的浪费。

技术实现要素:
本公开的目的在于提供一种视频传输控制方法及装置,减少占用网络带宽。根据本公开的一方面,提供一种视频传输控制方法,所述方法包括:获取待传输的视频数据包和所述视频数据包的文件名称,所述文件名称中携带关键帧信息;根据各传输周期对应的关键帧信息分别确定不同传输周期的传输比特率;根据各传输周期的传输比特率分别发送不同传输周期对应的视频数据包。根据本公开的另一方面,还提供一种视频传输控制装置,所述装置包括:数据包获取单元,用于获取待传输的视频数据包和所述视频数据包的文件名称,所述文件名称中携带关键帧信息;比特率确定单元,用于根据所述数据包获取单元获取的文件名称中的各传输周期对应的关键帧信息分别确定所述数据包获取单元获取的视频数据包的不同传输周期的传输比特率;传输单元,用于根据所述比特率确定单元确定的各传输周期的传输比特率分别发送所述数据包获取单元获取的不同传输周期对应的视频数据包。根据本公开的另一方面,还提供一种服务器设备,所述服务器设备包括:存储器,用于存放程序;处理器,用于执行所述存储器存储的程序,所述程序使得所述处理器执行如前所述的视频传输控制方法的指令。采用本公开实施例的技术方案,将视频数据包中的视频数据划分为多个片段,每个片段对应一个传输周期,根据各传输周期对应的关键帧信息分别确定不同传输周期的传输比特率;根据各传输周期对应的传输比特率分别发送不同传输周期对应的视频数据包,减少占用网络带宽。而且由于视频数据非常大,有可能会达到几百兆,在视频数据编码之前,通过查找视频数据的方式获取关键帧信息需要长时间读取存储视频数据的磁盘,占用大量系统资源,而直接查找文件名称获取关键帧信息的方式无需读取磁盘,大量节省系统(磁盘)开销。附图说明图1示出本公开实施例一中的一种视频传输控制方法的流程示意图;图2示出本公开实施例二中的一种视频传输控制装置的结构示意图;图3示出本申请实施例三提供的一种服务器设备300的结构示意图。具体实施方式下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本申请的具体实施方式作进一步详细说明。以下实施例用于说明本申请,但不用来限制本申请的范围。本领域技术人员可以理解,本申请中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。本领域技术人员可以理解,在本申请具体实施方式的方法中,各步骤的序号大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请具体实施方式的实施过程构成任何限定。视频数据包在从服务器设备发送给用户端设备的过程中,服务器设备将视频数据编码之后进行封装得到视频数据包,服务器设备将封装得到的视频数据包发送给用户端设备,用户端设备接收到视频数据包之后解封装,再将解封装后的视频数据解码并进行播放。现有技术中,服务器设备将视频数据包发送给用户端设备的过程中,是采用固定的传输比特率进行发送的,而本公开的技术方案,服务器设备将封装后的视频数据包发送给用户端设备的过程中,是动态采用不同的传输比特率进行发送的,从而节省网络带宽。具体地,服务器设备在将视频数据编码并且封装得到视频数据包之后,服务器设备根据视频数据划分的多个片段(每个片段对应一个传输周期)从视频数据包的文件名称中获取关键帧信息,根据各传输周期对应的关键帧信息分别确定不同传输周期的传输比特率;再根据各片段(传输周期)对应的传输比特率分别发送不同传输周期对应的视频数据包。实施例一图1示出本公开实施例一中的一种视频传输控制方法的流程示意图。本实施例的技术方案应用于服务器设备中,在网络环境下,根据服务器设备提供的服务类型不同,可以分为文件服务器、数据库服务器、应用程序服务器或者WEB服务器等。本实施例的技术方案具体应用于文件服务器,本实施例所指的文件服务器用于处理视频数据,因此,该文件服务器也可以成为视频服务器。参见图1,一种视频传输控制方法包括S110、S120和S130。在S110,获取待传输的视频数据包和所述视频数据包的文件名称,所述文件名称中携带关键帧信息。将视频数据编码,再将编码后的视频数据封装得到待传输的视频数据包。关键帧是反映一组镜头中主要信息内容的一帧或若干帧图像,关键帧可以简洁地表达镜头内容,用关键帧代表镜头作用类似于文本检索中的关键词。可选地,本实施例中视频数据包为传输流(TransportStream,TS)格式。TS视频数据包的文件名称中携带关键帧信息,由于视频数据非常大,有可能会达到几百兆,在视频数据编码之前,通过查找视频数据的方式获取关键帧信息需要长时间读取存储视频数据的磁盘,占用大量系统资源,而直接查找文件名称获取关键帧信息的方式无需读取磁盘,大量节省系统(磁盘)开销。所述视频数据包的文件名称存储在M3U8文件中。可选地,所述关键帧信息包括关键帧对应的播放时间和所述关键帧偏移视频数据文件头的字节数。TS包的结构中包括包头、自适应区和包数据。其中,自适应区和包数据用于传送已编码的视音频数据流。TS包的包头包括同步字节、传输误码指示符、有效载荷单元起始指示符、传输优先、包识别(PacketIdentification,PID)、传输加扰控制、自适应区控制和连续计数器等。其中,可用同步字节位串的自动相关特性用于检测数据流中的包限制以及建立包同步;传输误码指示符是指存在无法消除的误码时,采用误码校正解码器可表示1bit的误码,但无法校正;有效载荷单元起始指示符用于表示该数据包是否存在确定的起始信息;传输优先是给TS包分配优先权;PID值用于指示接收端的解码器对TS数据包中的数据进行解码;传输加扰控制可指示数据包内容是否加扰,但包头和自适应区永远不加扰;自适应区控制,用于表示有否自适应区,例如01表示有有用信息无自适应区,10表示无有用信息有自适应区,11表示有有用信息有自适应区,00无定义;连续计数器可对PID包传送顺序计数,据计数器读数,接收端可判断是否有包丢失及包传送顺序错误。TS包自适应区包括自适应区长、各种标志指示符、与插入标志有关的信息和填充数据4部分组成。其中标志部分包括间断指示符、随机存取指示符、ES优化指示符、PCR标志、接点标志、传输专用数据标志、原始PCR标志和自适应区扩展标志。在编码和封装视频数据得到TS视频数据包的过程中,生成M3U8文件,M3U8文件是记录播放列表的文本文件,其中包括TS视频数据包的文件名称,在文件名称中携带了TS视频数据包的全部关键帧信息。在S120,根据各传输周期对应的关键帧信息分别确定不同传输周期的传输比特率。对于视频数据包而言,根据其中携带的视频数据的播放时长将视频数据划分为多个片段,每个片段对应一个传输周期。例如,视频数据对应的播放时长为90分钟,以5分钟为传输周期,则将视频数据划分为0-5分钟、5分钟-10分钟、10分钟-15分钟…85分钟-90分钟。可选地,所述根据所述视频数据中各传输周期对应的关键帧信息分别确定不同传输周期的传输比特率的处理包括:从所述文件名称(M3U8文件)中获取距离任一传输周期的起始时间最近的第一关键帧的信息以及距离该传输周期的终点时间最近的第二关键帧的信息;将所述第二关键帧相对于所述第一关键帧偏移所述视频数据文件头的字节数差值除以所述第二关键帧相对于所述第一关键帧的时间差值作为基准比特率;将所述基准比特率乘以传输系数得到该传输周期的传输比特率,所述传输系数大于1。例如,以播放时长为90分钟的视频数据、以5分钟为传输周期为例进行说明。对于0-5分钟这一传输周期的视频数据而言,查找到M3U8文件中距离起始时间(0分钟)最近的第一关键帧的播放时间为1分30秒,第一关键帧偏移视频数据文件头的字节数为350个字节;距离终点时间(5分钟)最近的第二关键帧的播放时间为5分30秒,第二关键帧偏移视频数据文件头的字节数为1000个字节,因此0-5分钟这一传输周期的基准比特率通过如下方式计算:(1000byte-350byte)/(5分30秒-1分30秒),根据计算结果近似取整得到的基准比特率为22bit/s。对于5分钟-10分钟这一传输周期的视频数据而言,查找到M3U8文件中距离起始时间(5分钟)最近的第一关键帧的播放时间为5分30秒,第一关键帧偏移视频数据文件头的字节数为1000个字节,距离终点时间(10分钟)最近的第二关键帧的播放时间为8分钟,第二关键帧偏移视频数据文件头的字节数为10000个字节,,因此5分钟-10分钟这一传输周期基准比特率通过如下方式计算:(10000byte-1000byte)/(8分钟-5分30秒),根据计算结果得到的基准比特率为480bit/s,其他传输周期的基准比特率的计算原理相同,在此不再赘述。分别将不同传输周期的基准比特率乘以传输系数得到对应的传输比特率。传输系数预先设置,具体地可以根据网络的传输情况确定,如果网络比较繁忙,则传输系数设置的小一些,如果网络比较空闲,则传输系数设置的大一些。在S130,根据各传输周期的传输比特率分别发送不同传输周期对应的视频数据。以播放时长为90分钟的视频数据、以5分钟为传输周期为例进行说明。根据S120中确定的0-5分钟的传输比特率发送0-5分钟对应视频数据包,根据S120中确定的5分钟-10分钟的传输比特率发送5分钟-10分钟对应的视频数据包,其他传输周期对应的视频数据包的传输方式相同。采用本公开实施例的技术方案,将视频数据包中的视频数据划分为多个片段,每个片段对应一个传输周期,根据各传输周期对应的关键帧信息分别确定不同传输周期的传输比特率;根据各传输周期对应的传输比特率分别发送不同传输周期对应的视频数据包,减少占用网络带宽。而且由于视频数据非常大,有可能会达到几百兆,在视频数据编码之前,通过查找视频数据的方式获取关键帧信息需要长时间读取存储视频数据的磁盘,占用大量系统资源,而直接查找文件名称获取关键帧信息的方式无需读取磁盘,大量节省系统(磁盘)开销。实施例二图2示出本公开实施例二中的一种视频传输控制装置的结构示意图。本实施例中的视频传输控制装置用于执行实施例一中的视频传输控制方法。参见图2,本实施例的视频传输控制装置包括数据包获取单元210、比特率确定单元220和传输单元230。数据包获取单元210用于获取待传输的视频数据包和所述视频数据包的文件名称,所述文件名称中携带关键帧信息。比特率确定单元220用于根据所述数据包获取单元获取的文件名称中的关键帧信息分别确定所述数据包获取单元获取的视频数据包的不同传输周期的传输比特率。传输单元230用于根据所述比特率确定单元确定的各传输周期的传输比特率分别发送所述数据包获取单元获取的不同传输周期对应的视频数据包。可选地,所述视频数据包为传输流格式。可选地,所述视频数据包的文件名称存储在M3U8文件中。可选地,所述装置还包括编码单元和封装单元。编码单元(图中未示出)用于将视频数据编码。封装单元(图中未示出)用于将所述编码单元编码后的视频数据封装得到所述待传输的视频数据包。数据包获取单元210从封装单元获取所述待传输的视频数据包。可选地,所述关键帧信息包括关键帧对应的播放时间和所述关键帧偏移所述视频数据文件头的字节数。可选地,所述比特率确定单元包括关键帧获取子单元和计算子单元。关键帧获取子单元(图中未示出)用于从所述数据包获取单元获取的文件名称中获取距离任一传输周期的起始时间最近的第一关键帧的信息以及距离该传输周期的终点时间最近的第二关键帧的信息。计算子单元(图中未示出)用于将所述关键帧获取子单元获取的第二关键帧相对于所述第一关键帧偏移所述视频数据文件头的字节数差值除以所述第二关键帧相对于所述第一关键帧的时间差值作为基准比特率;并将所述基准比特率乘以传输系数得到该传输周期的传输比特率,所述传输系数大于1。采用本公开实施例的技术方案,将视频数据包中的视频数据划分为多个片段,每个片段对应一个传输周期,根据各传输周期对应的关键帧信息分别确定不同传输周期的传输比特率;根据各传输周期对应的传输比特率分别发送不同传输周期对应的视频数据包,减少占用网络带宽。而且由于视频数据非常大,有可能会达到几百兆,在视频数据编码之前,通过查找视频数据的方式获取关键帧信息需要长时间读取存储视频数据的磁盘,占用大量系统资源,而直接查找文件名称获取关键帧信息的方式无需读取磁盘,大量节省系统(磁盘)开销。实施例三图3示出本申请实施例三提供的一种服务器设备300的结构示意图。本申请具体实施例并不对服务器设备300的具体实现做限定。参见图3,该服务器300可以包括:处理器(processor)310、通信接口(CommunicationsInterface)320、存储器(memory)330以及通信总线340。其中:处理器310、通信接口320以及存储器330通过通信总线340完成相互间的通信。通信接口320,用于与比如客户端等的网元通信。处理器310,用于执行程序332,具体可以执行上述方法实施例中的相关步骤。具体地,程序332可以包括程序代码,所述程序代码包括计算机操作指令。处理器310可能是一个中央处理器CPU,或者是特定集成电路(ApplicationSpecificIntegratedCircuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。存储器330,用于存放程序332。存储器330可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。程序332具体可以用于使得所述服务器设备300执行以下操作:获取待传输的视频数据包和所述视频数据包的文件名称,所述文件名称中携带关键帧信息;根据各传输周期对应的关键帧信息分别确定不同传输周期的传输比特率;根据各传输周期的传输比特率分别发送不同传输周期对应的视频数据包。程序332中所执行的操作的具体实现可以参见上述实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。采用本公开实施例的技术方案,将视频数据包中的视频数据划分为多个片段,每个片段对应一个传输周期,根据各传输周期对应的关键帧信息分别确定不同传输周期的传输比特率;根据各传输周期对应的传输比特率分别发送不同传输周期对应的视频数据包,减少占用网络带宽。而且由于视频数据非常大,有可能会达到几百兆,在视频数据编码之前,通过查找视频数据的方式获取关键帧信息需要长时间读取存储视频数据的磁盘,占用大量系统资源,而直接查找文件名称获取关键帧信息的方式无需读取磁盘,大量节省系统(磁盘)开销。需要指出,根据实施的需要,可将本申请中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本公开的目的。上述根据本公开的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CDROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1