CN115834482A - 视频流的处理方法、装置、服务器和存储介质 - Google Patents
视频流的处理方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN115834482A CN115834482A CN202111076410.0A CN202111076410A CN115834482A CN 115834482 A CN115834482 A CN 115834482A CN 202111076410 A CN202111076410 A CN 202111076410A CN 115834482 A CN115834482 A CN 115834482A
- Authority
- CN
- China
- Prior art keywords
- video stream
- video
- sampling
- user terminal
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000003672 processing method Methods 0.000 title description 6
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000005070 sampling Methods 0.000 claims description 105
- 238000004590 computer program Methods 0.000 claims description 17
- 239000000872 buffer Substances 0.000 claims description 12
- 230000001960 triggered effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及视频流技术领域,提供了一种视频流的处理方法、装置、服务器和存储介质,所述方法包括:响应于用户终端发送的视频获取请求,接收视频服务器发送的与视频获取请求对应的第一视频流;根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;根据出速率向用户终端发送第一视频流,通过本发明实施例,根据用户终端的网络带宽情况,对传输的视频流进行限速,触发用户终端降低视频分辨率,以减少传输视频流占用的带宽,保障其他高优先级业务也可以正常运行。
Description
技术领域
本发明涉及视频流技术领域,特别涉及一种视频流的处理方法、装置、服务器和存储介质。
背景技术
传统的视频流大部分采用TCP(Transmission Control Protocol,传输控制协议)协议传输,但是采用TCP协议进行视频流传输存在固有缺陷例如队头阻塞等问题,传输效率降低。基于此,出现了QUIC传输协议来替代TCP,随着QUIC协议的标准化,QUIC协议取代TCP的进程越来越快。主流视频网站已经开始使用QUIC协议承载视频流。
QUIC视频流在现网流量中所占的比重快速增长,在通讯流量高峰期,QUIC视频流抢占了大量的核心网带宽和服务器资源,这样,就会降低高优先级业务的服务质量,例如,流量高峰期传输QUIC视频流又占用了大量的网络带宽,可能影响高优先级且对延时敏感的业务,包括运营商提供的IP语音服务、网页浏览等。
发明内容
鉴于上述问题,本发明实施例提供了一种视频流的处理方法、装置、服务器和存储介质,以避免或减少上述在通讯流量高峰期QUIC视频流对其他业务的影响。
本发明实施例提供一种视频流的处理方法,包括:响应于用户终端发送的视频获取请求,接收视频服务器发送的与所述视频获取请求对应的第一视频流;根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;根据所述出速率向所述用户终端发送所述第一视频流。
本发明实施例还提供一种视频流的处理装置,包括:获取模块,用于响应于用户终端发送的视频获取请求,接收视频服务器发送的与所述视频获取请求对应的第一视频流;限速模块,用于根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;发送模块用于根据所述出速率向所述用户终端发送所述第一视频流。
本发明实施例还提供一种服务器,包括:至少一个处理器和存储器;所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现上述视频流的处理方法。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述视频流的处理方法。
本发明实施例提供的视频流的处理方法、装置、服务器和存储介质,通过响应于用户终端发送的视频获取请求,接收视频服务器发送的与视频获取请求对应的第一视频流,并根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;根据出速率向用户终端发送第一视频流,通过本发明实施例,根据用户终端的网络带宽情况,对传输的QUIC视频流进行限速,触发用户终端主动降低分辨率,以减少传输QUIC视频流占用的带宽,在流量高峰期保障IP语音等高优先级业务的服务质量。
附图说明
图1是本发明实施例的一种视频流的处理方法实施例的步骤流程图;
图2是本发明实施例的另一种视频流的处理方法实施例的步骤流程图;
图3是本发明实施例的系统结构的示意图;
图4是本发明实施例的QUICO模块内部主要组成部分示意图;
图5是本发明实施例的TC模块处理视频流的步骤流程图;
图6是本发明实施例的QUICO模块处理视频流的步骤流程图;
图7是本发明的又一种视频流的处理方法实施例的步骤流程图;
图8是本发明的一种视频流的处理装置实施例的结构框图;
图9是本发明的一种服务器实施例的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例提供一种视频流的处理方法,用于对视频流进行限速处理。本实施例的执行主体为视频流的处理装置,设置在核心网服务器上。
参照图1,示出了本发明的一种视频流的处理方法实施例的步骤流程图,具体可以包括如下步骤:
S101、响应于用户终端发送的视频获取请求,接收视频服务器发送的与视频获取请求对应的第一视频流。
具体地,用户终端向视频服务器发送视频获取请求,视频服务器向用户终端返回第一视频流,在此过程中,需要视频服务器先将第一视频流发送至核心网服务器,若在流量高峰期,核心网服务器需要对第一视频流进行限速处理。
S102、根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;
具体地,核心网服务器根据第一视频流确定采样结果,并根据采样结果确定接收第一视频流的入速率;根据入速率和预先配置的限速百分比,确定发送第一视频流的出速率;
核心网服务器对第一视频流进行采样,获取采样结果,该采样结果包括采样时间和数据包的长度,并根据采样时间和数据包的长度,确定接收第一视频流的入速率。
也就是说,核心网服务器以入速率接收视频服务器发送的第一视频流,在对第一视频流限速后,以出速率发送至用户终端,在此过程中,根据计算得到的入速率和预先配置的限速百分比,计算发送第一视频流的出速率。
S103、根据出速率向用户终端发送第一视频流。
具体地,核心网服务器在接收到视频服务器发送的第一视频流,将该第一视频流缓存在缓存队列中,在确定出速率后,从缓存队列中提取第一视频流数据包,并以出速率向用户终端发送第一视频流,这样,通过对第一视频流限速后,减少了传输视频率占用的带宽。
本发明实施例提供的视频流的处理方法,通过响应于用户终端发送的视频获取请求,接收视频服务器发送的与视频获取请求对应的第一视频流,根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;根据出速率向用户终端发送第一视频流,通过本发明实施例,根据用户终端的网络带宽情况,对传输的视频流进行限速,以减少传输视频流占用的带宽,在流量高峰期保障IP语音等高优先级业务的服务质量。
在一个实施例中,如图2所示,示出了本发明的另一种视频流的处理方法实施例的步骤流程图,该视频流的处理方法包括:
S201、响应于用户终端发送的视频获取请求,接收视频服务器发送的与视频获取请求对应的第一视频流;
具体包括:
步骤A1、对第一视频流中的视频数据包进行判断;
具体地,核心网服务器在接收到视频服务器发送的第一视频流后,对第一视频流中进行解析,判断第一视频流中的视频数据包是否为UDP(User Datagram Protocol,用户数据报协议)数据包。
步骤A2、若第一视频流中的视频数据包为UDP包,则解析视频数据包,并记录视频数据包的五元组信息,其中,五元组信息包括用户终端的IP地址,用户终端的端口号,视频服务器的IP地址,视频服务器的端口号和传输层协议。
具体地,核心网服务器若判断视频数据包为UDP数据包,则解析该视频数据包,并记录该视频数据包的五元组信息,该五元组信息包括用户终端的IP地址,用户终端的端口号,视频服务器的IP地址,视频服务器的端口号和传输层协议。若判断视频数据包不是UDP数据包,则将该视频数据包直接发送,不做任何处理。
S202、对第一视频流进行采样,获取采样结果,采样结果至少包括采样当前时间戳、接收第一视频流的初始时间戳、采样间隔和采样报文长度。
具体地,核心网服务器对UDP数据包进行采样,例如,可以采样10次,并获取每次采样的当前时间戳、接收第一视频流的初始时间戳,采样间隔和采样报文长度。
根据采样当前时间戳、初始时间戳和采样间隔,确定采样序号。
具体地,核心网服务器判断若采样序号大于预设采样次数,则停止采样。例如,预先设定采样10次,若采样超过10次则不再采样。本发明实施例中通过采样结果来计算入速率。
采样次数不限于10次可以增加或减少,例如采样次数[1,100]的范围内取值。采样间隔也可以在[50,10000]范围内取值,在本发明实施例中不做具体限定。
具体计算采样序号的方式为:
采样序号=(当前时间戳-活动会话表项建立时间戳)/采样间隔;
其中,接收第一视频流的初始时间戳即为活动会话表项建立时间戳。
根据采样序号来判断,是否结束采样。
S203、根据采样结果确定接收第一视频流的入速率;
具体地,作为一种可选的实施方式,核心网服务器根据所述多个采样周期内的报文长度和所述采样间隔,采用加权方式计算得到所述入速率;
作为另一种可选的实施方式,核心网服务器删除所述多个采样周期内的报文长度中的最大值和最小值,根据所述多个采样周期内的报文长度的中间值和所述采样间隔,采用加权平均的方式计算所述入速率;
作为再一种可选地实施方式,核心网服务器根据所述多个采样周期内的报文长度中的最大值,计算最大值对应的峰值速率,并将所述峰值速率确定为所述入速率。
S204、根据预先配置的限速百分比和入速率,确定发送第一视频流的出速率。
示例性地,假设入速率是播放视频实际需要的带宽,如果对带宽按比例的缩小,那么用户终端也会对视频分辨率进行相应调整,由于两个相邻分辨率的带宽比约为2:1,所以出速率默认采用入速率的50%。
S205、将接收到的第一视频流预先保存在缓存队列中;
S206、根据出速率,确定生成令牌的速度和令牌桶的大小;
S207、根据生成令牌的速度和令牌桶的大小,从缓存队列的头部开始循环取视频流数据包,将视频流数据包发送至用户终端。
具体包括:
步骤B1、比较令牌桶中可用令牌数和第一视频流数据包的报文长度;
步骤B2、若可用令牌数大于或等于第一视频流数据包的报文长度,则采用与报文长度对应的令牌将第一视频流数据包发送至用户终端;
步骤B3、若可用令牌数小于第一视频流数据包的报文长度,则等待预设时长,直到令牌桶中的可用令牌数大于或等于第一视频流数据包的报文长度,再采用可用令牌向用户终端发送第一视频流数据包。
示例性地,如果可用令牌数大于包长度即第一视频流数据包的报文长度,例如1500个字节,令牌数减少报文长度的令牌数,例如减少1500个字节的令牌,然后采用1500个令牌将当前包发送出去,然后再从缓存队列的头部取下一个第一视频流数据包,,并对第一视频流数据包和剩余的令牌数进行判断,如果剩余令牌数小于第一视频流数据包的报文长度,则无法进行发包操作,需要将该第一视频流数据包以五元组信息进行保存,即在哈希表中新增表项,等待定时器4ms后,若此时令牌数的数量大于第一视频流数据包的报文长度后,则可以进行发包。
在一个实施例中,图3本发明的系统结构的示意图,如图3所示,本发明实施例应用于视频流限速场景100,在核心网服务器上增加TC模块131(Traffic Controller,流量控制模块)、XDPI模块132(扩展深度报文解析模块)和QUICO模块133(视频优化模块)。TC模块依据策略配置对流量的下一跳进行管理,TC模块调用XDPI模块识别QUIC视频流,QUICO模块起到跟踪和管理QUIC视频流的功能。如果设置XDPI模块为识别视频流,那么QUICO模块可以对视频流进行跟踪和管理,不仅限于QUIC视频流。TC模块为已识别的视频流按照五元组建流,并为该流建立缓存队列,缓存从服务器传输到用户终端的下行流量。然后开始对下行入速率进行10次入速率采样(每个测试周期可以持续200ms-1000ms)。采样阶段对下行流量的出速率进行基础限速,限速速率可以设置为10Mbps-40Mbps,截获视频流不超过初始限速速率部分允许通过,超出初始限速速率的部分需要缓存。完成入速率采样后按入速率的50%设置下行出速率,开始对截获的加密视频流传输速率限速。TC模块将报文直接发送给BGW160(边界网关)访问公网透传操作。
经过QUICO的限速后,用户终端UE110检测到网络速率的变化,触发ABR技术(Adaptive Bit Rate,自适应比特流)选择低分辨率视频文件,向AGW120(Access GateWay,接入网关)发送视频请求,AGW再将该视频请求发送至核心网服务器,核心网服务器根据该视频请求从视频服务器INTERNET170上获取视频数据,对接收到的视频数据进行限速,然后发送至用户终端。
本发明实施例部署于核心网中,核心网对接着上网用户即用户终端和公网服务器。TC模块调用XDPI模块识别QUIC视频流,在视频流初始化阶段,将ClientHello包发送给XDPI模块,XDPI识别SNI字段,如果SNI是支持QUIC的视频网站,使用五元组信息为当前视频流建立流表。建立流表后截获并缓存下行视频流。首先针对视频流入速率进行多次采样,完成入速率采样后依据入速率的值和预先配置的限速百分比对视频流出速率进行限速。触发客户端ABR技术生效,降低视频分辨率。
在一个实施例中,图4是本发明的QUICO模块内部主要组成部分示意图,如图4所示,该QUICO模块133的内部组件包括活动会话表210,用于记录会话控制信息和缓存会话报文;
入速率采样模块220,用于会话的入速率采样,完成入速率采样后依据入速率的值和预先配置的限速百分比对视频流出速率进行限速;并输出限速结果;
哈希表230,用于存储令牌不足活动会话的信息;
用户历史信息表240,用于存储用户的限速信息,可以作为未来会话限速的参考。
扫描定时器250用于完成定时发包,表项老化等功能。例如哈希表230中令牌不足的表项被扫描定时器250驱动扫描,哈希表230中的项如果有足够的令牌可以进行发包操作。扫描定时器250同样驱动活动会话表210表项的老化,如果活动会话表210中的会话表项20s没有任何收发包的操作,则认为该会话已结束传输,释放会话表。
会话表删除表项时调用更新用户历史信息表240的流程,如果用户历史信息表240有该UEIP(用户终端IP)对应的表项,则更新用户历史信息表240中表项的结果,主要是本次限速令牌产生的速率CIR(Committed Information Rate,令牌产生的速率)、CBS(Committed Burst Size,令牌桶的大小):和历史CIR、CBS进行加权平均。
图5是本发明的TC模块处理视频流的步骤流程图,结合图3和图5所示,100对应的是视频流限速的工作场景,110对应的手机客户端访问QUIC视频服务器,120是Access GateWay接入网关将无线流量接入核心网。
流量进入中间系统130进行优化,首先需要TC模块131的Traffic Controller(TC,流量控制器)进行流量识别和分发。TC模块131通过策略配置将UDP包发往XDPI(扩展深度报文解析模块)132进行QUIC视频优化模块视频流的识别,该策略配置具体包括对报文进行解析,判断报文类型,例如是邮件还是视频,下载优化,根据不同的报文类型,向TC模块131返回一个与报文类型对应的数字标识。
QUIC视频流的识别过程如图5所示,该识别过程包括:
步骤320:TC模块收到报文后,判断是否UDP包,若不是UDP包,则执行步骤370,若是UDP包,则TC模块解析报文的五元组,其中,五元组包括源IP地址、目的IP地址、源端口号、目的端口号和协议类型,并执行步骤330;
步骤330:TC模块查询本地的流表;对首包则需要新建流表进行存储,若是后续包,则需要与首包对应的五元组信息进行匹配,如果命中流表,也即是说后续包的五元组信息和首包的五元组信息相同,则执行步骤340,若未命中,则执行步骤350;
步骤340:TC模块判断是否继续发包给XDPI模块,若继续发包,则转发当前包给XDPI模块,执行步骤350;若某个业务的数据包发送完成,即不需要继续发包,当前包直接给QUICO模块,则执行步骤360;
步骤350:XDPI模块进行处理;XDPI处理后会返回3种结果,识别出是QUIC视频流执行步骤352;识别出非QUIC视频流,执行步骤370;未完成识别则需要继续解析包,执行步骤351,然后当前包发送给QUICO模块,执行步骤370。
步骤360:QUICO模块处理;
步骤351:新建流表项同时设置继续发包标志;
步骤352:新建流表项;执行步骤360;
步骤370:不进行QUICO模块处理;
在一个实施例中,图6是本发明的QUICO模块处理视频流的步骤流程图,如图6所示,显示了QUIC视频报文即第一视频流数据包进入QUICO模块后的优化处理流程,具体包括:
步骤420、查询活动会话表,若命中时即后续包的五元组信息和首包的五元组信息相同,则执行步骤421;若没有命中,则执行步骤424;
步骤421、入速率采样处理;该活动会话表中包括报文的五元组信息和执行的动作类型,该活动会话表和上个实施例中的流表是相同的表,只是在不同的模块中采用不同名称来区分。
步骤422、将报文即第一视频流缓存进会话表的缓存队列中;
步骤423、从会话表的缓存队列头部循环取包进行发送。
步骤424、新增活动会话表项;
步骤425、初始化新增会话表项的控制信息,该控制信息包括入速率、出速率和会话持续时间;
步骤426、根据用户终端的IP地址查询查询用户历史信息表240,获取历史CIR和CBS作为一个参考因素对第一视频流进行初始限速。
步骤430、比较令牌桶中可用令牌数和包长度,即第一视频流的数据包的长度;
步骤431、若令牌数小于包长度,以五元组为Key值,在哈希表中新增表项,等待4ms定时器进行定时扫描发包。
步骤432、如果令牌数大于包长度(例如,1500个字节),令牌数减少包长度个令牌,执行步骤433;
步骤433、当前包发送出去,然后执行步骤423(从缓存队列头部再取一个包),进行发包判断。
图7是本发明的又一种视频流的处理方法实施例的步骤流程图,如图7所示,包括:
步骤520、判断是否需要进行速率采样;
步骤521、计算速率采样索引index即采样序号;
采样序号=(当前时间戳-活动会话表项建立时间戳)/采样间隔;
计算当前是第几次采样。每个流允许进行10次速率采样,采样满10次后,不再对该流进行采样。
步骤530、若判断已采样10次,则判断采样序号是否大于10。若采样序号<10继续采样处理。
步骤531、若采样序号>10不再进行采样,并设置采样结束标志;
步骤540、判断索引采样序号是否为上一次采样序号;
步骤541、将当前报文长度累加到入速率数组。
如果一个采样间隔结束了,当前包是新采样间隔的开始;
步骤542、将报文长度(包数+包长度)加入到缓存队列中。
步骤532、计算入速率,采用加权平均的方式。
步骤533、计算出速率,知道了会话的入速率后,假设入速率是播放视频实际需要的带宽,如果对带宽按比例的缩小,那么客户端也会对视频分辨率进行相应调整,由于两个相邻分辨率的带宽比约为2:1,所以出速率默认采用入速率的50%。
步骤533(计算出速率)后,为当前会话设置一个令牌桶,利用出速率计算CIR和CBS。令牌桶在限速上的工作过程如步骤423,步骤430,步骤431,步骤432,步骤433所示的步骤。
采用本发明实施例,在访问某个QUIO的视频网站,观察Connection Speed,发现播放10s后,带宽减半。观察Network Activity发现播放的前10s流量波形是一个一个的尖刺,10s后流量波形被明显平滑和限速。观察Current Res发现视频播放10s后开始降低视频分辨率。还可以使用用户终端接入网络访问QUIC视频网站,并在用户终端使用wireshark抓包,分析视频流的I/O图,看是否存在先测速再限速触发降低分辨率的表现。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明实施例提供的视频流的处理方法,通过响应于用户终端发送的视频获取请求,接收视频服务器发送的与视频获取请求对应的第一视频流,根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;根据出速率向用户终端发送第一视频流,通过本发明实施例,根据用户终端的网络带宽情况,对传输的视频流进行限速,以减少传输视频流占用的带宽,在流量高峰期保障IP语音等高优先级业务的服务质量。
本发明另一实施例提供一种视频流的处理装置,用于执行上述实施例提供的视频流的处理方法。
参照图8,示出了本发明的一种视频流的处理装置实施例的结构框图,该装置具体可以包括如下模块:获取模块801、限速模块802和发送模块803,其中:
获取模块801用于响应于用户终端发送的视频获取请求,接收视频服务器发送的与视频获取请求对应的第一视频流;
限速模块802用于根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;
发送模块803用于根据出速率向用户终端发送第一视频流。
本发明实施例提供的视频流的处理装置,通过响应于用户终端发送的视频获取请求,接收视频服务器发送的与视频获取请求对应的第一视频流,根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;根据出速率向用户终端发送第一视频流,通过本发明实施例,根据用户终端的网络带宽情况,对传输的视频流进行限速,以减少传输视频流占用的带宽,使终端上的其他业务也可以同时正常运行。
本发明又一实施例对上述实施例提供的视频流的处理装置做进一步补充说明。
在上述实施例的基础上,可选地,所述限速模块用于:
根据所述第一视频流确定采样结果,并根据所述采样结果确定接收所述第一视频流的入速率;
根据所述预先配置的限速百分比和所述入速率,确定发送所述第一视频流的出速率
可选地,限速模块用于:
对第一视频流进行采样,获取采样结果,采样结果至少包括采样当前时间戳、接收第一视频流的初始时间戳和采样间隔;
根据采样当前时间戳、初始时间戳和采样间隔,确定采样序号;
若采样序号大于预设采样次数,则停止采样。
可选地,所述采样结果中还包括采样报文长度,限速模块具体用于:
根据所述多个采样周期内的报文长度和所述采样间隔,采用加权方式计算得到所述入速率;
或者,
删除所述多个采样周期内的报文长度中的最大值和最小值,根据所述多个采样周期内的报文长度的中间值和所述采样间隔,采用加权平均的方式计算所述入速率;
或者,
根据所述多个采样周期内的报文长度中的最大值,计算最大值对应的峰值速率,并将所述峰值速率确定为所述入速率。
可选地,发送模块用于:
将接收到的第一视频流预先保存在缓存队列中;
根据出速率,确定生成令牌的速度和令牌桶的大小;
根据生成令牌的速度和令牌桶的大小,从缓存队列的头部开始循环取视频流数据包,将视频流数据包发送至用户终端。
可选地,发送模块还用于:
比较令牌桶中可用令牌数和第一视频流数据包的报文长度;
若可用令牌数大于或等于第一视频流数据包的报文长度,则采用与报文长度的对应的令牌将第一视频流数据包发送至用户终端;
若可用令牌数小于第一视频流数据包的报文长度,则等待预设时间,直到令牌桶中的可用令牌数大于等于第一视频流数据包的报文长度,再采用可用令牌向用户终端发送第一视频流数据包。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的视频流的处理装置,通过响应于用户终端发送的视频获取请求,接收视频服务器发送的与视频获取请求对应的第一视频流,根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;根据出速率向用户终端发送第一视频流,通过本发明实施例,根据用户终端的网络带宽情况,对传输的视频流进行限速,以减少传输视频流占用的带宽,使终端上的其他业务也可以同时正常运行。
本发明一实施例提供一种服务器,用于执行上述实施例提供的视频流的处理方法。
图9是本发明实施例的一种服务器的结构示意图,如图9所示,该服务器包括:至少一个处理器901和存储器902;
存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的视频流的处理方法。
本实施例提供的终端设备,通过响应于用户终端发送的视频获取请求,接收视频服务器发送的与视频获取请求对应的第一视频流,根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;根据出速率向用户终端发送第一视频流,通过本发明实施例,根据用户终端的网络带宽情况,对传输的视频流进行限速,以减少传输视频流占用的带宽,使终端上的其他业务也可以同时正常运行。
本申请又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的视频流的处理方法。
根据本实施例的计算机可读存储介质,通过响应于用户终端发送的视频获取请求,接收视频服务器发送的与视频获取请求对应的第一视频流,根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;根据出速率向用户终端发送第一视频流,通过本发明实施例,根据用户终端的网络带宽情况,对传输的视频流进行限速,以减少传输视频流占用的带宽,使终端上的其他业务也可以同时正常运行。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理电子设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理电子设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理电子设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理电子设备上,使得在计算机或其他可编程电子设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程电子设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者电子设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者电子设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者电子设备中还存在另外的相同要素。
以上对本发明所提供的一种视频流的处理方法和一种视频流的处理装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种视频流的处理方法,其特征在于,所述方法包括:
响应于用户终端发送的视频获取请求,接收视频服务器发送的与所述视频获取请求对应的第一视频流;
根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;
根据所述出速率向所述用户终端发送所述第一视频流。
2.根据权利要求1所述的视频流的处理方法,其特征在于,所述根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率,包括:
根据所述第一视频流确定采样结果,并根据所述采样结果确定接收所述第一视频流的入速率;
根据所述预先配置的限速百分比和所述入速率,确定发送所述第一视频流的出速率。
3.根据权利要求2所述的视频流的处理方法,其特征在于,所述根据所述第一视频流确定采样结果,包括:
对所述第一视频流进行采样,获取采样结果,所述采样结果至少包括采样当前时间戳、接收所述第一视频流的初始时间戳和采样间隔;
根据所述采样当前时间戳、所述初始时间戳和所述采样间隔,确定采样序号;
若所述采样序号大于预设采样次数,则停止采样。
4.根据权利要求3所述的视频流的处理方法,其特征在于,所述采样结果中还包括采样报文长度,所述根据采样结果确定接收所述第一视频流的入速率,包括:
根据所述多个采样周期内的报文长度和所述采样间隔,采用加权方式计算得到所述入速率;
或者,
删除所述多个采样周期内的报文长度中的最大值和最小值,根据所述多个采样周期内的报文长度的中间值和所述采样间隔,采用加权平均的方式计算所述入速率;
或者,
根据所述多个采样周期内的报文长度中的最大值,计算最大值对应的峰值速率,并将所述峰值速率确定为所述入速率。
5.根据权利要求4所述的视频流的处理方法,其特征在于,所述根据所述出速率向所述用户终端发送所述第一视频流,包括:
将接收到的所述第一视频流预先保存在缓存队列中;
根据所述出速率,确定生成令牌的速度和令牌桶的大小;
根据所述生成令牌的速度和所述令牌桶的大小,从所述缓存队列的头部开始循环取视频流数据包,将所述视频流数据包发送至所述用户终端。
6.根据权利要求5所述的视频流的处理方法,其特征在于,所述根据所述生成令牌的速度和所述令牌桶的大小,从所述缓存队列的头部开始循环取视频流数据包,将所述视频流数据包发送至所述用户终端,包括:
比较所述令牌桶中可用令牌数和所述第一视频流数据包的报文长度;
若所述可用令牌数大于或等于所述第一视频流数据包的报文长度,则采用与所述报文长度对应的令牌将所述第一视频流数据包发送至用户终端;
若所述可用令牌数小于所述第一视频流数据包的报文长度,则等待预设时长,直到所述令牌桶中的可用令牌数大于或等于所述第一视频流数据包的报文长度,再采用所述可用令牌向所述用户终端发送所述第一视频流数据包。
7.根据权利要求1所述的视频流的处理方法,其特征在于,在所述根据所述第一视频流确定采样结果之前,所述方法还包括:
若所述第一视频流中的视频数据包为UDP包,则解析所述视频数据包,并记录所述视频数据包的五元组信息;其中,所述五元组信息包括用户终端的IP地址,用户终端的端口号,视频服务器的IP地址,视频服务器的端口号和传输层协议。
8.一种视频流的处理装置,其特征在于,所述装置包括:
获取模块,用于响应于用户终端发送的视频获取请求,接收视频服务器发送的与所述视频获取请求对应的第一视频流;
限速模块,用于根据所述第一视频流和预先配置的限速百分比,确定发送所述第一视频流的出速率;
发送模块,用于根据所述出速率向所述用户终端发送所述第一视频流。
9.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的视频流的处理方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的视频流的处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111076410.0A CN115834482A (zh) | 2021-09-14 | 2021-09-14 | 视频流的处理方法、装置、服务器和存储介质 |
PCT/CN2022/102559 WO2023040413A1 (zh) | 2021-09-14 | 2022-06-29 | 视频流的处理方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111076410.0A CN115834482A (zh) | 2021-09-14 | 2021-09-14 | 视频流的处理方法、装置、服务器和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115834482A true CN115834482A (zh) | 2023-03-21 |
Family
ID=85514929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111076410.0A Pending CN115834482A (zh) | 2021-09-14 | 2021-09-14 | 视频流的处理方法、装置、服务器和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115834482A (zh) |
WO (1) | WO2023040413A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117596211B (zh) * | 2024-01-18 | 2024-04-05 | 湖北省楚天云有限公司 | Ip分片多核负载均衡装置及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101385070A (zh) * | 2005-09-20 | 2009-03-11 | Nxp股份有限公司 | 保持视频流的重采样或重格式化的关于帧速率的装置和方法 |
US9306994B2 (en) * | 2012-06-06 | 2016-04-05 | Cisco Technology, Inc. | Stabilization of adaptive streaming video clients through rate limiting |
US9521177B2 (en) * | 2013-09-11 | 2016-12-13 | Cisco Technology, Inc. | Network-based adaptive rate limiting |
CN104301248B (zh) * | 2014-10-31 | 2018-04-06 | 新华三技术有限公司 | 报文限速方法和装置 |
US9736730B2 (en) * | 2015-11-05 | 2017-08-15 | At&T Intellectual Property I, L.P. | Wireless video download rate optimization |
-
2021
- 2021-09-14 CN CN202111076410.0A patent/CN115834482A/zh active Pending
-
2022
- 2022-06-29 WO PCT/CN2022/102559 patent/WO2023040413A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023040413A1 (zh) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220329535A1 (en) | Data flow control method and apparatus | |
US8307030B1 (en) | Large-scale timer management | |
US9210122B2 (en) | System and method for inspecting domain name system flows in a network environment | |
EP2795838B1 (en) | Method, logic and network element for policy selection and switching function in a network environment | |
RU2649290C1 (ru) | Система и способ фильтрации трафика при обнаружении DDoS-атаки | |
US20110032898A1 (en) | Optimizing the usage of radio resources by cross-layer reading of information from higher level control plane protocol layer | |
US20070086336A1 (en) | Application layer metrics monitoring | |
WO2010129275A2 (en) | Adaptive rate control based on overload signals | |
CN110445723B (zh) | 一种网络数据调度方法及边缘节点 | |
WO2017071669A1 (zh) | 缓存加速的方法及装置 | |
US7974203B2 (en) | Traffic control system, traffic control method, communication device and computer program | |
US20220278935A1 (en) | Systems and methods for determining a policy that allocates traffic associated with a network protocol type to a network slice | |
CN115499230A (zh) | 网络攻击检测方法和装置、设备及存储介质 | |
WO2023040413A1 (zh) | 视频流的处理方法、装置、服务器和存储介质 | |
JP2016208445A (ja) | 無線通信システム、サーバ、基地局 | |
EP1950917A1 (en) | Methods for peer-to-peer application message identifying and operating realization and their corresponding devices | |
JP2010136257A (ja) | ネットワークシステム及び通信計画サーバ | |
Jain et al. | Evolving to 6G: Improving the Cellular Core to lower control and data plane latency | |
JP2015164295A (ja) | 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム | |
CN115695523B (zh) | 一种数据传输控制方法、装置、电子设备及存储介质 | |
CN101102277B (zh) | 业务数据识别控制方法、系统及识别控制装置 | |
Peuhkuri | Internet traffic measurements–aims, methodology, and discoveries | |
US20200053143A1 (en) | System for prioritizing computer applications implemented by a group of users | |
Nam et al. | Towards dynamic network condition-aware video server selection algorithms over wireless networks | |
Lübben et al. | On characteristic features of the application level delay distribution of TCP congestion avoidance |
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 |