CN117176703A - 视频传输优化方法及其装置 - Google Patents
视频传输优化方法及其装置 Download PDFInfo
- Publication number
- CN117176703A CN117176703A CN202210593243.5A CN202210593243A CN117176703A CN 117176703 A CN117176703 A CN 117176703A CN 202210593243 A CN202210593243 A CN 202210593243A CN 117176703 A CN117176703 A CN 117176703A
- Authority
- CN
- China
- Prior art keywords
- video
- partitions
- electronic device
- server
- http
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000005457 optimization Methods 0.000 title claims abstract description 45
- 238000005192 partition Methods 0.000 claims abstract description 284
- 230000004044 response Effects 0.000 claims description 22
- 230000003993 interaction Effects 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 8
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 239000012634 fragment Substances 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 239000000725 suspension Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种视频传输优化方法,该方法包括:获取待下载的视频片段的索引参数,该视频片段包括多个视频帧;依据索引参数将视频片段划分为至少两个分区,每个分区包括至少一个视频帧;确定至少两个分区的优先级信息并依据优先级信息从服务器依次获取至少两个所述分区;若超过时间阈值未完全接收所有分区,则向服务器发送中断请求,其中,该中断请求用于请求中断所有分区的应用层传输流程。该方法通过将视频片段划分分区,并对不同的分区按照优先级信息进行传输,以保证优先级高的分区优先传输,若其他分区在时间阈值内未传输完成则中止传输,通过优先级高的分区实现视频的正常播放,本申请还提供一种电子装置和计算机可读存储介质。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种视频传输优化方法及其装置。
背景技术
目前,越来越多的用户通过手机、电脑、平板电脑等客户端设备观看基于互联网的视频直播。用户对于视频直播的需求越来越高,其中提升视频直播的用户体验可通过以下三个方面:低时延、播放不卡顿及高画质。由于实际场景中,网络状态不稳定且存在网络抖动,无法同时满足以上三个方面的要求。为了在链路带宽约束范围内,充分利用带宽下载高码率视频源,现有技术提出来码率自适应技术,即客户端下载视频之前先评估网络质量,并依据评估获得的网络质量确定待下载的视频的码率。但是由于网络状态不稳定且波动较大,客户端无法精确的评估网络质量,导致客户端无法依据网络状态准确确定对应的视频源的码率,无法充分利用网络带宽,以调整视频的高画质,且由于网络抖动、网络丢包等原因导致视频下载数据较慢,无法在约束时间内下载完成,导致视频播放卡顿,影响用户体验。
发明内容
鉴于以上内容,有必要提供一种视频传输优化方法及其装置,可通过主动中断非关键视频帧的传输,保证关键视频帧在时间阈值内到达,保障视频正常播放。
第一方面,本申请实施例提供了一种视频传输优化方法,包括:获取待下载的视频片段的索引参数,所述视频片段包括多个视频帧;依据所述索引参数将所述视频片段划分为至少两个分区,每个所述分区包括至少一个视频帧;确定至少两个所述分区的优先级信息并依据所述优先级信息从服务器依次获取至少两个所述分区;若超过时间阈值未完全接收所有所述分区,则向所述服务器发送中断请求,其中,所述中断请求用于请求中断所有所述分区的应用层传输流程。
如此,通过对待下载的视频片段划分分区并确定多个分区的优先级信息,以便服务器可依据优先级信息优先传输重要程度高的分区(例如包含关键视频帧),从而保证在时间阈值内重要程度高的视频帧传输完成,当在时间阈值内其他分区(例如包含非关键视频帧)未传输完成,通过发送中断请求,以中止其他分区的继续传输,通过在应用层中断分区的传输,以缩短多个分区的整体传输时间,在现有的网络状况无法保证视频片段在时间阈值内传输完成时,通过主动丢弃部分分区的传输,并可依据成功传输的分区组成的新的视频片段,以保证视频的正常播放,防止因网络抖动等原因导致视频播放卡顿,以提升用户的观看体验。
在上述第一方面的一种可能的实现中,所述服务器依据超文本传输协议HTTP/2协议或超文本传输协议HTTP/3协议传输至少两个所述分区,所述优先级信息包括每个分区对应的权重,所述依据所述优先级信息从服务器依次获取至少两个所述分区包括:形成每个所述分区对应的第一HTTP请求,所述第一HTTP请求消息用于请求获取对应的所述分区,每个所述第一HTTP请求携带所述分区对应的权重;向所述服务器并发至少两个所述第一HTTP请求,以使所述服务器依据所述权重传输至少两个所述分区。如此,通过HTTP/2协议或HTTP/3协议传输视频片段的至少两个分区,通过上述协议的并发功能,将多个HTTP请求同时发送至服务器,服务器依据HTTP请求中权重依次处理该HTTP请求,即服务器可优先处理权重高的HTTP请求,以将该HTTP请求对应的分区优先发送,或为该分区的发送分配更多的资源,以保证该分区的传输。
在上述第一方面的一种可能的实现中,其中,所述中断请求包括:HTTP/2或HTTP/3中的RST_STREM帧。通过RST_STREM帧实现中断服务器对所有分区的传输。
在上述第一方面的一种可能的实现中,所述服务器依据HTTP/1.1协议传输至少两个所述分区,所述依据所述优先级信息从服务器按顺序依次获取至少两个所述分区包括:形成每个所述分区对应的第二HTTP请求,所述第二HTTP请求消息用于请求获取对应的所述分区;依据所述优先级信息向所述服务器依次发送至少两个所述第二HTTP请求,以使所述服务器依据接收的所述第二HTTP请求依次传输对应的所述分区。通过HTTP/1.1协议管线化功能传输HTTP请求,并依据优先级信息优先传输优先级较高的分区对应的HTTP请求,以使服务器依据接收到的HTTP请求的顺序传输对应的分区,从而保证服务器可优先传输优先级较高的分区,以保证优先级较高的分区较优先级较低的分区提前传输完成。
在上述第一方面的一种可能的实现中,所述索引参数包括所述视频片段播放的持续时间;所述时间阈值的确定方法包括:依据所述持续时间确定所述时间阈值。其中,若持续时间为固定值,则时间阈值可为固定值,当然时间阈值也可为变化的值,其中时间阈值用于保证在该时间内传输完成视频片段,以便客户端可流程播放视频,避免视频播放产生卡顿。
在上述第一方面的一种可能的实现中,所述索引参数包括视频帧的帧类型,所述视频帧的帧类型包括:I帧、P帧和B帧;所述依据所述索引参数将所述视频片段划分为至少两个分区包括:依据所述视频帧的帧类型将所述视频片段划分为至少两个分区。不同的帧类型的视频帧的重要程度不同,依据帧类型划分视频片段,以便于将重要程度不同的视频帧划分至不同的分区内。
在上述第一方面的一种可能的实现中,所述依据所述索引参数将所述视频片段划分为至少两个分区包括:获取多个所述视频帧之间的依赖关系;依据所述视频帧的帧类型和所述依赖关系将所述视频片段划分为至少两个分区。通过依赖关系可分区相同帧类型的视频帧的重要程度,通过依赖关系和帧类型配合,可依据视频帧的重要程度将多个视频帧划分至至少两个分区内。
在上述第一方面的一种可能的实现中,所述确定至少两个所述分区的优先级信息包括:依据所述视频帧的帧类型和所述依赖关系确定至少两个所述分区的所述优先级信息。通过依赖关系和帧类型配合确定多个视频帧的重要程度,并依据该重要程度确定对应分区的重要程度,依据分区的重要程度确定至少两个分区的优先级信息。
在上述第一方面的一种可能的实现中,所述索引参数包括所述视频片段的大小,依据所述视频片段的大小将所述视频片段划分为至少两个分区;其中,帧类型为I帧的视频帧位于目标分区中,且所述目标分区的优先级大于其余所述分区的优先级。
在上述第一方面的一种可能的实现中,所述方法还包括:依据接收的所述分区组成新的视频片段。
第二方面,提供一种视频传输优化方法,应用于一视频传输优化系统,所述视频传输优化系统包括服务器和电子装置,所述方法包括:所述服务器向所述电子装置发送交互消息;所述电子装置依据所述交互消息获取待下载的视频片段的索引参数,所述视频片段包括多个视频帧;所述电子装置依据所述索引参数将所述视频片段划分为至少两个分区,每个所述分区包括至少一个视频帧;所述电子装置确定至少两个所述分区的优先级信息并依据所述优先级信息从服务器依次获取至少两个所述分区;若超过时间阈值未完全接收所有所述分区,则所述电子装置向所述服务器发送中断请求,其中,所述中断请求用于请求中断所有所述分区的应用层传输流程。
在上述第二方面的一种可能的实现中,所述交互消息携带待下载的所述视频片段对应的索引文件,所述索引文件包括索引参数。
在上述第二方面的一种可能的实现中,所述交互信息携带索引文件,在所述服务器向所述电子装置发送交互消息之前,所述方法还包括:所述服务器依据所述待下载的视频片段生成对应的所述索引文件,所述索引文件包括索引参数。
在上述第二方面的一种可能的实现中,所述服务器依据HTTP/2协议或HTTP/3协议向所述电子装置传输至少两个所述分区,所述优先级信息包括每个分区对应的权重,所述依据所述优先级信息从服务器获取至少两个所述分区包括:所述电子装置形成每个所述分区对应的第一HTTP请求,每个所述第一HTTP请求携带所述分区对应的权重;所述电子装置向所述服务器并发至少两个所述第一HTTP请求;所述服务器接收所述电子发送的至少两个所述第一HTTP请求,依据所述权重向所述电子装置发送所述第一HTTP请求对应的第一HTTP响应消息,每二个所述第一HTTP响应消息携带对应的所述分区。
在上述第二方面的一种可能的实现中,所述中断请求包括:HTTP/2或HTTP/3中的RST_STREM帧。
在上述第二方面的一种可能的实现中,所述服务器依据HTTP/1.1协议向所述电子装置传输至少两个所述分区,所述依据所述优先级从服务器获取至少两个所述分区包括:所述电子装置形成每个所述分区对应的第二HTTP请求,每个所述第二HTTP请求消息用于请求获取对应的所述分区;所述电子装置依据所述优先级信息向所述服务器依次发送至少两个所述第二HTTP请求;所述服务器依据接收的所述第二HTTP请求向所述电子装置发送第二HTTP响应,所述第二HTTP响应携带所述第二HTTP请求的所述分区。
第三方面,本申请实施例提供了一种电子装置,所述电子装置包括处理器和存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子装置执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种电子装置,包括拦截与解析模块,元数据解析与数据切分模块,多请求发送模块,资源下载统计模块及中止模块,其中,拦截与解析模块用于接收服务器发送的消息,解析该消息以获取索引参数;元数据解析与数据切分模块用于依据索引参数将待下载的视频片段划分为至少两个分区;多请求发送模块用于依据每个分区形成对应的请求消息,并将多个请求消息发送至服务器,以请求获取服务器返回请求的分区;资源下载统计模块用于统计从服务器获取的分片;中止模块用于判断所有分区是否在时间阈值内传输完成,若没有传输完成,则中止模块向服务器发送中断请求,中断请求用于请求中断所有分区的应用层传输流程。
第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中包括计算机程序代码,当计算机程序代码被计算机执行时,使得计算机实现上述第一方面中任一项的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,用于储存计算机程序或指令,计算机程序或指令被执行时使得计算机执行上述第一方面中任一项的方法。
第七方面,本申请实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口例如是输入/输出接口、管脚或电路等。处理器用于读取指令以执行上述第一方面中任一项所述的方法。
应当理解地,上述提供的第二方面所述的方法,第三方面所述的电子装置,第四方面所述的电子装置,第五方面所述的计算机程序产品,第六方面所述的计算机可读存储介质,第七方面所述的芯片均与上述第一方面的方法对应,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例的视频传输优化的应用环境示意图。
图2为本申请实施例的码率自适应传输的示意图。
图3为本申请实施例的视频传输优化系统的示意图。
图4为本申请实施例的视频传输优化方法的流程示意图。
图5为本申请实施例的视频片段的树状示意图。
图6为本申请实施例的视频片段的划分示意图。
图7为本申请实施例的电子装置的硬件示意图。
图8为本申请实施例的电子装置的模块示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请实施例的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请中的技术领域的技术人员通常理解的含义相同。本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。应理解,本申请中除非另有说明,“多个”是指两个或多于两个,“和/或”包括关联的所列项目中的一个或多个的任何和所有组合。
下面首先对本申请实施例可能涉及的相关术语和概念进行介绍。
超文本传输协议1.1(Hypertext Transfer Protocol Version 1.1,HTTP1.1),该协议支持HTTP管线化(HTTP pipelining),即将多个HTTP请求(request)整批提交的技术,而在发送过程中不需先等待服务器的回应,服务器端依据接收的HTTP请求的顺序返回对应的HTTP响应(response)。
超文本传输协议2.0(HTTP/2,原名HTTP/2.0),该协议支持多路复用和流,其中流是一个独立的、双向的帧序列,可以通过一个HTTP2的连接在服务端与客户端之间不断的交换数据。每个单独的HTTP2连接都可以包含多个并发的流(使用一个连接并行发送多个请求和响应),这些流中交错的包含着来自两端的帧。流既可以被客户端/服务器端单方面的建立和使用,也可以被双方共享,或者被任意一边关闭。
超文本传输协议3.0(HTTP/3,原名HTTP/3.0),该协议支持多路复用和流。
网络抖动,指每个数据包从发送端到接收端的最大延迟与最小延迟的时间差,它主要标识一个网络的稳定性。例如,最大延迟是20毫秒,最小延迟为5毫秒,那么网络抖动就是15毫秒。
I帧,又称为内部画面(intra picture),一个数据包的序列中可以有很多的I帧,I帧之后的图像可以引用I帧之间的图像做运动参考。
P帧,前向预测编码帧。P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。
B帧,双向预测内插编码帧。B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别,B帧可以作其它B帧的参考帧,也可以不作为其它B帧参考帧。
画面组(Group of Pictures,GOP),GOP是序列中的一个图片集,用来辅助随机存取。一个GOP就是一组连续的画面。GOP的第一个图像必须为I帧,这样就能保证GOP不需要参考其他图像,可以独立解码。
为了便于理解,首先结合图1介绍视频传输的应用场景。
如图1所示,服务器获取摄像机等视频采集设备采集的视频信号,服务器将该视频信号编码为多个视频片段。用户在客户端观看视频直播时,向服务器发送视频下载请求,服务器依据该视频下载请求将对应的视频片段打包,并通过网络传送至客户端。客户端接收到该打包后的视频片段后,为了防止视频播放卡顿,客户端首先对该视频片段进行缓冲,缓冲预设时间后,客户端解码该视频片段并播放解码后的视频片段。
在一些实施例中,为了对抗网络抖动并充分利用带宽下载高码率视频源,可在服务器和客户端部署码率自适应技术。其中码率自适应技术可由码率自适应协议实现,常见的码率自适应协议包括基于HTTP的动态自适应流协议(Dynamic Adaptive Streamingover HTTP,DASH)、基于HTTP的自适应码率流媒体传输协议(HTTP Live Streaming,HLS)。码率自适应技术大致工作过程如下:
服务器接收到视频信号之后将视频信号编码成多码率视频片段,并依据视频片段生成索引文件(例如DASH协议使用MPD文件,HLS协议使用m3u8文件)。其中,索引文件中包括视频片段的视频码率信息、视频片段播放持续时间、视频片段大小、视频片段中不同视频帧的位置偏移、视频帧的帧类型等参数。客户端依据接收到的索引文件获取视频片段的信息,并依据上一个视频片段的下载状态(下载数据大小,下载时间等)评估获得本次下载视频片段时的网络质量,并依据评估获得的网络质量动态选择下载的视频片段的码率。例如,若客户端侧估测当前的网络质量较好或带宽较好,则客户端选择下载码率高的视频片段。若客户端侧估测当前的网络质量差或带宽不好,则客户端选择下载码率低的视频片段。
如图2所示,图2为码率自适应方法的应用示意图,以服务器提供三种码率的视频片段:500kbps、1000kbps及2000kbps为例,客户端依据估测获得的网络质量选择下载的视频片段的码率。例如,客户端依据估测获得的网络质量并按照时间顺序依次选择码率为1000kbps、500kbps、1000kbps、2000kbps的视频片段。但是由于实际场景中网络波动较大(例如上一个视频片段的下载状态与本次视频片段的下载状态存在较大差异),且现有的测量技术无法快速准确测量网络质量,导致客户端无法基于估测的网络质量准确确定待选择下载的视频片段的码率。进一步地,为了保证视频片段在约束时间内到达,客户端选择下载的视频片段的码率通常小于通过估测获得的网络质量确定的码率,导致无法充分利用网络带宽为用户提供高画质的视频。
基于上述问题,本申请实施例提供一种视频优化传输方法,在获取待下载的视频片段之前,首先获取该视频片段的索引参数(例如上文所述的索引文件),并依据该索引参数将视频片段划分为多个分区,再依据多个分区的重要程度确定多个分区的请求下载顺序或依据多个分区的重要程度确定服务器发送多个分区的顺序,即依据分区的重要程度分别传输多个分区,以保证重要程度较高的分区可优先传输且在约束时间内传输成功。若由于网络质量变化等原因导致超过约束时间未完全下载多个分区,则向服务器发送中断消息,以中断服务器在应用层传输的多个分区。客户端可依据接收到分区(包含重要程度较高的分区)组合成新的视频片段,以便供用户正常观看视频。如此,由于多个分区的重要程度不同,可将重要程度较高的分区优先传输,以保证重要程度较高的分区在约束时间内到达,若到达约束时间之后还存在其他分区未到达,则可通过在应用层中断其他分区的应用层传输,通过在应用层主动中断分区的传送,以缩短多个分区的整体传输时延,且由于重要程度较高的分区已在约束时间内发送至客户端,可保证客户端在约束时间内播放该新的视频片段,从而在实际的网络质量波动较大时保证重要程度较高的分区可以在约束时间内传输至客户端,以保证用户的观看体验。
进一步地,该视频优化传输方法可实现单边部署,无需与其他设备进行协商,无需实时检测网络质量,易于实现。其中,本申请中的约束时间又称为时间阈值,该约束时间可为固定值,也可为基于待传输的视频片段确定的值。
请参见图3,图3为本申请提供的一种视频传输优化系统的示意图。视频传输优化系统100包括服务器10、第一电子装置20和第二电子装置30。其中,第二电子装置30中设置有客户端32。在本申请实施例中,第一电子装置20可为部署在服务器10与客户端32之间的网关设备、防护墙等电子装置。第二电子装置30可为具有显示功能的电子装置,例如移动终端、平板电脑等。
服务器10用于接收视频信号,并将视频信号编码为视频片段,通过第一电子装置20将服务器10提供的视频片段传输至第二电子装置30,用户可通过设置于第二电子装置30的客户端32观看视频。
本申请实施例提供的视频传输优化方法可部署于第一电子装置20。具体地,第一电子装置20若从服务器10下载视频片段,首先从服务器10获取索引参数,并依据该索引参数将待下载的视频片段划分为多个分区。接着,依据索引参数确定多个分区的优先级信息,并依据该优先级信息从服务器10通过应用层协议下载多个分区。若第一电子装置20在时间阈值内未完全下载多个分区,则第一电子装置20向服务器10发送中断请求,以中断多个分区在应用层的传输。
其中,服务器10和第一电子装置20可通过HTTP等协议传输视频片段。如此,中断请求主要用于停止基于应用层协议传输多个分区的流程。
在一实施例中,服务器10和第一电子装置20之间采用的流媒体网络协议为DASH或HLS,则在服务器10将视频信号编码成多码率视频片段之后,同时服务器10依据上述流媒体网络协议形成索引文件(例如DASH协议使用MPD文件,HLS协议使用m3u8文件),其中该索引文件包括索引参数,第一电子装置20可接收服务器10发送的检索文件,并依据检索文件获得待下载视频片段的索引参数。
其中,索引参数可包括待下载视频片段的播放持续时间、视频片段大小、视频片段中不同视频帧的位置偏移、视频片段中视频帧的帧类型中的一种或多种。
在其他实施例中,服务器10和第一电子装置20之间采用的流媒体网络协议不具有生成索引文件的功能,则服务器10还用于依据待下载的视频片段形成索引参数,并将该索引参数发送至第一电子装置20。
当然,该视频优化传输方法还可部署于第二电子装置30。若该视频优化传输方法部署于第二电子装置30,则第二电子装置30可通过第一电子装置20从服务器10下载视频片段,具体执行过程同第一电子装置20,这里不再赘述。
请参考图4,为本申请实施例的一种视频传输优化方法的流程图。本申请的视频传输优化方法应用于一电子装置,该电子装置可为图3中的第一电子装置20,也可为第二电子装置30。所述视频传输优化方法包括:
S401、电子装置获取待下载视频片段的索引参数。
其中,视频片段包括多个视频帧。视频帧的帧类型可包括I帧、P帧及B帧。
可以理解,索引参数为服务器提供的视频片段中的视频帧的索引参数。索引参数可包括待下载视频片段的播放持续时间、视频片段大小、视频片段中不同视频帧的位置偏移、视频片段中视频帧的帧类型中的一种或多种。电子装置可依据索引参数(例如视频片段大小、视频片段中不同视频帧的位置偏移)确定多个视频帧在视频片段中的位置,即可通过索引参数索引视频片段中的视频帧。
在一实施例中,若电子装置和服务器之间的流媒体网络协议为DASH或HLS,该流媒体网络协议可生成索引文件,且基于该流媒体网络协议生成的索引文件可由服务器发送至电子装置。其中,若流媒体网络协议为DASH,则生成的索引文件为MPD文件。若流媒体网络协议为HLS,则生成的索引文件为M3U8文件。电子装置通过解析服务器发送的索引文件,可获取索引参数。
在另一实施例中,若电子装置和服务器之间的流媒体网络协议不具有生成索引文件的功能,则服务器向客户端发送视频片段之前,服务器还用于依据视频片段生成索引参数,并将该索引参数发送至电子装置。
S402、电子装置依据索引参数将该视频片段划分为至少两个分区,每个分区包括至少一个视频帧。
可以理解,本申请实施例中分区的数量可依据实际的场景进行设定。例如,可将视频片段划分为3个、4个或大于4个分区。
可以理解,本申请实施例中每个分区中的视频帧的数量可以相同,也可以不同。例如,多个分区中的视频帧的数量均为四个。又例如,其中一个分区中的视频帧的数量为一个,另一个分区中的视频帧的数量为四个。
具体的,电子装置依据索引参数确定多个视频帧的不同重要程度,并依据视频片段中多个视频帧的不同重要程度,将视频片段的多个视频帧划分至不同的分区中,以实现视频片段的划分。如此,由于不同重要程度的视频帧位于不同的分区中,可对多个不同的分区进行差异化处理,例如优先传输重要程度较高的分区,以保证重要程度较高的视频帧可优先传输,从而在约束时间内传输至电子装置。
可以理解,由于视频帧的帧类型包括I帧、P帧及B帧。其中仅解码I帧的数据就可重构完整图像,B帧和P帧的解码均需参考I帧,B帧的解码需要参考P帧。因此I帧为关键帧,I帧的重要程度最高,P帧的重要程度次之,B帧的关键程度最低,即依据帧类型确定多个视频帧的重要程度。如此,电子装置可仅依据视频帧的帧类型将多个视频帧划分至不同分区中,以实现视频片段的划分。例如,将帧类型为I帧、B帧和P帧的视频帧分别划分至三个分区中,或者将帧类型为I帧的视频帧划分至一个分区中,将帧类型为B帧和P帧的视频帧划分至另一个分区中。
请参见图5,图5为本申请实施例提供的一个视频片段的树状示意图。其中,该视频片段可为一个GOP,该GOP包括16个视频帧:I0B1B2B3P4B5B6B7P8B9B10B11P12B13B14B15。即,该GOP包括1个帧类型为I帧的视频帧(I0),3个帧类型为P帧的视频帧(P4P8P12),12个帧类型为B帧的视频帧(B1B2B3B5B6B7B9B10B11B13B14B15)。
其中,如上所述,在一些实施例中,电子装置可依据视频帧的帧类型将该视频片段划分为至少两个分区。例如,依据帧类型将上述16个视频帧分为三个分区,其中,第一分区包括I0,第二分区包括P4P8P12,第三分区包括B1B2B3B5B6B7B9B10B11B13B14B15。
进一步地,在本申请实施例中,电子装置还可依据图5所示的树状图确定多个视频帧之间的依赖关系。其中,假设解码一个视频帧A需要参考另一个视频帧B,则可确定视频帧A与视频帧B之间具有依赖关系。例如,视频帧I0可独立解码,解码I帧无需参考其他视频帧,解码视频帧P4时需参考视频帧I0,解码视频帧P8和B2均参考视频帧P4。以解码视频帧P8需要参考视频帧P4为例,由于解码视频帧P8需要参考视频帧P4,视频帧P8与视频帧P4具有依赖关系,其中依赖关系为单向。
可以理解,在一些实施例中,若解码一个视频帧需要参考多个视频帧,则该视频帧与多个视频帧均具有参考关系。
可以理解,依赖关系可预先存储于对应的电子装置中,依赖关系还可在电子装置与服务器交互协商过程中确定。
可以理解,在另一些实施例中,电子装置可依据视频帧的帧类型和依赖关系将视频片段的多个视频帧划分为至少两个分区。示例性地,如图5所示,电子装置可依据帧类型和依赖关系将视频帧I0和视频帧P4划分为一个第一分区,将视频帧B1B2B3划分为一个第二分区,将视频帧B5B6B7P8划分为一个第三分区,将视频帧B9B10B11P12划分为一个第四分区,将视频帧B13B14B15划分为一个第五分区。
在一些实施例中,电子装置在向服务器获取视频片段之前,电子装置依据与服务器的交互信息获取索引参数,并依据该索引参数将该待下载的视频片段划分为至少两个分区,其中,帧类型为I帧的视频帧位于目标分区中,且该目标分区的优先级大于其余分区的优先级。
具体地,在电子装置向服务器获取视频片段之前,电子装置向服务器发送HTTP请求,服务器向电子装置返回HTTP响应,电子装置依据HTTP响应消息获取索引参数。其中,索引参数包括视频片段的大小,电子装置可以依据视频片段的大小将视频片段划分为至少两个分区。示例性地,每种视频片段的大小对应一种视频帧的组合。例如,视频片段的大小为60KB,该视频大小对应的视频帧的组合为IPPBB,电子装置中可依据预先设置帧类型为I帧的视频帧的大小(例如15KB),且帧类型为I帧的视频帧的位置(例如视频片段的开始位置)对该视频片段进行划分,例如将视频片段开始20KB的区域划分为第一分区,中间20KB的区域划分为第二分区,将最后20KB的区域划分为第三分区。
S403、电子装置确定至少两个分区的优先级信息。
其中,优先级信息可为分区对应的权重,权重较大的优先级较高,重要程度较高。又例如,优先级信息可为分区的优先级,通过优先级可直接确定多个分区的重要程度。
可以理解,优先级信息用于标识至少两个分区的重要程度,便于依据该重要程度安排至少两个分区的下载顺序或安排下载该分区时分配的资源,以便于可优先处理重要程度高的分区,保证重要程度高的分区在约束时间内传输到电子装置。
在一些实施例中,电子装置获取每个分区的依赖关系,并依据多个视频帧的帧类型和依赖关系确定至少两个分区的优先级信息。示例性地,若分区中包括帧类型为I帧的视频帧,则该分区的优先级为最高,若两个分区中的帧类型分别为P帧和B帧,则包含P帧的分区的优先级高于包含B帧的分区。又例如,若两分区(例如第一分区和第二分区)中既包含P帧,也包含B帧,且第一分区的P帧与第二分区的P帧具有依赖关系,即解码第一P帧需参考第二分区的P帧,则可确定第二分区的优先级高于第一分区的优先级。
又比如,每种帧类型的视频帧具有预设的第一权重,且由于不同视频帧之间存在依赖关系,依据依赖关系可为每个视频帧设置对应的第二权重,电子装置获取分区中至少一个视频帧的帧类型和依赖关系,依据视频帧的帧类型对应的第一权重和依赖关系对应的第二权重确定分区的权重值,依据至少两个分区的权重值确定至少两个分区的优先级信息(例如权重值越大,优先级越高)。示例性地,I帧的权重为40,P帧的权重为20,B帧的权重为10,依赖关系对应的第二权重为0.5,则若第一分区包含I帧、P1帧,第二分区包括:P2帧、B1帧,第三分区包括:B2帧,其中,解码P1帧需参考I帧,解码P2帧需参考P1帧,解码B1帧、B2帧需参考P2帧。则第一分区的权重值为40+20=60,第二分区的权重值为20*0.5+10*0.5=15,第三分区的权重值为10*0.5+10*0.5=10,则可依据权重值的大小确定三个分区的优先级:第一分区的优先级最高、第二分区的优先级次之,第三分区的优先级最低。
S404、电子装置依据优先级信息从服务器依次获取至少两个分区。
具体地,电子装置依据优先级信息确定不同的分区的重要程度,依据不同分区的重要程度依次从服务器获取至少两个分区,以使重要程度较高的分区可优先传输或分配较多的资源进行传输,从而保证重要程度较高的分区可在约束时间内传输至电子装置。
在一实施例中,以优先级信息包括每个分区对应的权重,电子装置和服务器之间采用HTTP/2协议或HTTP/3协议传输至少两个分区为例,S404具体包括:
电子装置形成每个分区的HTTP请求,每个HTTP请求携带该分区对应的权重;
电子装置向服务器发送至少两个HTTP请求,以使服务器依据接收到的至少两个HTTP请求,向电子装置发送对应的HTTP响应,每个HTTP响应携带对应的分区。
其中,HTTP/2协议或HTTP/3协议支持流的并发,每个流是完整的请求-响应数据交互过程。如此,通过多个流传输至少两个分区,在流传输过程中,电子装置将至少两个HTTP请求同时发送至服务器,服务器接收到至少两个HTTP请求,依据HTTP请求向电子装置发送HTTP请求对应的HTTP响应,由于不同的HTTP请求携带对应的权重,服务器依据该权重为该HTTP请求对应的HTTP响应消息分配资源。例如,服务器为不同的权重对应的HTTP响应消息分配不同的CPU资源,权重大的HTTP请求对应的HTTP响应消息被分配的CPU资源较多,权重小的HTTP请求对应的被分配的CPU资源较少。如此,可保证权重较大的分区可由服务器优先传输,以保证该分区可在约束时间内传输至电子装置。
示例性地,请参见图6,电子装置将视频片段划分为5个分区:S1、S2、S3、S4、S5,其中,S1的权重为100且包括2个视频帧,S2的权重为200且包括4个视频帧,S3的权重为200且包括3个视频帧,S4的权重为100且包括4个视频帧,S5的权重为100且包括6个视频帧。电子装置和服务器之间依据五个分区形成5个子流传输对应的分区,每个子流包括电子装置形成的HTTP请求,和服务器依据HTTP请求形成的HTTP响应。服务器依据每个HTTP请求中携带的权重值为该子流分配不同的CPU资源,以保证权重大的子流优先传输。如此,由于分区S2和S3的权重值较大,且服务器为该分区的传输分配的资源较多,以保证分区S2和S3在资源或带宽受限的条件下可优先传输,从而可在约束时间内传输完成。
在另外一些实施例中,以电子装置和服务器之间采用HTTP/1.1协议传输至少两个分区为例,S404包括:
电子装置形成每个分区对应的第二HTTP请求,每个第二HTTP请求消息用于请求获取对应的分区;
电子装置依据优先级信息向服务器依次发送至少两个第二HTTP请求,以使服务器接收的第二HTTP请求依次传输对应的分区。
其中,由于HTTP/1.1协议支持管线化,电子装置依据至少两个分区的优先级信息,按照顺序向服务器依次发送至少两个分区对应的HTTP请求(例如,电子装置优先发送优先级高的分区对应的HTTP请求),服务器依据接收到HTTP请求的顺序向电子装置回复对应的HTTP响应。即电子装置依据优先级信息控制至少两个分区对应的HTTP请求的发送顺序,以保证优先级较高的分区对应的HTTP请求优先发送,以保证优先级高的分区可在约束时间内发送完成。
示例性地,电子装置将视频片段划分为两个分区:C和D,C和D分别对应:HTTP请求1和HTTP请求2,由于分区C的优先级高于D的优先级,则电子装置向服务器发送HTTP请求1早于向服务器发送HTTP请求2。
可以理解,在其他实施例中,电子装置和服务器还可通过其他应用层协议传送该视频片段,例如HTTP1.0等。
S405、若超过时间阈值未完全接收所有分区,则电子装置向服务器发送中断请求。
其中,中断请求用于请求中断至少两个分区的应用层传输。具体地,电子装置向服务器发送请求消息,以使服务器向电子装置发送至少两个分区,当由于网络带宽资源不足或其他网络原因导致超过时间阈值后,所有分区还未完全传输完成,则电子装置向服务器发送中断请求,以停止服务器继续在应用层向电子装置传输该分区。
示例性的,视频片段包括3个分区,电子装置向服务器发送三个HTTP请求消息,以请求服务器向该电子装置发送对应的3个分区,电子装置同时启动定时器。若定时器到达时间阈值时,电子装置仅接收到服务器发送的2个分区,则电子装置向服务器发送中断消息,以使服务器停止另一个分区的传输。
可以理解,若在时间阈值内电子装置接收到服务器发送的全部分区,则电子装置无需向服务器发送中断请求。
在一些实施例中,时间阈值可为一个固定值。例如,电子装置和服务器之间每次发送的视频片段的播放持续时长为固定值(例如2秒),则电子装置可依据传输时间,编码时间、解码时间和持续时长确定时间。示例性地,播放持续时长为2秒,传输时间0.1秒,编码时间0.1秒,解码时间为0.1秒,则可将时间阈值设置为2.3秒。
在另一些实施例中,时间阈值依据视频片段的播放时长确定。例如,电子装置和服务器之间传输的视频片段的播放时长依据估测的网络质量确定,网络质量越好,则服务器需传输的视频片段的播放时长越长,相应的,时间阈值也越长。
S406、电子装置依据接收的分区组成新的视频片段。
具体地,电子装置接收到服务器发送的分区之后,依据接收到的分区组成新的视频片段。由于该新的视频片段中包括重要程度较高的分区,该分区包含重要程度较高的视频帧(例如帧类型为I帧的视频帧),在电子装置为完全接收视频片段的所有分区的情况下,电子装置可依据重要程度较高的分区实现视频片段的正常播放。当然,若网络质量较差或丢包比较严重,服务器发送的视频帧均未被电子装置成功接收,则电子装置无法成功播放该视频帧,但是本申请提供的视频传输优化方法可减少视频卡顿的概率,提升视频正常播放的概率。
参考图7所示,为本申请实施例的一种电子装置的硬件结构示意图。
如图7所示,电子装置70可以包括:RF电路701、存储器702、输入单元703、显示单元704、传感器705、音频电路706、扬声器7061、传声器7062、Wi-Fi模块(Wireless Fidelity)707、处理器708。本领域技术人员可以理解,图7中示出的结构并不构成对电子装置70的限定,电子装置70可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
RF电路701可用于发送预警信息和接收预警指示信息,对信号进行接收和发送等。特别地,RF电路701接收基站的下行信息后,转给处理器708进行处理。另外,RF电路701还用于将涉及上行的数据发送给基站。通常,RF电路701包括,但不限于:天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。
存储器702可用于存储软件程序以及模块,处理器708通过运行存储在存储器702中的软件程序以及模块,从而执行电子装置70的各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子装置的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元703可用于接收输入的数字或字符信息,以及产生与电子装置70的用户设置以及功能控制有关的键信号输入。具体地,输入单元703可包括触控面板7031以及其他输入设备7032。触控面板7031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触控笔等适合的物体或附件在触控面板7031上或在触控面板7031附近的操作,以划定设定区域),并根据预先设定的程序驱动相应的连接装置。可选地,触控面板7031可包括触摸检测装置和触摸电子装置两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸电子装置;触摸电子装置从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器708,并接收处理器708发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板7031。其他输入设备7032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元704可用于显示由用户输入的信息或提供给用户的信息以及电子装置的感兴趣区域或环境图像。显示单元704可包括显示面板7042。可选地,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板7042。进一步地,触控面板7031可覆盖显示面板7042,当触控面板7031检测到在其上或附近的触摸操作后,传送给处理器708以确定触摸事件的类型,随后处理器708根据触摸事件的类型在显示面板7042上提供相应的视觉输出,可以将触控面板7031与显示面板7042集成而实现电子装置的输入和输出功能。
电子装置70还可包括至少一种传感器705,比如光传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板7042的亮度,接近传感器可在电子装置70移动到耳边时,关闭显示面板7042和/或背光。此外,电子装置70还可配置气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路706、扬声器7061及传声器7062可提供用户与电子装置70之间的音频接口。音频电路706可将接收到的音频数据转换后的电信号,传输到扬声器7061,由扬声器7061转换为声音信号输出。另一方面,传声器7062将收集的声音信号转换为电信号,由音频电路706接收后转换为音频数据,再将音频数据输出处理器708处理后,经RF电路701发送给另一电子装置,或者将音频数据输出至存储器702以便进一步处理。
Wi-Fi属于短距离无线传输技术,电子装置70通过Wi-Fi模块707可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了Wi-Fi模块707,但是可以理解的是,其并不属于电子装置70的必需构成,完全可以根据需要、在不改变发明本质的范围内进行省略。
处理器708是电子装置70的控制中心,利用各种接口和线路连接整个电子装置70的各个部分。处理器708通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行电子装置的各种功能和处理数据,从而对电子装置进行整体监控。可选地,处理器708可包括一个或多个处理单元。优选的,处理器708可集成应用处理器和调制解调器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器708中。
电子装置70还包括给各个部件供电的电源709(比如电池)。可选地,电源709可以通过电源管理系统与处理器708逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
电子装置70还包括PIR710,PIR710为被动式红外侦测器,用于获取检测区域的侦测信息。
电子装置70还可以包括摄像头、蓝牙模块等,在此不再赘述。
图7中描述的电子装置的处理器用于调用所述存储器中的指令,以用于实施本申请图4介绍的方法实施例中的部分或全部流程,可参见前述图4所述实施例中的相关阐述,这里不再赘述。
请参见图8,为本申请实施例提供的一种电子装置的模块示意图。电子装置包括拦截与解析模块,元数据解析与数据切分模块,多请求发送模块,资源下载统计模块及中止模块。
其中,拦截与解析模块用于接收服务器发送的消息,解析该消息以获取索引参数。
元数据解析与数据切分模块用于依据索引参数将待下载的视频片段划分为至少两个分区。
多请求发送模块用于依据每个分区形成对应的请求消息,并将多个请求消息发送至服务器,以请求获取服务器返回请求的分区。
资源下载统计模块用于统计从服务器获取的分片。
中止模块用于判断多个分区是否在时间阈值内传输完成,若没有传输完成,则中止模块向服务器发送中断请求。中断请求用于请求中断至少两个分区的应用层传输流程。
其中,拦截与解析模块,元数据解析与数据切分模块,多请求发送模块,资源下载统计模块及中止模块具体执行方法可参见上述实施例,这里不再赘述。
应理解,图8仅作为电子装置一种示例,而非限定。电子装置可以有比图8所示的更多或更少的模块。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子装置上运行时,使得电子装置执行上述相关方法步骤实现上述实施例中的视频传输优化方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在电子装置上运行时,使得电子装置执行上述相关步骤,以实现上述实施例中的视频传输优化方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的视频传输优化方法。
其中,本实施例提供的电子装置、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种视频传输优化方法,应用于电子装置,其特征在于,所述方法包括:
获取待下载的视频片段的索引参数,所述视频片段包括多个视频帧;
依据所述索引参数将所述视频片段划分为至少两个分区,每个分区包括至少一个视频帧;
确定至少两个所述分区的优先级信息;
依据所述优先级信息从服务器依次获取至少两个所述分区;
若超过时间阈值未完全接收所有所述分区,则向所述服务器发送中断请求,其中,所述中断请求用于请求中断所有所述分区的应用层传输流程。
2.如权利要求1所述的视频传输优化方法,其特征在于,所述服务器依据超文本传输协议HTTP/2协议或超文本传输协议HTTP/3协议传输至少两个所述分区,所述优先级信息包括每个分区对应的权重,
所述依据所述优先级信息从服务器依次获取至少两个所述分区包括:
形成每个所述分区对应的第一HTTP请求,每个所述第一HTTP请求用于请求获取对应的所述分区,每个所述第一HTTP请求携带所述分区对应的权重;
向所述服务器并发至少两个所述第一HTTP请求,以使所述服务器依据所述权重传输至少两个所述分区。
3.如权利要求2所述的视频传输优化方法,其特征在于,所述中断请求包括:HTTP/2或HTTP/3中的RST_STREM帧。
4.如权利要求1所述的视频传输优化方法,其特征在于,所述服务器依据HTTP/1.1协议传输至少两个所述分区,
所述依据所述优先级信息从服务器按顺序依次获取至少两个所述分区包括:
形成每个所述分区对应的第二HTTP请求,每个所述第二HTTP请求消息用于请求获取对应的所述分区;
依据所述优先级信息向所述服务器依次发送至少两个所述第二HTTP请求,以使所述服务器依据接收的所述第二HTTP请求依次传输对应的所述分区。
5.如权利要求1所述的视频传输优化方法,其特征在于,所述索引参数包括所述视频片段播放的持续时间;所述视频传输优化方法还包括:
依据所述持续时间确定所述时间阈值。
6.如权利要求1所述的视频传输优化方法,其特征在于,所述索引参数包括视频帧的帧类型,所述视频帧的帧类型包括:I帧、P帧和B帧;
所述依据所述索引参数将所述视频片段划分为至少两个分区包括:
依据所述视频帧的帧类型将所述视频片段划分为至少两个分区。
7.如权利要求6所述的视频传输优化方法,其特征在于,所述依据所述索引参数将所述视频片段划分为至少两个分区包括:
获取多个所述视频帧之间的依赖关系;
依据所述视频帧的帧类型和所述依赖关系将所述视频片段划分为至少两个分区。
8.如权利要求7所述的视频传输优化方法,其特征在于,所述确定至少两个所述分区的优先级信息包括:
依据所述视频帧的帧类型和所述依赖关系确定至少两个所述分区的所述优先级信息。
9.如权利要求1所述的视频传输优化方法,其特征在于,所述索引参数包括所述视频片段的大小,
依据所述视频片段的大小将所述视频片段划分为至少两个分区;
其中,帧类型为I帧的视频帧位于目标分区中,且所述目标分区的优先级大于其余所述分区的优先级。
10.如权利要求1所述的视频传输优化方法,其特征在于,所述方法还包括:
依据接收的所述分区组成新的视频片段。
11.一种视频传输优化方法,其特征在于,应用于一视频传输优化系统,所述视频传输优化系统包括服务器和电子装置,所述方法包括:
所述服务器向所述电子装置发送交互消息;
所述电子装置依据所述交互消息获取待下载的视频片段的索引参数,所述视频片段包括多个视频帧;
所述电子装置依据所述索引参数将所述视频片段划分为至少两个分区,每个分区包括至少一个视频帧;
所述电子装置确定至少两个所述分区的优先级信息并依据所述优先级信息从服务器依次获取至少两个所述分区;
若超过时间阈值未完全接收所有所述分区,则所述电子装置向所述服务器发送中断请求,其中,所述中断请求用于请求中断所有所述分区的应用层传输流程。
12.如权利要求11所述的视频传输优化方法,其特征在于,所述交互消息携带待下载的所述视频片段对应的索引文件,所述索引文件包括索引参数。
13.如权利要求11所述的视频传输优化方法,其特征在于,所述交互信息携带索引文件,在所述服务器向所述电子装置发送交互消息之前,所述方法还包括:
所述服务器依据所述待下载的视频片段生成对应的所述索引文件,所述索引文件包括索引参数。
14.如权利要求11所述的视频传输优化方法,其特征在于,所述服务器依据HTTP/2协议或HTTP/3协议向所述电子装置传输至少两个所述分区,所述优先级信息包括每个分区对应的权重,
所述依据所述优先级信息从服务器获取至少两个所述分区包括:
所述电子装置形成每个所述分区对应的第一HTTP请求,每个所述第一HTTP请求携带所述分区对应的权重;
所述电子装置向所述服务器并发至少两个所述第一HTTP请求;
所述服务器接收所述电子发送的至少两个所述第一HTTP请求,依据所述权重向所述电子装置发送所述第一HTTP请求对应的第一HTTP响应消息,每二个所述第一HTTP响应消息携带对应的所述分区。
15.如权利要求14所述的视频传输优化方法,其特征在于,所述中断请求包括:HTTP/2或HTTP/3中的RST_STREM帧。
16.如权利要求11所述的视频传输优化方法,其特征在于,所述服务器依据HTTP/1.1协议向所述电子装置传输至少两个所述分区,
所述依据所述优先级从服务器获取至少两个所述分区包括:
所述电子装置形成每个所述分区对应的第二HTTP请求,每个所述第二HTTP请求消息用于请求获取对应的所述分区;
所述电子装置依据所述优先级信息向所述服务器依次发送至少两个所述第二HTTP请求;
所述服务器依据接收的所述第二HTTP请求向所述电子装置发送第二HTTP响应,所述第二HTTP响应携带所述第二HTTP请求的所述分区。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在电子装置上运行时,使得所述电子装置执行如权利要求1至16中任一项所述的方法。
18.一种电子装置,其特征在于,所述电子装置包括处理器和存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子装置执行如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210593243.5A CN117176703A (zh) | 2022-05-27 | 2022-05-27 | 视频传输优化方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210593243.5A CN117176703A (zh) | 2022-05-27 | 2022-05-27 | 视频传输优化方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117176703A true CN117176703A (zh) | 2023-12-05 |
Family
ID=88932358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210593243.5A Pending CN117176703A (zh) | 2022-05-27 | 2022-05-27 | 视频传输优化方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176703A (zh) |
-
2022
- 2022-05-27 CN CN202210593243.5A patent/CN117176703A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3603006B1 (en) | Metrics and messages to improve experience for 360-degree adaptive streaming | |
US9215637B2 (en) | Buffer-aware radio resource management | |
Su et al. | QoE in video streaming over wireless networks: perspectives and research challenges | |
WO2019154221A1 (zh) | 发送流数据的方法及数据发送设备 | |
EP2733936A1 (en) | Transmission device, method for controlling transmission device, control program, and recording medium | |
CN110636339B (zh) | 基于码率的调度方法、装置及电子设备 | |
CN107210999B (zh) | 链路感知流送自适应 | |
US20150271231A1 (en) | Transport accelerator implementing enhanced signaling | |
KR102316873B1 (ko) | 비디오 전송 방법, 장치, 및 시스템과 컴퓨터 판독가능 저장 매체 | |
JP7307211B2 (ja) | クライアント、サーバ、受信方法及び送信方法 | |
US20220095002A1 (en) | Method for transmitting media stream, and electronic device | |
WO2018027882A1 (zh) | 业务数据传输的方法、网络设备和终端设备 | |
CN113572836B (zh) | 一种数据传输方法、装置、服务器及存储介质 | |
WO2014054988A1 (en) | Throttling a media stream for transmission via a radio access network | |
Siekkinen et al. | Optimized upload strategies for live scalable video transmission from mobile devices | |
CN113905257A (zh) | 视频码率切换方法、装置、电子设备及存储介质 | |
CN115834556B (zh) | 数据传输方法、系统、设备、存储介质及程序产品 | |
KR20230002784A (ko) | 오디오 및/또는 비디오 콘텐츠 전송을 위한 방법 및 서버 | |
EP3286967B1 (en) | Technique for scheduling transmission of content in an access network | |
US20220095020A1 (en) | Method for switching a bit rate, and electronic device | |
CN104581340A (zh) | 客户端、流媒体数据接收方法和流媒体数据传输系统 | |
van der Hooft et al. | An HTTP/2 push-based approach for SVC adaptive streaming | |
KR101548501B1 (ko) | 청크 기반의 끊김 없는 스트림 송수신 장치 및 그 방법 | |
CN113573062A (zh) | 流量整形方法、装置与电子设备 | |
CN117176703A (zh) | 视频传输优化方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |