CN110166804B - 实现视频业务的方法、设备、通信系统及计算机可读存储介质 - Google Patents

实现视频业务的方法、设备、通信系统及计算机可读存储介质 Download PDF

Info

Publication number
CN110166804B
CN110166804B CN201810142299.2A CN201810142299A CN110166804B CN 110166804 B CN110166804 B CN 110166804B CN 201810142299 A CN201810142299 A CN 201810142299A CN 110166804 B CN110166804 B CN 110166804B
Authority
CN
China
Prior art keywords
video stream
rate
video
transmission
terminal
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
CN201810142299.2A
Other languages
English (en)
Other versions
CN110166804A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111417203.7A priority Critical patent/CN114257848A/zh
Priority to CN201810142299.2A priority patent/CN110166804B/zh
Priority to PCT/CN2018/124101 priority patent/WO2019153930A1/zh
Priority to EP18905871.2A priority patent/EP3742746A1/en
Publication of CN110166804A publication Critical patent/CN110166804A/zh
Application granted granted Critical
Publication of CN110166804B publication Critical patent/CN110166804B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64753Control signals issued by the network directed to the server or the client directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种实现视频业务的方法、设备、通信系统和计算机可读存储介质。所述方法包括:获取视频流的特征信息,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息;根据所述视频流的特征信息确定平滑速率,所述平滑速率不小于所述视频流的最高码率,所述平滑码率用于确定目标设备向视频终端发送所述视频流的数据报文的时间间隔。采用本申请的技术方案,可以有效减少该目标设备的下游设备接收到突发流量的几率,从而减少视频流量突发导致的网络丢包。

Description

实现视频业务的方法、设备、通信系统及计算机可读存储介质
技术领域
本申请涉及视频业务领域,特别涉及一种实现视频业务的方法、设备、通信系统及计算机可读存储介质。
背景技术
随着通信技术的发展,IPTV(Internet Protocol Television,因特网协议电视)、过顶(Over The Top,OTT)等视频业务,已经进入大规模商用阶段。为了保证视频业务的质量,构建以视频体验为核心的网络是运营商提升竞争力所需面对的重要问题。
在视频播放过程中,如果发生丢包,会导致视频画面发生卡顿、花屏等,因此,丢包是导致视频体验差的主要原因。造成网络丢包的一个重要原因是流量突发。在发生流量突发时,由于在短时间内接收到大量的数据报文,导致队列缓存溢出,从而发生丢包。
发明内容
本发明实施例提供一种实现视频业务的方法、设备和系统,用于减少流量突发导致的丢包。
第一方面,提供了一种实现视频业务的方法,所述方法包括:获取视频流的特征信息,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息;根据所述视频流的特征信息确定平滑速率,所述平滑速率不小于所述视频流的最高码率,所述平滑码率用于确定目标设备向视频终端发送所述视频流的数据报文的时间间隔。
根据第一方面的实现方式,根据视频流的最高码率确定的平滑速率不小于该视频流的最高码率,根据该平滑速率确定的发送数据报文的时间间隔可以保证目标设备以该平滑速率向视频终端匀速发送数据报文,因此,可以在保证视频播放流畅度的前提下有效减少该目标设备的下游设备接收到突发流量的几率,从而减少视频流量突发导致网络的丢包。
在第一方面的第一种可能的实现方式中,所述视频流的特征信息还包括用于表示所述视频流的最大发送速率的信息。由于在确定该平滑速率时还考虑了该视频流的最大发送速率,因此在目标设备接收的该视频流的发送速率较大时,也可以有效保证视频播放的流畅度。
根据第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,可以根据所述视频流的特征信息确定第一速率,所述第一速率不小于所述视频流的最高码率。在具体实现时,可以将所述第一速率作为所述平滑速率,也可以将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率。
如果采用将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率的方法,当第一速率大于最大可用带宽时,确定的平滑速率的大小与该视频终端对应的的最大可用带宽相同,即不会大于该视频终端对应的的最大可用带宽。因此,该目标设备对网络带宽的占用不会影响到网络中传输的其它数据的传输质量,所以可以在尽可能保障该视频终端的视频播放效果的前提下有效保障网络中的其它数据的传输质量。
根据第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述第一速率可以和所述视频流的最高码率正相关。则视频流的最高码率越大,确定的第一速率越大,因此,可以有效改善视频播放的流畅度。
视频流的最高码率为视频数据本身(即裸数据)的速率,而在传输该视频数据时,需要将视频数据封装到数据报文,并且为了保证数据传输的可靠性,通常还会采取前向纠错(Forward Error Correction,FEC)、重传(Retransmission,RET)等业务质量保证(Service Quality Assurance,SQA)机制,这些机制会导致额外的流量开销。为了更加精确地计算第一速率,在确定第一速率时还需要考虑报文头封装、SQA机制等传输开销因素导致的流量开销。传输开销因素可以体现为传输开销系数a。
相应地,为了更加精确地计算第一速率,根据第一方面的第二种实现方式或第三种实现方式,在第一方面的第四种实现方式中,确定的第一速率与传输开销系数a正相关,其中,1<a<=2。在具体实现时,所述视频流的特征信息还包括所述视频流的传输层协议的类型,a的取值与所述视频流的传输层协议的类型相关。如,当所述视频流的传输层协议为传输控制协议(Transmission Control Protocol,TCP)时,a∈[1.05,1.11],当所述视频流的传输层协议为用户数据报协议(User Datagram Protocol,UDP)时,a∈[1.05,1.2],如a=1.17。由于采用UDP协议时的传输开销往往会大于采用TCP协议时的传输开销,因此,UDP对应的a的取值可以大于TCP对应的a的取值,从而更加精确地计算第一速率。
根据第一方面或第一方面的第一至第四种实现方式中的任一种实现方式,在第五种实现方式中,所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率Eave、以及所述视频流的最高码率与所述视频流的平均码率Eave的比值R;所述用于表示所述视频流的最大发送速率的信息包括平均码率Eave、以及所述视频流的最大发送速率和所述视频流的平均码率Eave的比值n;所述根据所述视频流的特征信息确定所述第一速率包括,根据如下公式计算所述第一速率S1:S1=a*n*R*Eave
所述视频流的应用层控制协议可以为实时流传输协议(Real Time StreamingProtocol,RTSP),相应地,当所述视频终端开启快速缓存功能时,n∈[1.1,1.3],当所述视频终端没有开启快速缓存功能时,n为1。
视频终端开启快速缓存时的最大发送速率通常会大于视频终端未开启快速缓存时的最大发送速率,因此,根据视频终端是否开启快速缓存在确定n的值以计算第一速率,计算出的第一速率更加准确。
根据第一方面或第一方面的上述任一种实现方式,在第六种实现方式中,所述方法由所述目标设备执行。相应地,所述根据所述视频流的特征信息确定平滑速率之后,所述方法还包括:所述目标设备根据所述平滑速率确定所述时间间隔,并以所述时间间隔向所述视频终端发送所述视频流的数据报文。
根据第一方面的第六种实现方式,在第七种实现方式中,所述目标设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备,所述以所述时间间隔向所述视频终端发送所述视频流的数据报文包括:所述目标设备在接收到所述视频服务器发送的所述视频流的数据报文时,所述目标设备以所述时间间隔向所述视频终端发送接收的所述视频流的数据报文。
根据第一方面的第七种实现方式,在第八种实现方式中,在确定所述平滑速率后,还会为所述视频流分配队列缓存。所述队列缓存的长度可以与所述平滑速率正相关,如所述队列缓存的长度为所述平滑速率与缓存时长C的乘积,其中10ms<=C<=1000ms。由于视频流的平滑速率越大为该视频流分配的队列缓存越大,因此,可以有效降低缓存溢出的风险。
当所述视频流的传输层协议为TCP时,在传输所述视频服务器和所述视频终端之间的视频流的数据报文的过程中,所述方法还可以包括:在确定所述视频流的队列缓存的占用量超过占用阈值时,将从所述视频终端接收的TCP确认(acknowledgment,ACK)报文中的接收窗口大小修改为所述队列缓存的剩余缓存的大小,并将所述携带修改后的接收窗口大小的TCPACK报文发送给所述视频服务器。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效降低队列缓存溢出导致丢包的风险。
所述占用阈值可以大于所述队列缓存的长度的50%,如大于所述队列缓存的长度的60%且小于所述队列缓存的长度的70%。由于设置的占用阈值较大,可以有效提升队列缓存的利用率。
当所述目标设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备且所述方法由所述目标设备执行时,所述获取视频流的特征信息包括:接收所述视频终端和所述视频服务器之间传输的所述视频流对应的控制信令,并根据所述控制信令确定所述视频流的特征信息中的部分或全部。由于可以通过解析控制信令获取该视频流的特征信息,而无需与视频服务器或视频终端交互获取该视频流的特征信息,可以有效减轻视频服务器或视频终端的负担。
根据第一方面或第一方面的第一至第五种实现方式中的任一种实现方式,在第九种实现方式中,所述方法可以由流量工程设备执行。相应地,所述获取视频流的特征信息之前还包括:所述流量工程设备接收资源预留请求,所述资源预留请求包括所述视频流的特征信息。所述获取视频流的特征信息包括:所述流量工程设备从所述资源预留请求中获取所述视频流的特征信息。所述根据所述视频流的特征信息确定所述视频流的平滑速率之后,所述方法还包括:所述流量工程设备根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源,并向所述目标设备发送所述平滑速率。
由于可以根据平滑速率分配目标设备和视频终端之间的带宽资源,可以有效降低该视频流在目标设备的下游发生丢包的风险,从而保障该视频流的传输质量。
进一步地,所述资源预留请求还可以包括所述视频终端的位置信息。相应地,所述流量工程设备所述根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源之前,所述方法还包括:所述流量工程设备根据所述平滑速率和所述位置信息确定所述目标设备和所述视频终端之间的满足以所述平滑速率传输所述视频流的传输路径。
由于可以主动确定一条满足以该平滑速率传输该视频流的传输路径并进行资源预留,而不是被动地仅在现有的路径的可用带宽资源满足以该平滑速率传输该视频流时进行资源预留,因此资源预留成功的几率比较大,可以有效提升通信效率。
第二方面,提供了一种实现视频业务的方法,所述方法由位于视频服务器和视频终端之间的传输设备执行,所述视频服务器向所述视频终端发送的视频流通过所述传输设备传输。所述方法包括:所述传输设备接收视频流的标识和所述视频流的平滑速率,并在接收到所述视频流的标识所标识的视频流的数据报文时以所述时间间隔向所述视频终端发送接收的所述视频流的数据报文。
根据第二方面的实现方式,该传输设备根据该平滑速率确定的发送数据报文的时间间隔向视频终端匀速发送数据报文,因此可以有效减少该传输设备的下游设备接收到突发流量的几率,从而减少视频流量突发导致网络的丢包。
在第二方面的第一种实现方式中,所述视频服务器和所述视频终端之间传输的控制信令通过所述传输设备传输;所述视频流的传输层协议为TCP。在所述传输设备传输所述视频服务器和所述视频终端之间的视频流的数据报文的过程中,所述方法还包括:在确定所述视频流的队列缓存的占用量超过占用阈值时,所述传输设备将从所述视频终端接收的TCP ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效降低队列缓存溢出导致丢包的风险。
第三方面,提供了一种用于实现视频业务的设备,所述设备包括:获取单元和确定单元。
所述获取单元,用于获取视频流的特征信息,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息。所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率、以及所述视频流的最高码率与所述平均码率的比值,或者所述用于表示所述视频流的最高码率的信息包括所述视频流的最高码率。
所述确定单元,用于根据所述视频流的特征信息确定平滑速率,所述平滑速率不小于所述视频流的最高码率,所述平滑码率用于确定目标设备向视频终端发送所述视频流的数据报文的时间间隔。
根据第三方面的实现方式,根据视频流的最高码率确定的平滑速率不小于该视频流的最高码率,根据该平滑速率确定的发送数据报文的时间间隔可以保证目标设备以该平滑速率向视频终端匀速发送数据报文,因此,可以在保证视频播放流畅度的前提下有效减少该目标设备的下游设备接收到突发流量的几率,从而减少视频流量突发导致的网络丢包。
在第三方面的第一种可能的实现方式中,所述视频流的特征信息还包括用于表示所述视频流的最大发送速率的信息。所述用于表示所述视频流的最大发送速率的信息包括所述视频流的平均码率、以及所述视频流的最大发送速率和所述视频流的平均码率的比值,或者所述用于表示所述视频流的最大发送速率的信息包括所述视频流的最大发送速率。由于在确定该平滑速率时还考虑了该视频流的最大发送速率,因此在目标设备接收的该视频流的发送速率较大时,也可以有效保证视频播放的流畅度。
根据第三方面或第三方面的第一种实现方式,在第三方面的第二种实现方式中,所述确定单元具体可以用于根据所述视频流的特征信息确定第一速率,所述第一速率不小于所述视频流的最高码率。在具体实现时,可以将所述第一速率作为所述平滑速率,也可以将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率。
如果采用将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率的方法,当第一速率大于最大可用带宽时,确定的平滑速率的大小与该视频终端对应的的最大可用带宽相同,即不会大于该视频终端对应的的最大可用带宽。因此,该目标设备对网络带宽的占用不会影响到网络中传输的其它数据的传输质量,所以可以在尽可能保障该视频终端的视频播放效果的前提下有效保障网络中的其它数据的传输质量。
根据第三方面的第二种实现方式,在第三方面的第三种实现方式中,所述第一速率可以和所述视频流的最高码率正相关。则视频流的最高码率越大,确定的第一速率越大,因此,可以有效改善视频播放的流畅度。
视频流的最高码率为视频数据本身(即裸数据)的速率,而在传输该视频数据时,需要将视频数据封装到数据报文,并且为了保证数据传输的可靠性,通常还会采取前向纠错FEC、RET等SQA机制,这些机制会导致额外的流量开销。为了更加精确地计算第一速率,在确定第一速率时还需要考虑报文头封装、SQA机制等传输开销因素导致的流量开销。传输开销因素可以体现为传输开销系数a。
相应地,为了更加精确地计算第一速率,根据第三方面的第二种实现方式或第三种实现方式,在第三方面的第四种实现方式中,确定的第一速率与传输开销系数a正相关,其中,1<a<=2。在具体实现时,所述视频流的特征信息还包括所述视频流的传输层协议的类型,a的取值与所述视频流的传输层协议的类型相关。如,当所述视频流的传输层协议为TCP时,a∈[1.05,1.11],当所述视频流的传输层协议为UDP时,a∈[1.05,1.2],如a=1.17。由于采用UDP协议时的传输开销往往会大于采用TCP协议时的传输开销,因此,UDP对应的a的取值可以大于TCP对应的a的取值,从而更加精确地计算第一速率。
根据第三方面或第三方面的第一至第四种实现方式中的任一种实现方式,在第五种实现方式中,所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率Eave、以及所述视频流的最高码率与所述视频流的平均码率Eave的比值R;所述用于表示所述视频流的最大发送速率的信息包括平均码率Eave、以及所述视频流的最大发送速率和所述视频流的平均码率Eave的比值n;所述确定单元根据如下公式计算所述第一速率S1:S1=a*n*R*Eave
所述视频流的应用层控制协议可以为RTSP,相应地,当所述视频终端开启快速缓存功能时,n∈[1.1,1.3],当所述视频终端没有开启快速缓存功能时,n为1。
视频终端开启快速缓存时的最大发送速率通常会大于视频终端未开启快速缓存时的最大发送速率,因此,根据视频终端是否开启快速缓存在确定n的值以计算第一速率,计算出的第一速率更加准确。
根据第三方面或第三方面的上述任一种实现方式,在第六种实现方式中,所述设备与所述目标设备为同一设备。相应地,所述设备还包括处理单元和传输单元,其中,所述处理单元用于根据所述平滑速率确定所述时间间隔,并以所述时间间隔通过所述传输单元向所述视频终端发送所述视频流的数据报文。
根据第三方面的第六种实现方式,在第七种实现方式中,所述设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备,或所述传输设备中的业务板卡。所述处理单元具体用于:在通过所述传输单元接收到所述视频服务器发送的所述视频流的数据报文时,以所述时间间隔通过所述传输单元向所述视频终端发送接收的所述视频流的数据报文。
根据第三方面的第七种实现方式,在第八种实现方式中,所述处理单元还会为所述视频流分配队列缓存。所述队列缓存的长度可以与所述平滑速率正相关,如所述队列缓存的长度为所述平滑速率与缓存时长C的乘积,其中10ms<=C<=1000ms。由于视频流的平滑速率越大为该视频流分配的队列缓存越大,因此,可以有效降低缓存溢出的风险。
当所述视频流的传输层协议为TCP时,所述处理单元还用于,在确定所述视频流的队列缓存的占用量超过占用阈值时,将通过所述传输单元从所述视频终端接收的TCP ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并通过所述传输单元将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效减少队列缓存溢出导致的丢包。
所述占用阈值可以大于所述队列缓存的长度的50%,如大于所述队列缓存的长度的60%且小于所述队列缓存的长度的70%。由于设置的占用阈值较大,可以有效提升队列缓存的利用率。
当所述设备与所述目标设备为同一设备、且所述目标设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备时,所述获取单元具体可以根据所述设备接收的所述视频终端和所述视频服务器之间传输的所述视频流对应的控制信令,确定所述视频流的特征信息中的部分或全部。由于可以通过解析控制信令获取该视频流的特征信息,而无需与视频服务器或视频终端交互获取该视频流的特征信息,可以有效减轻视频服务器或视频终端的负担。
根据第三方面或第三方面的第一至第五种实现方式中的任一种实现方式,在第九种实现方式中,所述设备可以为流量工程设备。相应地,所述设备还包括资源预留单元和传输单元。所述传输单元用于接收资源预留请求,所述资源预留请求包括所述视频流的特征信息。所述获取单元具体用于从所述资源预留请求中获取所述视频流的特征信息。所述资源分配单元,用于根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源,并通过所述传输单元向所述目标设备发送所述平滑速率。
由于可以根据平滑速率分配目标设备和视频终端之间的带宽资源,可以有效降低该视频流在目标设备的下游发生丢包的风险,从而保障该视频流的传输质量。
进一步地,所述资源预留请求还可以包括所述视频终端的位置信息。相应地,所述资源预留单元,在根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源之前,还用于根据所述平滑速率和所述位置信息确定所述目标设备和所述视频终端之间的满足以所述平滑速率传输所述视频流的传输路径。
由于可以主动确定一条满足以该平滑速率传输该视频流的传输路径并进行资源预留,而不是被动地仅在现有的路径的可用带宽资源满足以该平滑速率传输该视频流时进行资源预留,因此资源预留成功的几率比较大,可以有效提升通信效率。
第四方面,提供了一种实现视频业务的传输设备,视频服务器向视频终端发送的视频流通过所述传输设备传输。所述传输设备包括:处理单元和传输单元。所述传输单元,用于接收视频流的标识和所述视频流的平滑速率。所述处理单元,用于在通过所述传输单元接收到所述视频流的标识所标识的视频流的数据报文时以所述时间间隔通过所述传输单元向所述视频终端发送接收的所述视频流的数据报文。
根据第四方面的实现方式,该传输设备根据该平滑速率确定的发送数据报文的时间间隔向视频终端匀速发送数据报文,因此可以有效减少该传输设备的下游设备接收到突发流量的几率,从而解决视频流量突发导致网络丢包的问题。
在第四方面的第一种实现方式中,所述视频服务器和所述视频终端之间传输的控制信令通过所述传输设备传输,所述视频流的传输层协议为传输控制协议TCP。所述处理单元还用于,在确定所述视频流的队列缓存的占用量超过占用阈值时,将通过所述传输单元从所述视频终端接收的TCP ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并通过所述传输单元将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效降低队列缓存溢出导致丢包的风险。
第五方面,提供了一种通信系统,包括目标设备和确定设备。
所述确定设备,用于获取视频流的特征信息,根据所述视频流的特征信息确定平滑速率,并向所述目标设备发送所述平滑速率,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息,所述平滑速率不小于所述视频流的最高码率。
所述目标设备,用于接收所述目标设备发送的所述平滑速率,并根据所述平滑速率确定向视频终端发送所述视频流的数据报文的时间间隔,并以所述时间间隔向所述视频终端发送所述视频流的数据报文。
根据第五方面的实现方式,根据视频流的最高码率确定的平滑速率不小于该视频流的最高码率,根据该平滑速率确定的发送数据报文的时间间隔可以保证目标设备以该平滑速率向视频终端匀速发送数据报文,因此,可以在保证视频播放流畅度的前提下有效减少该目标设备的下游设备接收到突发流量的几率,从而解决视频流量突发导致网络丢包的问题。
在第五方面的第一种实现方式中,所述视频服务器和所述视频终端之间传输的控制信令通过所述目标设备传输;所述视频流的传输层协议为TCP。
所述目标设备,还用于在确定所述视频流的队列缓存的占用量超过占用阈值时,将从所述视频终端接收的TCP ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并将所述携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效避免队列缓存溢出导致丢包的风险。
第六方面,提供了一种实现视频业务的设备,包括:处理器和存储器。
所述处理器被配置为执行所述存储器中存储的指令,所述处理器通过执行所述指令来实现第一方面或第一方面的任一实现方式提供的方法。
第七方面,提供了一种实现视频业务的传输设备,包括:处理器和存储器。
所述处理器被配置为执行所述存储器中存储的指令,所述处理器通过执行所述指令来实现第二方面或第二方面的任一实现方式提供的方法。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机的处理器上执行时,使得所述处理器执行第一方面或第一方面的任一实现方式提供的方法,或执行第二方面或第二方面的任一实现方式提供的方法。
附图说明
图1A和1B为本发明实施例提供的通信系统100的组网结构示意图;
图2、图3A-3D为本发明实施例1提供的方法200的流程示意图;
图4A-4C是本发明实施例2提供的设备200的结构示意图;
图5是本发明实施例3提供的传输设备300的结构示意图;
图6是本发明实施例4提供的设备1000的结构示意图;
图7是本发明实施例5提供的传输设备2000的结构示意图;
图8是本发明实施例6提供的通信系统4000的结构示意图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
图1A为本发明实施例提供的一种通信系统100的组网结构示意图,通信系统100包括视频服务器110、至少一个传输设备120和视频终端130。视频服务器110和视频终端130之间传输的控制信令、以及视频服务器110向视频终端130发送的封装了视频数据的数据报文均通过传输设备120传输。
视频服务器110向视频终端130发送视频数据所采用的应用层协议可以是实时传输协议(Real-time Transport Protocol,RTP)、超文本传输协议(HyperText TransferProtocol,HTTP)等,所采用的传输层协议可以是UDP或TCP。相应地,视频服务器110发送的视频数据可以依次被封装上应用层协议头、传输层协议头和因特网协议(InternetProtocol,IP)头进行传输,也可以依次封装上传输层协议头和IP头进行传输。
本发明实施例所说的数据报文,可以指的是应用层协议报文,如RTP报文、HTTP报文,也可以指的是传输层协议报文,如UDP报文、TCP报文,也可以指的是IP报文。封装在数据报文中的视频数据构成视频流。
通信系统100还可以包括流量工程设备140,用于为传输视频流进行资源预留。
在具体实现时,通信系统100具体可以是如图1B所示的IPTV系统。在该IPTV系统中,视频服务器110为IPTV头端,视频终端130为机顶盒(Set Top Box,STB),传输设备120可以是家庭网关、核心路由器(Core Router,CR)、宽带网络网关(Broadband NetworkGateway,BNG)、光线路终端(Optical Line Terminal,OLT)或宽带远程接入服务器(Broadband Remote Access Server,BRAS)等设备。
下面结合图1A-1B、图2和图3A-3D介绍本发明实施例一提供的方法200。
在方法200中,根据视频流的特征信息确定视频流的平滑速率,并以该平滑速率向视频终端发送该视频流。为便于表述,后续将以平滑速率向视频终端发送视频流称为流量突发消除,将确定平滑速率的设备称为确定设备,将实现流量突发消除的设备称为目标设备。确定设备和目标设备可以是同一设备,也可以是不同设备。如果是不同设备,则确定设备将确定的平滑速率发送给目标设备。
本发明实施例1的方法200可以应用于图1A、1B所示的通信系统100。确定设备可以是通信系统100中的视频服务器110、或任一传输设备120、或流量工程设备140,目标设备可以是通信系统100中的视频服务器110、或任一传输设备120。
在具体实现时,可以根据网络瓶颈的位置确定流量突发消除功能的部署位置。
如果网络瓶颈可能出现在视频服务器和视频终端之间的任意位置,如,任意位置的丢包率都比较高,则可以在视频服务器或靠近视频服务器的传输设备上实现流量突发消除功能。如,在视频服务器的智能网卡上实现流量突发消除功能,在视频服务器和CR之间的设备上实现流量突发消除功能,在视频服务器和CR之间部署具备流量突发消除功能的路由器。
如果网络瓶颈出现在某一传输设备(如BRAS)的下游,如,该传输设备的上游丢包率不高但该传输设备的下游丢包率比较高,可以在该传输设备上实现流量突发消除功能。
在具体实现时,可以采用如下几种具体的实施方式。
实施方式1:由位于视频服务器和视频终端之间的传输设备(如BRAS)确定该平滑速率并进行流量突发消除。
实施方式2:由流量工程设备确定该平滑速率并由位于视频服务器和视频终端之间的至少一个传输设备根据流量工程设备确定的平滑速率进行流量突发消除。
实施方式3:由视频服务器确定该平滑速率并进行流量突发消除。
实施方式4:由流量工程设备确定该平滑速率并由视频服务器根据流量工程设备确定的平滑速率进行流量突发消除。
下面先结合图2介绍本发明实施例一提供的方法200中确定平滑速率的实现方式,然后结合图3A-3D介绍本发明实施例一的上述四种实施方式。
如图2所示,方法200包括如下步骤:
图2是本发明实施例1提供的方法流程示意图,
S201:确定设备获取视频流的特征信息。
该视频流的特征信息包括用于表示该视频流的最高码率的信息。用于表示该视频流的最高码率的信息可以包括平均码率、以及该视频流的最高码率与该视频流的平均码率的比值R;用于表示该视频流的最高码率的信息可以包括该视频流的最高码率Emax。R通常为属于区间[1.5,4]的值,比如可以是1.80。
该视频流的特征信息还可以包括用于表示该视频流的最大发送速率的信息。用于表示该视频流的最大发送速率的信息可以包括平均码率Eave、以及该视频流的最大发送速率和该视频流的平均码率的比值n;用于表示该视频流的最大发送速率的信息也可以为该视频流的最大发送速率。该视频流的最大发送速率为预估的视频服务器发送该视频流的速率的最大值。
n的取值范围通常为1<=n<=2。如果该视频流的应用层控制协议为RTSP,当接收该视频流的视频终端开启了快速缓存功能时,比值n∈[1.1,1.3],如n为1.1或1.2。当该视频终端没有开启快速缓存功能时,比值n为1。如果采用超文本传输协议(HyperTextTransfer Protocol,HTTP)传输媒体流时,比值n∈[1.81,4],如n为1.81。
步骤S202:确定设备根据该视频流的特征信息确定平滑速率,该平滑速率不小于该最高码率,且该平滑速率用于确定目标设备向视频终端发送该视频流的数据报文的时间间隔。
在步骤S202中,可以首先根据该视频流的特征信息或根据该视频流的特征信息和其它信息(如业务策略)确定速率S,然后,将速率S直接作为该平滑速率,或者将该速率S和视频终端对应的最大可用带宽中的最小值确定为该平滑速率。其中,速率S和最大发送速率、速率S和最高码率均为正相关的关系。
视频流的最高码率为视频数据本身(即裸数据)的速率,而在传输该视频数据时,需要将视频数据封装到数据报文,并且为了保证数据传输的可靠性,通常还会采取前向纠错(Forward Error Correction,FEC)、重传(Retransmission,RET)等业务质量保证(Service Quality Assurance,SQA)机制,这些机制会导致额外的流量开销。为了更加精确地计算速率S,在确定速率S时还需要考虑报文头封装、SQA机制等传输开销因素导致的流量开销。传输开销因素可以体现为传输开销系数a,确定的速率S与传输开销系数a正相关,其中,1<a<=2。
a的取值可以与该视频流的传输层协议的类型相关,相应地,该视频流的特征信息还可以包括该视频流的传输层协议的类型,根据该传输层协议的类型可以确定a的取值。当该视频流的传输层协议为TCP时,a∈[1.05,1.11],当该视频流的传输协议为UDP时,a∈[1.05,1.2],具体可以为1.17。
在具体实现时,如果仅考虑视频流的最高码率,可以通过公式S=a*R*Eave或S=a*Emax计算速率S。如果既考虑视频流的最高码率又考虑视频流的最大发送速率,可以通过公式S=a*n*R*Eave或S=a*n*Emax计算速率S。
另外,在确定速率S时,还可以结合业务策略进行确定。
该业务策略用于指示优先保障满足预设条件的视频流的传输质量。如,该业务策略用于指示优先保障4k视频流的传输质量、或优先保障贵宾(very important person,VIP)用户的视频流的传输质量。该业务策略可以预先设置在该确定设备上。
相应地,该视频流的特征信息还可以包括用于表示该视频流是否为满足该预设条件的信息,如,包括用于表示该视频流是否为4k视频流的信息、或用于表示该视频流对应的视频终端的用户是否为VIP用户的信息。
为了有效利用带宽满足不同的业务质量需求,确定的速率S与根据业务策略确定的策略系数正相关,其中,根据业务策略确定的策略系数的取值范围可以为[0.5,3]。满足预设条件的视频流对应的策略系数b1的取值大于不满足该预设条件的视频流对应的策略系数b2的取值,其中,b1∈[0.5,3],b2∈[0.5,3]。在具体实现时,该业务策略可以包括满足预设条件的视频流和不满足预设条件的视频流分别对应的策略系数的取值,如,4k视频流对应的策略系数的取值为2.5,非4k视频视频流对应的策略系数的取值为1.0。相应地,确定设备在确定该视频流满足或不满足预设条件时,确定对应的策略系数的取值,并进而根据确定的策略系数的取值确定速率S。
当采用多个业务策略时,根据每个业务策略均可以确定一个系数b,则确定的速率S与根据多个业务策略分别确定的系数b的最大值正相关。
相应地,具体可以根据如下公式计算该速率S:
S=a*B*n*R*Eave,或S=a*B*n*Emax
其中,当采用一个业务策略时,B为根据该业务策略确定的系数b,当采用多个业务策略时,B为根据每个业务策略确定的系数b的最大值。
根据本发明实施例1提供的方法200,视频流的最高码率确定的平滑速率不小于该视频流的最高码率,根据该平滑速率确定的发送数据报文的时间间隔可以保证目标设备以该平滑速率向视频终端匀速发送数据报文,因此,可以在保证视频播放流畅度的前提下有效减少该传输设备的下游设备接收到突发流量的几率,从而减少视频流量突发导致网络的丢包。
下面结合图3A介绍本发明实施例一的实施方式1的具体实现方式。
在实施方式1中,目标设备和确定设备为同一设备,且为位于视频服务器和视频终端之间的传输设备(如BRAS),后续称为第一传输设备。
步骤S3A01:第一传输设备获取视频流的特征信息。
视频终端和视频服务器之间传输的控制信令均通过第一传输设备传输,相应地,第一传输设备根据接收的控制信令可以获取该视频流的特征信息的部分或全部。
视频终端和视频服务器之间采用的应用层控制协议可以为RTSP。
当视频终端和视频服务器之间采用的应用层控制协议为RTSP时,传输的信令中的tcp.port的值为554,表明该信令为RTSP消息,信令中的method的值用于表示该信令的类型,如DESCRIBE、SETUP。相应地,第一传输设备可以根据接收的信令中的tcp.port的值确定视频终端和视频服务器之间采用的应用层控制协议为RTSP,可以根据接收的信令中的method的值确定信令的类型。第一传输设备获取所述视频流的特征信息的过程如下所述。
视频终端先向视频服务器发送DESCRIBE请求。该DESCRIBE请求包括RTSP会话的五元组,即源IP地址、目的IP地址、源端口号、目的端口号和传输层协议。相应地,第一传输设备在检测到DESCRIBE请求后,可以从DESCRIBE请求中提取五元组。第一传输设备后续可以利用该五元组匹配该RTSP会话相关的其它控制信令,包括相同五元组的控制信令对应的是同一视频流。
视频服务器接收该DESCRIBE请求后,向视频终端回复DESCRIBE响应,该DESCRIBE响应中的SDP的b:as字段的值为视频流的平均码率。如,b=as:2500,表明平均码率为2500kps。相应地,第一传输设备在检测到DESCRIBE响应后,可以从该DESCRIBE响应的b:as字段中提取平均码率。
视频终端接收该DESCRIBE响应后,向视频服务器发送SETUP请求,该SETUP请求中携带该RTSP会话的五元组。视频服务器收到该SETUP请求后向视频终端返回SETUP响应,SETUP响应的transport字段的值为媒体传输方式,包括后续传输该视频流所采用的传输层协议(如TCP或UDP)和源IP地址,如,Transport字段的值为MP2T/TCP;unicast;interleaved=0-1;mode=PLAY;source=10.3.8.15,表明所采用的传输层协议为TCP,对应的源IP地址为10.3.8.15。相应地,第一传输设备在检测到SETUP响应后,可以从该SETUP响应的transport字段提取传输层协议和源IP地址。进一步,根据提取的传输层协议可以确定传输开销系数a,当该传输层协议为TCP时,a为范围[1.05,1.11]内的值,当该传输层协议为UDP时,a为范围[1.05,1.2]内的值,如1.17。
视频终端接收该SETUP响应后,向视频服务器发送SET_PARAMETER请求,该SET_PARAMETER请求携带该RTSP会话的五元组。视频服务器收到SET_PARAMETER请求后向视频终端返回SET_PARAMETER响应,SET_PARAMETER响应中的x-Fast_Cache字段的值用于表明视频终端是否开启快速缓存功能。相应地,第一传输设备在检测到SET_PARAMETER响应后,可以根据该SET_PARAMETER响应的x-Fast_Cache字段的值判断视频终端是否开启了快速缓存功能。如果确定开启了快速缓存功能,可以确定该视频流的最大发送速率和该视频流的平均码率的比值n的取值为预先从视频业务提供商处获取的值或预先设置的值,如1.1或1.2。如果确定没有开启快速缓存功能,可以确定最大发送速率即为平均码率,即n的取值为1。
视频终端接收该SET_PARAMETER响应后向视频服务器发送PLAY请求,视频服务器接收到该PLAY请求后向视频终端回复PLAY响应,并向视频终端发送视频流。
视频终端和视频服务器之间采用的应用层控制协议也可以为HTTP。
视频终端先向视频服务器发送HTTP GET请求,该HTTP GET请求的URL字段包括字符“index.m3u8”,用于请求视频的顶级索引文件index.m3u8,该HTTP GET还包括五元组,该五元组包括视频服务器的IP地址、视频终端的IP地址、视频服务器的端口号、视频终端的端口号和传输层协议。视频服务器收到该HTTP GET请求后向该视频终端返回HTTP GET响应,该HTTP GET响应包括所请求的视频的顶级索引文件index.m3u8,该顶级索引文件包括不同版本(如高清版本、标清版本)的描述信息,具体包括每个版本的标识、平均码率或最高码率、对应的二级索引文件名称。如,PROGRAM-ID=4,BANDWIDTH=1677722,4.m3u8;PROGRAM-ID=2,BANDWIDTH=614400,2.m3u8。相应地,第一传输设备检测到HTTP GET请求后,确定通过该HTTP GET请求所请求的视频流的最大发送速率和该视频流的平均码率的比值n,通常为1.81,并从该HTTP GET中提取可以用于标识该视频流的信息(即该视频流的标识),如视频流的源IP地址(即视频服务器的IP地址)、源端口号(即视频服务器的端口号)、目的端口号(即视频终端的端口号)和传输层协议,提取的视频流的标识可以用于匹配后续接收的对应同一视频流的其它控制信令以及该视频流。另外,如果每个版本的描述信息包括平均码率,第一传输设备还可以提取清晰度最高的版本的平均码率作为该视频流的平均码率;如果每个版本的描述信息包括最高码率,第一传输设备还可以提取清晰度最高的版本的最高码率作为该视频流的最高码率。
视频终端接收该顶级索引文件后,向视频服务器发送用于获取其中一个版本对应的二级索引文件的HTTP GET请求,如,用户选择PROGRAM-ID为4的版本,该HTTP GET请求的URL包含字符串4.m3u8,表明用于请求二级索引文件4.m3u8。视频终端接收该顶级索引文件后还可以向视频服务器请求获取所有二级索引文件。视频服务器向视频终端返回请求的二级索引文件,返回的二级索引文件中包括该二级索引文件所对应的版本的所有视频分片的信息,如包括100个分片中每个分片的url、大小和时长,还可能包括每个分片的码率。
相应地,第一传输设备从清晰度最高的版本的二级索引文件中获取分片的信息并根据分片的信息确定该视频流的平均码率和最高码率。具体可以根据该二级索引文件中的各分片的大小和时长计算各分片的码率,将码率最高的分片的码率作为该视频流的最高码率,计算各分片的码率的平均值并将该平均值作为该视频流的平均码率。如果该二级索引文件中包括每个分片的码率,则可以不用计算各分片的码率,而是直接根据该二级索引中包括的各分片的码率确定该视频流的平均码率和最高码率。
可以理解的是,第一传输设备可以利用顶级索引文件获取到最高码率和平均码率,也可以利用清晰度最高的版本的二级索引文件获取到最高码率和平均码率,不管通过哪种方式获取的最高码率和平均码率均可以用于计算平滑速率。
视频终端接收到二级索引文件后,根据用户选择的版本的二级索引文件中的视频分片的URL向视频服务器发送用于请求对应视频分片的HTTP GET请求。视频服务器向视频终端发送请求的视频分片。
另外,通常视频服务器进行编码时,还可以限制视频流的最高码率不超过视频流的平均码率的R倍,第一传输设备可以在步骤S3A01之前向视频服务器获取视频服务器设置的倍数R存储下来,也可以在第一传输设备设置R的取值并存储下来。相应地,在步骤S3A01中还可以获取存储的R。
当采用TCP传输控制信令和视频流时,第一传输设备可以是透明TCP代理。第一传输设备接收视频终端发送的控制信令后代替视频终端与视频服务器交互,并在接收到视频服务器发送的控制信令后代替视频服务器与视频终端交互,建立视频服务器和第一传输设备之间的TCP连接(后续称为TCP连接1)、以及第一传输设备和视频终端之间的TCP连接(后续称为TCP连接2),并且,视频服务通过TCP连接1向第一传输设备发送视频流,进而第一传输设备通过TCP连接2向视频终端发送接收的视频流。
第一传输设备在通过上述方式获取平均码率后,还可以根据该平均码率判断是该视频流是否为4k视频。
第一传输设备还可以根据该视频终端的IP地址获取预先存储的该视频终端的用户业务策略数据,该用户业务策略数据包括该视频终端对应的最大可用带宽和用于表示该视频终端的用户是否为VIP用户的信息。
另外,第一传输设备还可以根据该视频终端的IP地址获取预先存储的该视频终端所属OLT的标识、或所属OLT上与该视频终端连接的接口的标识。
由于可以通过解析控制信令获取该视频流的特征信息,而无需与视频服务器或视频终端交互获取该视频流的特征信息,可以有效减轻视频服务器或视频终端的负担。
步骤S3A02:第一传输设备根据该视频流的特征信息确定该视频流的平滑速率。
步骤S3A02的实现方式同步骤S202,不再赘述。
步骤S3A03:第一传输设备向流量工程设备发送资源预留请求,该资源预留请求包括该平滑速率,以请求流量工程设备根据该平滑速率为该视频流分配第一传输设备和视频终端之间的带宽资源。
其中,该平滑速率用于表示请求预留的带宽资源的大小。
步骤S3A04:流量工程设备收到资源预留请求后,根据该平滑速率为该视频流分配第一传输设备和视频终端之间的带宽资源。
该资源预留请求还可以包括视频终端的位置信息。视频终端的位置信息具体可以为视频终端的IP地址、或所属OLT的标识、或所属OLT上与该视频终端连接的接口的标识。该资源预留请求还可以包括该视频流的标识,该视频流的标识可以是该视频流的五元组,也可以是该视频流的五元组的一部分,如该视频流的源IP地址、源端口号、目的端口号和传输层协议。可以理解的是,如果该视频流的标识包括该视频终端的IP地址,如该视频流的标识为该视频流的五元组,则该视频终端的IP地址既是该视频流的标识的一部分又是该视频终端的位置信息。
如果第一传输设备和视频终端之间的网络为无路径控制能力的网络,如传统IP网络,流量工程设备可以通过收集的网络拓扑、以及视频终端的位置信息确定第一传输设备和视频终端之间的用于传输该视频流的转发路径,并根据该传输路径上的可用带宽资源及该平滑速率确定是否可以接纳该视频流,即判断该传输路径上的可用带宽资源是否满足以该平滑速率传输该视频流。如果可以接纳,则为该视频流分配带宽资源并执行步骤S3A05,否则,返回用于表示预留失败的资源预留响应。
如果第一传输设备和视频终端之间的网络为具有路径控制能力的网络,如多协议标签交换(Multi-protocol Label Switching,MPLS)网络,流量工程设备可以根据该平滑速率和该位置信息为该视频流确定该第一传输设备和该视频终端之间的满足以该平滑速率传输该视频流的传输路径,并执行步骤S3A05。具体地,流量工程设备根据收集的网络拓扑、该位置信息和该平滑速率建立第一传输设备和视频终端之间的用于传输该视频流的隧道或计算第一传输设备和视频终端之间的用于传输该视频流的转发路径。流量工程设备还可以向用于控制视频流的传输路径的网络控制器发送该隧道或转发路径对应的转发标签,以便于网络控制器通过该隧道或转发路径上的传输设备根据该转发标签转发该视频流。流量工程设备也可以直接向位于该隧道或转发路径上的传输设备发送该隧道或转发路径对应的转发标签,以指示该隧道或转发路径上的传输设备根据该转发标签转发该视频流。
由于可以主动确定一条满足以该平滑速率传输该视频流的传输路径并进行资源预留,而不是被动地仅在现有的路径的可用带宽资源满足以该平滑速率传输该视频流时进行资源预留,因此资源预留成功的几率比较大,可以有效提升通信效率。
步骤S3A05:流量工程设备在分配该带宽资源后向第一传输设备返回用于表明预留成功的资源预留响应。
该资源预留响应可以包括该视频流的标识。需要说明的是,第一传输设备通常会基于多个视频流向流量工程设备请求资源预留,资源预留请求和资源预留响应中携带的视频流的标识可以用于表示资源预留和视频流的对应关系。
步骤S3A06:第一传输设备为该视频流分配队列缓存,并根据该平滑速率确定发送该视频流的数据报文的时间间隔。
为该视频流分配的队列缓存的长度可以与该平滑速率正相关。该队列缓存的长度可以为该平滑速率和缓存时长C的乘积,其中C可以为区间[10ms,1000ms]内的值。由于视频流的平滑速率越大为该视频流分配的队列缓存越大,因此,可以有效降低缓存溢出的风险。
第一传输设备可以预先设置C的值,如100ms。也可以根据第一传输设备的总缓存大小、规划的可容纳总视频流量大小以及规划给每条视频流分配的队列缓存的长度确定C。具体可以通过如下方式确定C:将规划的可容纳总视频流量大小与规划给每条视频流分配的队列缓存的长度的商作为共计可以容纳的视频流的条数,将总缓存大小与共计可以容纳的视频流的条数的商作为预估的队列长度,进而将预估队列长度与预估平滑速率的商作为C的值,预估平滑速率可以是预先设置的,如60mbps(即每秒60兆位)。
如,规划的可容纳总视频流量大小为512G,规划给每条视频流分配的队列缓存的长度为1G,则共计可以容纳512条视频流。总缓存大小为100G,则预估的队列长度为100G/512=4M。假定预估平滑速率为60mbps,则C=4M/60mbps=67ms。
具体可以通过如下公式计算时间间隔interval:interval=size/speed,其中,size为数据报文大小,可以设为1500字节,speed为平滑速率。
假设数据报文大小为1500字节,平滑速率为90mbps,则每两个相邻的数据报文的发送时间间隔为0.13ms。
步骤S3A07:第一传输设备以该时间间隔向视频终端发送从视频服务器接收的该视频流的数据报文。
视频服务器向视频终端发送的视频流通过第一传输设备传输,第一传输设备一边将接收的视频服务器发送的数据报文放入队列缓存,一边按照该时间间隔从队列缓存中取出数据报文通过出端口发送出去。如,时间间隔为0.13ms,当队列缓存中存在数据报文时,第一传输设备每0.13ms从队列缓存中取出一个数据报文通过出端口发送出去。
另外,如果第一传输设备接收的该视频流的数据报文中没有标记优先级或标记的优先级低于非语音且非视频业务的优先级,第一传输设备还可以将该视频流的每个数据报文的优先级字段的值均标记为第一优先级,其中第一优先级高于非语音且非视频业务的优先级,相应地,第一传输设备和视频终端之间的传输设备会以第一优先级传输该视频流。
当通过TCP协议传输该视频流时,视频终端在接收到封装了视频数据的TCP数据报文时会向视频服务器回复TCP ACK报文,回复的TCP ACK中携带视频终端的接收窗口大小(receive window size,RWS)。进而视频服务器会根据接收的TCP ACK报文中携带的接收窗口大小调整发送视频流的速率。
因此,在传输该视频流的过程中,第一传输设备还可以通过执行后续步骤S3A08-S3A09减少该视频流的队列缓存的溢出。
步骤S3A08:第一传输设备在确定该视频流的队列缓存的占用量超过占用阈值时,将从视频终端接收的TCP ACK报文中的接收窗口大小修改为该队列缓存的剩余缓存的大小。
该占用阈值大于该队列缓存的大小的50%,通常为大于该队列缓存的大小的60%且小于该队列缓存的大小的70%的值。
步骤S3A09:第一传输设备将携带修改后的接收窗口大小的TCP ACK报文发送给视频服务器。
相应地,视频服务器根据接收的TCP ACK报文中的接收窗口大小调整发送视频流的速率。
由于该视频流的队列缓存的占用量已经超过了占用阈值,所以该队列缓存的剩余缓存较小,即修改后的接收窗口大小较小,所以,视频服务器会根据该修改后的接收窗口大小减小发送视频流的速率,从而可以有效队列缓存溢出导致的丢包。
步骤S3A10:第一传输设备在确定视频流传输结束后,释放队列缓存资源,并向流量工程设备发送资源释放请求以请求流量工程设备释放为该视频流分配的资源。
下面结合图3B介绍本发明实施例一的实施方式2的具体实现方式。
在实施方式2中,目标设备为位于视频服务器和视频终端之间的传输设备(如BRAS),确定设备为流量工程设备。
步骤S3B01:获取视频流的特征信息。
步骤S3B01可以由目标设备执行(如图3B所示),也可以由视频服务器执行。
如果步骤S3B01由目标设备执行,步骤S3B01的具体实现同步骤S3A01,不再赘述。
如果步骤S3B01由视频服务器执行,则视频服务器在接收到视频终端发送的视频请求后,可以根据请求的视频获取存储的该视频对应的特征信息。
步骤S3B02:向流量工程设备发送资源预留请求,该资源预留请求包括该视频流的特征信息。
步骤S3B02与步骤S3B01的执行主体相同。
如果步骤S3B02由视频服务器执行,该资源预留请求还可以包括该视频流的标识、该终端的位置信息和视频服务器的位置信息。视频终端的位置信息具体可以为视频终端的IP地址、或所属OLT的标识、或所属OLT上与该视频终端连接的接口的标识。视频服务器的位置信息具体可以是视频服务器的IP地址。该视频流的标识可以是该视频流的五元组,也可以是该视频流的五元组的一部分,如该视频流的源IP地址、源端口号、目的端口号和传输层协议。可以理解的是,如果该视频流的标识包括该视频终端的IP地址,如该视频流的标识为该视频流的五元组,则该视频终端的IP地址既是该视频流的标识的一部分又是该视频终端的位置信息;如果该视频流的标识包括该视频服务器的IP地址,如该视频流的标识为该视频流的五元组,则该视频服务器的IP地址既是该视频流的标识的一部分又是该视频服务器的位置信息。
步骤S3B03:流量工程设备收到资源预留请求后,从该资源预留请求中获取该视频流的特征信息,并根据获取的该视频流的特征信息确定平滑速率。
确定平滑速率的方法同步骤S202,不再赘述。
步骤S3B04:流量工程设备根据该平滑速率为该视频流分配目标设备和视频终端之间的带宽资源。
步骤S3B04的具体实现同S3A04,不再赘述。
如果步骤S3B01和S3B02的执行主体为该视频服务器,在步骤S3B04中流量工程设备还需要先确定目标设备,具体可以是根据视频终端的位置信息和视频服务器的位置信息确定视频服务器和视频终端之间的用于传输该视频流的传输路径,并根据预先配置的实现流量突发消除的设备的列表确定位于该传输路径上的实现流量突发消除的设备(即目标设备),进而为该视频流分配目标设备和视频终端之间的带宽资源。
步骤S3B05:流量工程设备向目标设备发送通知消息,该通知消息包括确定的平滑速率。
如果步骤S3B01和S3B02的执行主体为该目标设备,则步骤S3B05中的通知消息为资源预留响应。该资源预留请求和该资源预留响应还可以包括该视频流的标识,用于表示资源预留和视频流的对应关系。
如果步骤S3B01和S3B02的执行主体为该视频服务器,流量工程设备在步骤S3B05中想在步骤S3B04中确定的目标设备发送通知消息,并向视频服务器发送用于表示预留成功的资源预留响应。
步骤S3B06-S3B09:同步骤S3A06-S3A09,不再赘述。
实施方式3:目标设备和确定设备均为视频服务器。
步骤S3C01:视频服务器获取视频流的特征信息。
视频服务器在接收到视频终端发送的视频请求后,可以根据请求的视频获取存储的该视频对应的特征信息。
步骤S3C02:视频服务器根据该视频流的特征信息确定该视频流的平滑速率。
步骤S3C02的实现方式同步骤S202,不再赘述。
步骤S3C03:视频服务器向流量工程设备发送资源预留请求,该资源预留请求包括该平滑速率,以请求流量工程设备根据该平滑速率为该视频流分配第一传输设备和视频终端之间的带宽资源。
其中,该平滑速率用于表示请求预留的带宽资源的大小。
步骤S3C04:流量工程设备收到资源预留请求后,根据该平滑速率为该视频流分配第一传输设备和视频终端之间的带宽资源。
步骤S3C04的具体实现同S3A04,不再赘述。
步骤S3C05:流量工程设备在分配该带宽资源后向第一传输设备返回用于表明预留成功的资源预留响应。
该资源预留响应可以包括该视频流的标识。需要说明的是,第一传输设备通常会基于多个视频流向流量工程设备请求资源预留,资源预留请求和资源预留响应中携带的视频流的标识可以用于表示资源预留和视频流的对应关系。
步骤S3C06:视频服务器根据该平滑速率确定发送该视频流的数据报文的时间间隔。
时间间隔interval的计算方式同步骤S3A07,不再赘述。
步骤S3C07:视频服务器以该时间间隔向视频终端发送该视频流的数据报文。
在具体实现时,视频服务器可以包括中间件、协议栈和智能网卡。其中,中间件在执行步骤S3C01-S3C02后执行步骤S3C03以通过智能网卡向流量工程设备发送资源预留请求,在通过智能网卡接收资源预留响应,并将该平滑速率通知给智能网卡。相应地,智能网卡执行步骤S3C06根据该平滑速率确定发送该视频流的数据报文的时间间隔。
进一步地,中间件从用户请求的视频的视频文件中读取视频数据,将读取的视频数据通过视频服务器的系统内核发送给视频服务器的协议栈,如,每隔50ms向协议栈发送100K的视频数据,视频服务器的协议栈将接收的视频数据封装到IP报文中并将封装的IP报文发送给视频服务器的智能网卡,然后视频服务器的智能网卡执行步骤S3C07以该时间间隔发送接收的IP报文。
可以理解的是,智能网卡一边将接收的IP报文放入队列缓存,一边按照该时间间隔从队列缓存中取出IP报文通过出端口发送出去。
实施方式4:目标设备为视频服务器,确定设备为流量工程设备。
步骤S3D01:视频服务器获取视频流的特征信息。
视频服务器在接收到视频终端发送的视频请求后,可以根据请求的视频获取存储的该视频对应的特征信息。
步骤S3D02:视频服务器向流量工程设备发送资源预留请求,该资源预留请求包括该视频流的特征信息。
步骤S3D03:流量工程设备根据资源预留请求中的视频流的特征信息确定平滑速率。
确定平滑速率的方法同步骤S202,不再赘述。
步骤S3D04:流量工程设备根据该平滑速率为该视频流分配视频服务器和视频终端之间的带宽资源。
步骤S3D04的具体实现同S3A04,不再赘述。
步骤S3D05:流量工程设备向视频服务器返回用于表明预留成功的资源预留响应,该资源预留响应包括确定的平滑速率。
该资源预留请求和该资源预留响应还可以包括该视频流的标识。需要说明的是,目标设备通常会基于多个视频流向流量工程设备请求资源预留,资源预留请求和资源预留响应中携带的视频流的标识可以用于表示资源预留和视频流的对应关系。
步骤S3D06:视频服务器根据该平滑速率确定发送该视频流的数据报文的时间间隔。
时间间隔interval的计算方式同步骤S3A07,不再赘述。
步骤S3D07:视频服务器以该时间间隔向视频终端发送该视频流的数据报文。
在具体实现时,视频服务器可以包括中间件、协议栈和智能网卡。其中,中间件在执行步骤S3D01后执行步骤S3D02以通过智能网卡向流量工程设备发送资源预留请求,在步骤S3D05中通过智能网卡接收资源预留响应,从资源预留响应中获取平滑速率并将该平滑速率通知给智能网卡。相应地,智能网卡执行步骤S3D06根据该平滑速率确定发送该视频流的数据报文的时间间隔,并执行步骤S3D07以该时间间隔发送从协议栈接收的IP报文。
根据本发明实施例1,本发明实施例2提出了一种设备200,如图4A所示,设备200包括:获取单元210和确定单元220。
获取单元210,用于获取视频流的特征信息,该视频流的特征信息包括用于表示该视频流的最高码率的信息。
确定单元220,用于根据所述获取单元210获取的该视频流的特征信息确定平滑速率,该平滑速率不小于该视频流的最高码率,该平滑码率用于确定目标设备向视频终端发送该视频流的数据报文的时间间隔。
设备200与目标设备可以为同一设备(如BRASS,又如视频服务器)。如图4B所示,设备200还可以包括处理单元230和传输单元240。
处理单元230,用于根据该平滑速率确定该时间间隔,并以该时间间隔通过传输单元240向视频终端发送该视频流的数据报文。
传输单元240,用于与其他设备通信,如收发控制信令、收发数据报文、发送资源预留请求、接收资源预留响应等。
设备200具体可以是视频服务器、或流量工程设备、或位于视频服务器和视频终端之间的传输设备,也可以是可部署在该传输设备上的业务板卡。如果为部署在该传输设备上的业务板卡,该业务板卡上的传输单元240具体可以通过该传输设备的接口板卡与其他设备通信。
设备200还可以为流量工程设备。如图4C所示,设备200还可以包括资源预留单元250和传输单元260。
传输单元260用于接收资源预留请求,该资源预留请求包括该视频流的特征信息。相应地,获取单元210具体用于从该资源预留请求中获取该视频流的特征信息。
资源预留单元250,用于根据该平滑速率为该视频流分配目标设备和视频终端之间的带宽资源,并通过所述传输单元向目标设备发送该平滑速率。资源预留请求可以是从目标设备接收的,相应地,可以通过用于表明预留成功的资源预留响应携带该平滑速率发送给目标设备。
本发明实施例2中描述的功能单元可以用来实施上述实施例1所述的方法中确定设备执行的操作。
根据本发明实施例1,本发明实施例3提出了一种传输设备300,视频服务器向视频终端发送的视频流通过传输设备300传输。如图5所示,传输设备300包括:处理单元310和传输单元320。
传输单元310,用于接收视频流的标识和该视频流的平滑速率;
处理单元320,用于在通过传输单元310接收到所述视频流的标识所标识的视频流的数据报文时以所述时间间隔通过传输单元310向所述视频终端发送接收的所述视频流的数据报文。
本发明实施例2中描述的功能单元可以用来实施上述实施例1的实施方式2中的目标设备执行的操作。
根据本发明实施例1,本发明实施例4提供了一种确定设备1000,如图6所示,确定设备1000包括处理器1010和存储器1020,其中,处理器1010和存储器1020之间通过总线完成相互间的通信。
存储器1020,用于存放计算机操作指令。具体可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory)。
处理器1010,用于执行存储器1020中存放的计算机操作指令。处理器1010具体可以是中央处理器(central processing unit,CPU),或者是特定集成电路(ApplicationSpecific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,处理器1010执行所述计算机操作指令使得确定设备1000执行上述实施例1所述的方法中确定设备所执行的操作。
确定设备1000具体可以是视频服务器、或流量工程设备、或位于视频服务器和视频终端之间的传输设备,也可以是可部署在该传输设备上的业务板卡。如果为部署在该传输设备上的业务板卡,该业务板卡上的处理器1010具体可以通过该传输设备的接口板卡与其他设备通信。
根据本发明实施例1,本发明实施例5提供了一种传输设备2000,如图7所示,传输设备2000包括处理器2010和存储器2020,其中,处理器2010和存储器2020之间通过总线完成相互间的通信。
存储器2020,用于存放计算机操作指令。具体可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory)。
处理器2010,用于执行存储器2020中存放的计算机操作指令。处理器2010具体可以是CPU,或者是ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,处理器2010执行所述计算机操作指令使得传输设备2000执行上述实施例1的实施方式2中目标设备所执行的操作。
根据本发明实施例1,本发明实施例6提出了一种实现通信系统4000,如图8所示,系统4000包括确定设备4010和目标设备4020。确定设备4010可以执行上述实施例1所述的方法中确定设备所执行的操作,目标设备4020可以执行上述实施例1所述的方法中目标设备所执行的操作。
确定设备4010具体可以是视频服务器,相应地,目标设备4020具体可以是位于视频服务器和视频终端之间的传输设备。
确定设备4010具体还可以是流量工程设备,相应地,目标设备4020具体可以是视频服务器,或位于视频服务器和视频终端之间的传输设备。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

Claims (39)

1.一种实现视频业务的方法,其特征在于,
获取视频流的特征信息,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息;
根据所述视频流的特征信息确定平滑速率,所述平滑速率不小于所述视频流的最高码率,所述平滑速率用于确定目标设备以所述平滑速率匀速向视频终端发送所述视频流的数据报文的时间间隔。
2.根据权利要求1所述的方法,其特征在于,所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率、以及所述视频流的最高码率与所述平均码率的比值,或者所述用于表示所述视频流的最高码率的信息包括所述视频流的最高码率。
3.根据权利要求1或2所述的方法,其特征在于,所述视频流的特征信息还包括用于表示所述视频流的最大发送速率的信息。
4.根据权利要求3所述的方法,其特征在于,所述用于表示所述视频流的最大发送速率的信息包括所述视频流的平均码率、以及所述视频流的最大发送速率和所述视频流的平均码率的比值,或者所述用于表示所述视频流的最大发送速率的信息包括所述视频流的最大发送速率。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述视频流的特征信息确定平滑速率包括:
根据所述视频流的特征信息确定第一速率,所述第一速率不小于所述视频流的最高码率;
将所述第一速率作为所述平滑速率,或者将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率。
6.根据权利要求5所述的方法,其特征在于,所述第一速率和所述视频流的最高码率正相关。
7.根据权利要求6所述的方法,其特征在于,所述第一速率与传输开销系数a正相关,其中,1<a<=2。
8.根据权利要求7所述的方法,其特征在于,所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率Eave、以及所述视频流的最高码率与所述视频流的平均码率Eave的比值R;所述用于表示所述视频流的最大发送速率的信息包括平均码率Eave、以及所述视频流的最大发送速率和所述视频流的平均码率Eave的比值n;
所述根据所述视频流的特征信息确定第一速率具体包括,根据如下公式计算所述第一速率S1:
S1=a*n*R*Eave
9.根据权利要求7所述的方法,其特征在于,所述用于表示所述视频流的最高码率的信息包括所述视频流的最高码率Emax;所述用于表示所述视频流的最大发送速率的信息包括平均码率Eave、以及所述视频流的最大发送速率和所述视频流的平均码率Eave的比值n;
所述根据所述视频流的特征信息确定第一速率具体包括,根据如下公式计算所述第一速率S1:
S1=a*n*Emax
10.根据权利要求1或2所述的方法,其特征在于,所述根据所述视频流的特征信息确定平滑速率包括:
根据所述视频流的特征信息和业务策略确定第二速率,所述第二速率不小于所述视频流的最高码率;
将所述第二速率作为所述平滑速率,或者将所述第二速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率;
其中,所述业务策略用于指示优先保障满足预设条件的视频流的传输质量,所述视频流的特征信息还包括用于表示所述视频流是否为满足所述预设条件的信息。
11.根据权利要求10所述的方法,其特征在于,所述第二速率与策略系数正相关,其中,满足所述预设条件的视频流对应的策略系数b1的取值大于不满足所述预设条件的视频流对应的策略系数b2的取值,其中b1∈[0.5,3],b2∈[0.5,3]。
12.根据权利要求1或2所述的方法,其特征在于,所述方法由所述目标设备执行;
所述根据所述视频流的特征信息确定平滑速率之后,所述方法还包括:
所述目标设备根据所述平滑速率确定所述时间间隔;
所述目标设备以所述时间间隔向所述视频终端发送所述视频流的数据报文。
13.根据权利要求12所述的方法,其特征在于,所述目标设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备;
所述以所述时间间隔向所述视频终端发送所述视频流的数据报文包括:所述目标设备在接收到所述视频服务器发送的所述视频流的数据报文时,所述目标设备以所述时间间隔向所述视频终端发送接收的所述视频流的数据报文。
14.根据权利要求13所述的方法,其特征在于,所述目标设备为所述视频流分配的队列缓存的长度与所述平滑速率正相关。
15.根据权利要求13或14所述的方法,其特征在于,所述视频流的传输层协议为传输控制协议TCP;
在传输所述视频服务器和所述视频终端之间的视频流的数据报文的过程中,所述方法还包括:在确定所述视频流的队列缓存的占用量超过占用阈值时,将从所述视频终端接收的TCP ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存的大小,并将携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
16.根据权利要求13或14所述的方法,其特征在于,所述获取视频流的特征信息包括:接收所述视频终端和所述视频服务器之间传输的所述视频流对应的控制信令,并根据所述控制信令确定所述视频流的特征信息中的部分或全部。
17.根据权利要求12所述的方法,其特征在于,所述根据所述视频流的特征信息确定所述视频流的平滑速率之后还包括,
向流量工程设备发送资源预留请求,所述资源预留请求包括所述平滑速率,以请求所述流量工程设备根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源。
18.根据权利要求1或2所述的方法,其特征在于,所述方法由流量工程设备执行;
所述获取视频流的特征信息之前还包括:所述流量工程设备接收资源预留请求,所述资源预留请求包括所述视频流的特征信息;
所述获取视频流的特征信息包括:所述流量工程设备从所述资源预留请求中获取所述视频流的特征信息;
所述根据所述视频流的特征信息确定所述视频流的平滑速率之后,所述方法还包括:
所述流量工程设备根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源;
所述流量工程设备向所述目标设备发送所述平滑速率。
19.根据权利要求18所述的方法,其特征在于,所述资源预留请求还包括所述视频终端的位置信息;
所述流量工程设备所述根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源之前,所述方法还包括:
所述流量工程设备根据所述平滑速率和所述位置信息确定所述目标设备和所述视频终端之间的满足以所述平滑速率传输所述视频流的传输路径。
20.一种实现视频业务的方法,其特征在于,所述方法由位于视频服务器和视频终端之间的传输设备执行,所述视频服务器向所述视频终端发送的视频流通过所述传输设备传输;所述方法包括:
所述传输设备接收视频流的标识和所述视频流的平滑速率,所述平滑速率用于确定所述传输设备以所述平滑速率匀速向所述视频终端发送视频流的数据报文的时间间隔;
所述传输设备在接收到所述视频流的标识所标识的视频流的数据报文时以所述时间间隔和所述平滑速率匀速向所述视频终端发送接收的所述视频流的数据报文。
21.根据权利要求20所述的方法,其特征在于,所述视频服务器和所述视频终端之间传输的控制信令通过所述传输设备传输;所述视频流的传输层协议为传输控制协议TCP;
在所述传输设备传输所述视频服务器和所述视频终端之间的视频流的数据报文的过程中,所述方法还包括:在确定所述视频流的队列缓存的占用量超过占用阈值时,所述传输设备将从所述视频终端接收的TCP确认ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并将携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
22.一种用于实现视频业务的设备,其特征在于,包括:获取单元和确定单元;
所述获取单元,用于获取视频流的特征信息,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息;
所述确定单元,用于根据所述视频流的特征信息确定平滑速率,所述平滑速率不小于所述视频流的最高码率,所述平滑速率用于确定目标设备以所述平滑速率匀速向视频终端发送所述视频流的数据报文的时间间隔。
23.根据权利要求22所述的设备,其特征在于,所述视频流的特征信息还包括用于表示所述视频流的最大发送速率的信息。
24.根据权利要求22或23所述的设备,其特征在于,所述确定单元具体用于:根据所述视频流的特征信息确定第一速率,所述第一速率不小于所述视频流的最高码率,并用于将所述第一速率作为所述平滑速率,或者将所述第一速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率。
25.根据权利要求24所述的设备,其特征在于,所述第一速率和所述视频流的最高码率正相关。
26.根据权利要求24所述的设备,其特征在于,所述第一速率与传输开销系数a正相关,其中,1<a<=2。
27.根据权利要求26所述的设备,其特征在于,所述用于表示所述视频流的最高码率的信息包括所述视频流的平均码率Eave、以及所述视频流的最高码率与所述视频流的平均码率Eave的比值R;所述用于表示所述视频流的最大发送速率的信息包括平均码率Eave、以及所述视频流的最大发送速率和所述视频流的平均码率Eave的比值n;
所述确定单元根据如下公式计算所述第一速率S1:
S1=a*n*R*Eave
28.根据权利要求26所述的设备,其特征在于,所述用于表示所述视频流的最高码率的信息包括所述视频流的最高码率Emax;所述用于表示所述视频流的最大发送速率的信息包括平均码率Eave、以及所述视频流的最大发送速率和所述视频流的平均码率Eave的比值n;
所述确定单元根据如下公式计算所述第一速率S1:
S1=a*n*Emax
29.根据权利要求22或23所述的设备,其特征在于,所述确定单元具体用于根据所述视频流的特征信息和业务策略确定第二速率,所述第二速率不小于所述视频流的最高码率,并用于将所述第二速率作为所述平滑速率,或者将所述第二速率和所述视频终端对应的最大可用带宽中的最小值确定为所述平滑速率;其中,所述业务策略用于指示优先保障满足预设条件的视频流的传输质量,所述视频流的特征信息还包括用于表示所述视频流是否为满足所述预设条件的信息。
30.根据权利要求29所述的设备,其特征在于,所述第二速率与策略系数正相关,其中,满足所述预设条件的视频流对应的策略系数b1的取值大于不满足所述预设条件的视频流对应的策略系数b2的取值,其中b1∈[0.5,3],b2∈[0.5,3]。
31.根据权利要求22或23所述的设备,其特征在于,所述设备与所述目标设备为同一设备;所述设备还包括处理单元和传输单元;
所述处理单元,用于根据所述平滑速率确定所述时间间隔,并以所述时间间隔通过所述传输单元向所述视频终端发送所述视频流的数据报文。
32.根据权利要求31所述的设备,其特征在于,所述设备为发送所述视频流的视频服务器和所述视频终端之间的传输设备,或所述传输设备中的业务板卡;
所述处理单元具体用于:在通过所述传输单元接收到所述视频服务器发送的所述视频流的数据报文时,以所述时间间隔通过所述传输单元向所述视频终端发送接收的所述视频流的数据报文。
33.根据权利要求32所述的设备,其特征在于,所述视频流的传输层协议为传输控制协议TCP;
所述处理单元还用于,在确定所述视频流的队列缓存的占用量超过占用阈值时,将通过所述传输单元从所述视频终端接收的TCP确认ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并通过所述传输单元将携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
34.根据权利要求22或23所述的设备,其特征在于,所述设备为流量工程设备;
所述设备还包括资源预留单元和传输单元;
所述传输单元用于接收资源预留请求,所述资源预留请求包括所述视频流的特征信息;
所述获取单元具体用于从所述资源预留请求中获取所述视频流的特征信息;
所述资源分配单元,用于根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源,并通过所述传输单元向所述目标设备发送所述平滑速率。
35.根据权利要求34所述的设备,其特征在于,所述资源预留请求还包括所述视频终端的位置信息;
所述资源预留单元,在根据所述平滑速率为所述视频流分配所述目标设备和所述视频终端之间的带宽资源之前,还用于根据所述平滑速率和所述位置信息确定所述目标设备和所述视频终端之间的满足以所述平滑速率传输所述视频流的传输路径。
36.一种实现视频业务的传输设备,其特征在于,视频服务器向视频终端发送的视频流通过所述传输设备传输;所述传输设备包括:处理单元和传输单元;
所述传输单元,用于接收视频流的标识和所述视频流的平滑速率,所述平滑速率用于确定所述传输设备以所述平滑速率匀速向所述视频终端发送视频流的数据报文的时间间隔;
所述处理单元,用于在通过所述传输单元接收到所述视频流的标识所标识的视频流的数据报文时以所述时间间隔和所述平滑速率匀速通过所述传输单元向所述视频终端发送接收的所述视频流的数据报文。
37.根据权利要求36所述的传输设备,其特征在于,所述视频服务器和所述视频终端之间传输的控制信令通过所述传输设备传输;所述视频流的传输层协议为传输控制协议TCP;
所述处理单元还用于,在确定所述视频流的队列缓存的占用量超过占用阈值时,将通过所述传输单元从所述视频终端接收的TCP确认ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并通过所述传输单元将携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
38.一种通信系统,其特征在于,包括目标设备和确定设备;
所述确定设备,用于获取视频流的特征信息,根据所述视频流的特征信息确定平滑速率,并向所述目标设备发送所述平滑速率,所述视频流的特征信息包括用于表示所述视频流的最高码率的信息,所述平滑速率不小于所述视频流的最高码率;
所述目标设备,用于接收所述确定设备发送的所述平滑速率,并根据所述平滑速率确定以所述平滑速率匀速向视频终端发送所述视频流的数据报文的时间间隔,并以所述时间间隔向所述视频终端发送所述视频流的数据报文。
39.根据权利要求38所述的通信系统,其特征在于,视频服务器和所述视频终端之间传输的控制信令通过所述目标设备传输;所述视频流的传输层协议为传输控制协议TCP;
所述目标设备,还用于在确定所述视频流的队列缓存的占用量超过占用阈值时,将从所述视频终端接收的TCP确认ACK报文中的接收窗口大小修改为所述队列缓存的剩余缓存大小,并将携带修改后的接收窗口大小的TCP ACK报文发送给所述视频服务器。
CN201810142299.2A 2018-02-11 2018-02-11 实现视频业务的方法、设备、通信系统及计算机可读存储介质 Active CN110166804B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202111417203.7A CN114257848A (zh) 2018-02-11 2018-02-11 实现视频业务的方法、设备、通信系统及计算机可读存储介质
CN201810142299.2A CN110166804B (zh) 2018-02-11 2018-02-11 实现视频业务的方法、设备、通信系统及计算机可读存储介质
PCT/CN2018/124101 WO2019153930A1 (zh) 2018-02-11 2018-12-27 实现视频业务的方法、设备、通信系统及计算机可读存储介质
EP18905871.2A EP3742746A1 (en) 2018-02-11 2018-12-27 Method and device for realizing video service, and communication system and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810142299.2A CN110166804B (zh) 2018-02-11 2018-02-11 实现视频业务的方法、设备、通信系统及计算机可读存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111417203.7A Division CN114257848A (zh) 2018-02-11 2018-02-11 实现视频业务的方法、设备、通信系统及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110166804A CN110166804A (zh) 2019-08-23
CN110166804B true CN110166804B (zh) 2021-12-03

Family

ID=67548834

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810142299.2A Active CN110166804B (zh) 2018-02-11 2018-02-11 实现视频业务的方法、设备、通信系统及计算机可读存储介质
CN202111417203.7A Pending CN114257848A (zh) 2018-02-11 2018-02-11 实现视频业务的方法、设备、通信系统及计算机可读存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202111417203.7A Pending CN114257848A (zh) 2018-02-11 2018-02-11 实现视频业务的方法、设备、通信系统及计算机可读存储介质

Country Status (3)

Country Link
EP (1) EP3742746A1 (zh)
CN (2) CN110166804B (zh)
WO (1) WO2019153930A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114651449B (zh) * 2020-04-26 2023-09-29 华为技术有限公司 一种流媒体参数动态自适应网络的调整方法及装置
CN113923488B (zh) * 2021-09-15 2024-04-16 青岛海信网络科技股份有限公司 一种公交车、视频流量控制方法及存储介质
CN114024925B (zh) * 2021-11-02 2023-04-07 成都达拓智通科技有限公司 一种非连续性通话音频流传输队列控制方法
CN114745572B (zh) * 2022-04-14 2023-06-13 中国联合网络通信集团有限公司 视频缓存控制方法、装置、设备及存储介质
CN115834556B (zh) * 2023-02-23 2023-05-12 阿里巴巴(中国)有限公司 数据传输方法、系统、设备、存储介质及程序产品

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1543164A (zh) * 2003-02-18 2004-11-03 ���µ�����ҵ��ʽ���� 多媒体流环境中基于服务器的速率控制
EP1942594A2 (en) * 2007-01-08 2008-07-09 General instrument Corporation Method and apparatus for statistically multiplexing services
CN101690078A (zh) * 2007-04-02 2010-03-31 英国电讯有限公司 多视频流传输中的带宽分配控制
CN101753363A (zh) * 2008-12-02 2010-06-23 华为技术有限公司 应用于媒体传输质量测量的方法及装置
CN101932003A (zh) * 2009-06-23 2010-12-29 大唐移动通信设备有限公司 拥塞控制的处理方法和设备
CN102186119A (zh) * 2011-04-18 2011-09-14 烽火通信科技股份有限公司 流媒体服务器保证音视频质量动态流量控制的方法
CN103561283A (zh) * 2013-10-30 2014-02-05 乐视致新电子科技(天津)有限公司 一种智能电视的码率切换方法及装置
CN104243102A (zh) * 2014-09-30 2014-12-24 深圳市云之讯网络技术有限公司 一种基于网络状态评估的码率控制方法及其装置
CN104811998A (zh) * 2014-01-27 2015-07-29 华为技术有限公司 一种控制传输控制协议窗口调整的方法和无线接入点
CN102318311B (zh) * 2009-02-12 2016-03-30 英国电讯有限公司 多视频流传输中的带宽分配控制方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9338693B2 (en) * 2013-03-14 2016-05-10 Nec Corporation Scheduling framework for adaptive video delivery over cellular networks
GB2519391B (en) * 2014-04-02 2015-10-21 Imagination Tech Ltd Enhanced media quality management
KR101636198B1 (ko) * 2015-03-09 2016-07-05 강원대학교산학협력단 무선 통신 환경에서 비디오 스트리밍의 트래픽 제어 방법 및 이를 구현하는 수신기 장치

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1543164A (zh) * 2003-02-18 2004-11-03 ���µ�����ҵ��ʽ���� 多媒体流环境中基于服务器的速率控制
EP1942594A2 (en) * 2007-01-08 2008-07-09 General instrument Corporation Method and apparatus for statistically multiplexing services
CN101690078A (zh) * 2007-04-02 2010-03-31 英国电讯有限公司 多视频流传输中的带宽分配控制
CN101753363A (zh) * 2008-12-02 2010-06-23 华为技术有限公司 应用于媒体传输质量测量的方法及装置
CN102318311B (zh) * 2009-02-12 2016-03-30 英国电讯有限公司 多视频流传输中的带宽分配控制方法
CN101932003A (zh) * 2009-06-23 2010-12-29 大唐移动通信设备有限公司 拥塞控制的处理方法和设备
CN102186119A (zh) * 2011-04-18 2011-09-14 烽火通信科技股份有限公司 流媒体服务器保证音视频质量动态流量控制的方法
CN103561283A (zh) * 2013-10-30 2014-02-05 乐视致新电子科技(天津)有限公司 一种智能电视的码率切换方法及装置
CN104811998A (zh) * 2014-01-27 2015-07-29 华为技术有限公司 一种控制传输控制协议窗口调整的方法和无线接入点
CN104243102A (zh) * 2014-09-30 2014-12-24 深圳市云之讯网络技术有限公司 一种基于网络状态评估的码率控制方法及其装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Multiple Bitstream Switching for Video Streaming in Monotonically Decreasing Rate Schedulers";Farhad Alam et al.;《INDUSTRIAL TECHNOLOGY,2006.ICIT 2006.IEEE INTERNATIONAL CONFERENCE ON,IEEE》;20061201;第973-978页 *
"Performance Evaluation of Smoothing Algorithms for Transmitting Prerecorded Variable-Bit-Rate Video";Wu-chi Feng et al.;《IEEE TRANSACTIONS ON MULTIMEDIA》;19990901;第302-313页 *

Also Published As

Publication number Publication date
CN114257848A (zh) 2022-03-29
EP3742746A4 (en) 2020-11-25
EP3742746A1 (en) 2020-11-25
WO2019153930A1 (zh) 2019-08-15
CN110166804A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110166804B (zh) 实现视频业务的方法、设备、通信系统及计算机可读存储介质
US9426078B2 (en) Systems and methods for dynamic quality of service
EP3737016A1 (en) Data transmission method, apparatus and system
US20080291916A1 (en) Systems and methods for dynamic quality of service
KR101757771B1 (ko) 상호 계층 최적화를 이용한 멀티미디어 데이터 패킷을 송신하는 방법 및 장치
US9838209B2 (en) Method for subscribing to streams from multicast clients
JP2004007823A (ja) データ伝送方法および装置
KR102198701B1 (ko) 멀티미디어 시스템에서 정보를 송수신하는 방법 및 장치
JP2024509728A (ja) データ再送処理方法、装置、コンピュータ機器及びコンピュータプログラム
JP5807710B2 (ja) コンテンツ配信システム、コンテンツ配信方法及びプログラム
KR102107514B1 (ko) 방송 시스템에서 동적 큐 관리 방법 및 장치
JP3639792B2 (ja) ネットワークシステムとその通信帯域制御方法
CN109905729B (zh) 使用跨层优化发送多媒体数据封包的方法和装置
CN111565323A (zh) 一种流量控制方法、装置、电子设备及存储介质
JP2010028378A (ja) 通信装置及び通信方法
JP5506591B2 (ja) 通信システム及び通信品質制御方法
WO2010054551A1 (zh) 视频流传输的方法、装置和系统
US20100005176A1 (en) Method and devices for resource allocation
KR101038521B1 (ko) 크로스 레이어 기법에 따른 이종망 상의 비디오 전송 품질 개선 방법
CN107483220B (zh) 一种服务质量控制方法、装置及系统
US11973814B2 (en) Method and controller for audio and/or video content delivery
Han et al. MPR-QUIC: Multi-path partially reliable transmission for priority and deadline-aware video streaming
CN114363434A (zh) 一种视频帧发送方法和网络设备
JP2005051811A (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