CN117014664A - 通信方法及装置 - Google Patents
通信方法及装置 Download PDFInfo
- Publication number
- CN117014664A CN117014664A CN202210457449.5A CN202210457449A CN117014664A CN 117014664 A CN117014664 A CN 117014664A CN 202210457449 A CN202210457449 A CN 202210457449A CN 117014664 A CN117014664 A CN 117014664A
- Authority
- CN
- China
- Prior art keywords
- video
- client
- code rate
- gateway
- request
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000005540 biological transmission Effects 0.000 claims description 110
- 238000012545 processing Methods 0.000 claims description 31
- 238000013461 design Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 239000000872 buffer Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009514 concussion Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种通信方法及装置,涉及通信领域,该方法包括:接收来自第一客户端的第一视频请求,所述第一视频请求用于请求第一码率的第一视频片段;从所述第一视频片段对应的多种码率中确定第二码率;向所述第一客户端发送所述第二码率的所述第一视频片段。本申请应用于客户端播放在线视频的场景中,使得客户端所播放视频的码率与实际场景相匹配,提高用户使用体验。
Description
技术领域
本申请涉及通信领域,尤其涉及一种通信方法及装置。
背景技术
视频是当今社会最重要的信息传递方式之一。目前,包括短视频、直播、点播等各类视频资源,已成为互联网中占比最大的流量资源。有报告称,目前互联网中视频流量占82%。企业网中存在大量视频类业务,包括视频会议、视频电话、会议直播等。视频加速是各大厂商重点研究方向,码率自适应是目前主流的解决方案。
码率自适应(adaptive bitrate streaming),是一种播放在线视频的过程中,根据当前网络环境、客户端本地缓存大小等因素,选择合适的码率的视频片段来进行播放的技术。例如,在当前网络环境不佳的情况下,播放低码率的视频片段(如480Mbps的视频片段),在当前网络环境较好的情况下,播放高码率的视频片段(如1080Mbps的视频片段)。这样一来,可以实现在保证视频播放流畅的前提下,尽可能播放更高清晰度的视频片段。
目前,现有技术中所采用的码率自适应技术,存在客户端所确定的码率与实际场景不能充分匹配的问题,从而影响用户体验。
发明内容
本申请提供一种通信方法及装置,用于在客户端播放在线视频时,使客户端所播放视频的码率与实际场景相匹配,提高用户使用体验。
第一方面,提供一种通信方法,该方法应用于网关,该方法包括:接收来自第一客户端的第一视频请求,其中第一视频请求用于请求第一码率的第一视频片段。从第一视频片段对应的多种码率中确定第二码率。向第一客户端发送第二码率的第一视频片段。
上述方法中,考虑到在网关可以更加精确的测量到网络质量以及传输链路上承载的用户数量、用户类型等信息,因此由网关来确定客户端所播放视频片段的码率。具体的,上述方法中,一方面通过由网关来确定第一客户端所播放的第一视频片段的码率,从而可以实现对传输链路的带宽进行更加合理的分配。另一方面,本实施例所提供方法实质上是在接收到第一客户端用于请求第一码率的视频片段的第一视频请求后,不向第一客户端反馈第一码率的视频片段,而是向第一客户端反馈网关重新确定出的第二码率的视频片段,因此无论第一客户端发送的第一视频请求所请求的是哪种码率,通过本实施例所提供的方法都可以实现由网关来确定第一客户端所播放的第一视频片段的码率。因此,上述方法中第一客户端可以依然按照相关技术中的码率自适应技术发送第一视频请求,也就是说本实施例所提供的方法可以在不对第一客户端进行改进的前提下,达到实现对传输链路的带宽进行更加合理的分配等技术效果。
在一种可能的设计中,从第一视频片段对应的多种码率中确定第二码率,包括:根据第一传输链路的运行状态,和/或,第一客户端的属性,从第一视频片段对应的多种码率中确定第二码率;其中,第一传输链路为用于传输第一视频片段的传输链路。
通过上述设计,网关可以根据当前的网络质量(具体可以为用于传输第一视频片段的传输链路的运行状态)以及第一客户端的自身属性,从第一视频片段对应的多个码率中确定第二码率。从而使得向第一客户端发送的第一视频片段的码率(即第二码率)与当前网络质量以及第一客户端的属性相适应,提高带宽资源的使用效率,提高用户使用体验。
在一种可能的设计中,第一传输链路的运行状态,包括:第一传输链路的总带宽、当前第一传输链路上承载的用户数量、各用户的用户类型和当前所述第一传输链路上承载的业务类型中的一项或多项。
通过上述设计,可以根据传输链路的总带宽、传输链路上承载的用户数量、用户类型和业务类型,来确定第一视频片段的码率,从而使得向第一客户端发送的第一视频片段的第二码率与当前网络质量更加匹配,提高带宽资源的使用效率,提高用户使用体验。
在一种可能的设计中,第一客户端的属性,包括:第一客户端的设备类型,第一客户端的应用类型以及第一客户端的用户优先级中的一项或多项。
通过上述设计,可以根据第一客户端的设备类型,第一客户端的应用类型以及第一客户端的用户优先级,来确定第一视频片段的码率,从而使得向第一客户端发送的第一视频片段的第二码率与第一客户端的属性更加匹配,避免在设备硬件配置较低的客户端、或应用显示要求低的客户端或低优先级的客户端上播放高码率的视频片段,以及避免在设备硬件配置较高的客户端、或应用显示要求高的客户端或高优先级的客户端上播放低码率的视频片段,从而提高带宽资源的使用效率,提高用户使用体验。
在一种可能的设计中,该方法还包括:根据预设时间内网关的数据吞吐量,确定网关向第一客户端发送第一报文的发送速率。其中,第一报文包括承载第二码率的第一视频片段的多个报文。向所述第一客户端所述第二码率的第一视频片段,包括:按照发送速率,向第一客户端发送第一报文。
上述设计中,考虑到在传输链路中数据吞吐量与传输时延存在正相关的关系。当数据吞吐量越大时传输时延就越大,当数据吞吐量越小时传输时延就越小。因此,在网关向第一客户端发送第二码率的第一视频片段之前,可以根据预设时间内经过网关的数据吞吐量,确定网关122向客户端111发送第一报文的发送速度。
在一种可能的设计中,该方法还包括:向业务服务器发送第二视频请求。第二视频请求用于请求第二码率的第一视频片段。接收来自业务服务器的第二码率的第一视频片段。
上述设计中,网关可以通过向业务服务器发送第二视频请求的方式,从业务服务器获取第二码率的第一视频片段。通过这种方式,可以将本申请所提供的方法应用在第一客户端与业务服务器之间的传输路径上的各网关中的任一网关上,以使得该网关在接收到第一客户端的第一视频请求后,可以从业务服务器获取第二码率的第一视频片段,以便反馈给第一客户端。从而实现由该网关来确定第一客户端所播放的第一视频片段的码率。
在一种可能的设计中,该方法还包括:将第一视频请求中携带的第一码率的第一视频片段的访问标识,替换为第二码率的第一视频片段的访问标识,得到第二视频请求。
上述设计中,考虑到当网关处采用透传方式来传输第一客户端与业务服务器之间的信息的情况下,第一客户端发送的第一视频请求的目的地址即为业务服务器的访问地址,因此网关在接收到第一视频请求后不需要对第一视频请求的目的地址进行修改,只需要修改第一视频请求中携带的第一视频片段的访问标识,即可得到第二视频请求。因此,上述设计可以在网关采用透传方式进行传输的情况下,实现快速生成第二视频请求的效果。
在一种可能的设计中,第一视频请求的目的地址为网关的访问地址,第一视频请求中携带有业务服务器的访问地址;方法还包括:根据第一视频请求,生成目的地址为业务服务器的访问地址的第二视频请求。
上述设计中,考虑到当网关处采用代理方式来传输第一客户端与业务服务器之间的信息的情况下,第一客户端发送的第一视频请求的目的地址为网关的访问地址,业务服务器的访问地址则携带在第一视频请求的负荷中。因此,在上述情况下,本申请还可以通过根据第一视频请求,生成目的地址为业务服务器的访问地址的第二视频请求的方式,来快速得到第二视频请求。
在一种可能的设计中,方法还包括:接收业务服务器向第一客户端发送的视频索引文件;视频索引文件中携带有第一视频片段对应的多种码率以及各码率的第一视频片段的URL。解析视频索引文件。向第一客户端发送视频索引文件。
通过上述设计,网关可以通过拦截业务服务器向第一客户端发送的视频索引文件并解析该文件的方式,来确定第一视频片段对应的多种码率以及各码率的第一视频片段的URL,以便从第一视频对应的多种码率中确定第二码率。
第二方面,提供一种通信装置,该通信装置应用于网关,该通信装置包括:通信单元,用于接收来自第一客户端的第一视频请求,第一视频请求用于请求第一码率的第一视频片段。处理单元,用于从第一视频片段对应的多种码率中确定第二码率。通信单元,还用于向第一客户端发送第二码率的第一视频片段。
在一种可能的设计中,处理单元,用于从第一视频片段对应的多种码率中确定第二码率,包括:处理单元,具体用于根据第一传输链路的运行状态和/或第一客户端的属性,从第一视频片段对应的多种码率中确定第二码率;其中,第一传输链路为用于传输第一视频片段的传输链路。
在一种可能的设计中,第一传输链路的运行状态,包括:第一传输链路的总带宽、当前第一传输链路上承载的用户数量、各用户的用户类型和当前所述第一传输链路上承载的业务类型中的一项或多项。
在一种可能的设计中,第一客户端的属性,包括:第一客户端的设备类型,第一客户端的应用类型以及第一客户端的用户优先级中的一项或多项。
在一种可能的设计中,处理单元,还用于根据预设时间内网关的数据吞吐量,确定网关向第一客户端发送第一报文的发送速率;其中,第一报文包括承载第二码率的第一视频片段的多个报文。通信单元,还用于向第一客户端发送第二码率的第一视频片段,包括:通信单元,还用于按照发送速率,向第一客户端发送第一报文。
在一种可能的设计中,通信单元,还用于向业务服务器发送第二视频请求;第二视频请求用于请求第二码率的第一视频片段。通信单元,还用于接收来自业务服务器的第二码率的第一视频片段。
在一种可能的设计中,处理单元,还用于将第一视频请求中携带的第一码率的第一视频片段的访问标识,替换为第二码率的第一视频片段的访问标识,得到第二视频请求。
在一种可能的设计中,第一视频请求的目的地址为网关的访问地址,第一视频请求中携带有业务服务器的访问地址;处理单元,还用于根据第一视频请求,生成目的地址为业务服务器的访问地址的第二视频请求。
在一种可能的设计中,通信单元,还用于接收业务服务器向第一客户端发送的视频索引文件;视频索引文件中携带有第一视频片段对应的多种码率以及各码率的第一视频片段的URL。处理单元,还用于解析视频索引文件。通信单元,还用于向第一客户端发送视频索引文件。
第三方面,提供一种通信装置,包括处理器和接口,处理器通过接口接收或发送数据,处理器用于实现如第一方面或第一方面中任一设计所述的方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在处理器上运行时,实现如第一方面或第一方面中任一设计所述的方法。
第五方面,提供一种通信系统,包括:客户端、网关以及业务服务器;其中,客户端通过网关与业务服务器连接。网关用于实现如第一方面或第一方面中任一设计所述的方法。
第六方面,提供一种计算机程序产品,该计算机程序产品包括指令,当所述指令在处理器上运行时,实现如第一方面或第一方面中任一设计所述的方法。
上述第二方面至第六方面的有益效果可参照第一方面中的相应描述,在此不做赘述。
附图说明
图1为本申请提供的一种通信系统的结构示意图;
图2为本申请提供的一种码率自适应技术的示意图;
图3为本申请提供的一种客户端111与业务服务器131之间交互的流程示意图之一;
图4为本申请提供的一种客户端111与业务服务器131之间交互的流程示意图之二;
图5为本申请提供的一种传输链路的带宽占用情况的示意图;
图6为本申请提供的一种通信方法的流程示意图之一;
图7为本申请提供的一种通信方法的流程示意图之二;
图8为本申请提供的一种传输链路的数据吞吐量与传输时延的关系示意图;
图9为本申请提供的一种通信装置的结构示意图之一;
图10为本申请提供的一种通信装置的结构示意图之二。
具体实施方式
下面将结合本实施例中的附图,对本实施例中的技术方案进行描述。其中,为了便于清楚描述本实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
为便于理解本实施例所提供技术方案,首先对本实施例中涉及的技术进行介绍:
码率自适应,是一种播放在线视频的过程中,根据当前网络环境、客户端本地缓存大小等因素,选择合适的码率的视频片段来进行播放的技术。目前主流视频协议,如基于HTTP的动态自适应流(dynamic adaptive streaming over HTTP,DASH)、HTTP动态流(HTTPdynamic streaming,HDS)以及HTTP实时流媒体(HTTP Live Streaming,HLS)都支持码率自适应算法。相比于传统的用户手动选择视频码率,采用码率自适应的视频播放方式可以在网络波动的情况下减少视频卡顿问题,极大提升了用户使用体验。
示例性的,图1所示为本实施例提供的一种通信系统10的结构示意图。其中,客户端(以图中客户端111、客户端112以及客户端113为例)通过网关121连接传输网络,业务服务器131通过网关122连接传输网络。其中,网关121和网关122具体可以为用于实现网关功能的交换机、路由器、服务器以及接入交换机等设备。在一种实现方式中,网关122还可以是业务服务器131内部用于实现网关功能的软/硬件模块。
其中,业务服务器131将视频文件划分为多个视频片段,并根据预先设置的不同码率对视频片段进行编码,生成不同码率的视频片段。例如图2中,业务服务器131将视频文件分为5个视频片段(如图2中视频片段a、视频片段b、视频片段c、视频片段d和视频片段e,其中各视频片段包括3帧画面)。针对其中各视频片段,分别生成不同码率的视频片段(如图2中生成2000Kbps、1080Kbps和720Kbps,三种码率的视频片段)。其中,三种码率的五个视频片段的URL分别为URL1-URL15。
另外,业务服务器131在对视频文件进行划分并编码的过程中,还会生成相应的媒体报告描述(media presentation description,MPD)文件。MPD文件中包括视频文件的内容(即视频文件为哪个时间段的视频文件),该视频文件包括的视频片段,各视频片段对应的码率,各码率的视频片段的访问标识(如统一资源定位器(uniform resource locator,URL))等信息。客户端在播放视频时,可以通过解析MPD文件,并根据MPD文件中的内容访问相应的URL以获取待播放的视频片段。
在客户端(下文以客户端111过程为例)播放视频片段的过程中,客户端111根据当前网络环境情况、客户端111本地缓存大小等因素,通过网关121、传输网络、网关122向业务服务器131请求相应码率的视频片段并播放。如图2中,播放视频片段a时,播放2000Kbps的视频片段(URL1);播放视频片段b时,播放1080Kbps的视频片段(URL5);播放视频片段c时,播放720Kbps的视频片段(URL9);播放视频片段d时,播放1080Kbps的视频片段(URL11);播放视频片段e时,播放720Kbps的视频片段(URL15)。
具体的,如图3所示,客户端111中包括用于实现码率自适应的自适应引擎、用于播放视频的播放引擎以及用于与业务服务器131进行通信的HTTP协议模块。在播放视频时,业务服务器131会响应于客户端111的请求,将MPD文件发送给客户端111。客户端111解析MPD文件,获取视频文件中各视频片段信息,请求并下载视频片段(初始状态下,客户端111可以先下载最低码率的视频片段)。在视频片段下载过程中,客户端111持续性评估网络质量以及本地缓存情况,并调整后续请求的视频片段的URL以获取不同码率的视频片段。
具体的,客户端111向业务服务器131请求视频片段的过程可以分为:缓存状态(buffering state)和稳定状态(steady state),两个阶段。
如图4所示,缓存状态下,客户端111持续请求视频片段并缓存在本地(此时客户端111持续播放视频画面),当本地缓存视频超过缓存阈值,停止请求视频片段,进入稳定状态。例如,客户端111在获取并解析MPD文件后,即会进入缓存状态,请求并下载视频片段,直至本地缓存视频超过缓存阈值。
在稳定状态下,客户端111持续播放视频画面,当本地视频缓存低于阈值时,向业务服务器131请求视频片段。该状态下,客户端111与业务服务器131之间的数据传输呈现on-off的周期性状态变化。具体的,客户端111会周期性的向业务服务器131请求视频片段,下文以客户端111每间隔T秒向业务服务器131请求视频片段为例。每个周期T内,下载视频片段的时间为t,其中通常t<T。则每个周期T中,在T-t秒后,无数据传输。其中,将有数据传输的状态称为on状态,将无数据传输的状态称为off状态。例如,在每个周期T中,客户端111会根据网络质量(例如上个周期T内视频片段的下载速度)以及本地缓存情况,确定本周期需要请求的码率的视频片段,并调整向业务服务器131请求的视频片段的URL,从而实现码率的自适应调整。
本实施例中,考虑到:在上述相关技术中,主要是由客户端根据当前网络环境等因素,确定视频片段的码率,并向业务服务器发送相应请求。因此,存在客户端所确定的码率与实际场景不能充分匹配的问题。具体的,一方面,客户端只能根据其自己与业务服务器之间的历史数据传输过程来评估网络环境情况,来确定接下来请求的视频片段的码率,而不是根据下载视频片段时的网络环境情况来确定接下来请求的视频片段的码率,具有一定的滞后性;另一方面,对于使用同一传输链路下载视频的多个客户端而言,由于各客户端分别独立确定各自所要下载的视频片段的码率,无法感知到同一传输链路中其他客户端所占用的带宽资源,因此还可能存在带宽资源分配不均的问题。
例如,当客户端111和客户端112共享传输链路播放在线视频的情况下,此时两个客户端在进入稳定状态(steady state)后的on-off状态,如图5所示。
在一种可能中,如图5中(a)所示,两个客户端的on状态在图中所示时间段内出现重叠,两个客户端共享传输链路的带宽资源。例如,传输链路的带宽为4Mbps,两个客户端分别分配到2Mbps。进而两个客户端可以分别利用2Mbps带宽,请求同样码率(例如720Kbps)的视频片段。这种情况下既实现了两个客户端公平分配带宽资源,并且还可以分别顺利获取到视频片段以保证视频播放的流畅性。再例如,传输链路的带宽为4Mbps,客户端111分配到3Mbps带宽,客户端112分配到1Mbps。进而客户端111和客户端112可以分别利用所分到的带宽请求相应码率的视频片段(如,客户端111请求1080Kbps码率的视频片段,客户端112请求720Kbps码率的视频片段)。这种情况下,虽然两个客户端都可以流畅的播放视频,但是存在带宽资源分配不均的情况,而由于各客户端只能独立通过其自己与业务服务器之间的历史数据传输过程来判断网络环境情况,因此在后续过程中也无法改变这一情况。
在另一种可能中,如图5中(b)所示,两个客户端的on状态在图中所示时间段内是相互错开的状态。假设此时传输链路的带宽为4Mbps,两个客户端分别分配到2Mbps,那么两个客户端在经过当前的on-off周期后,会分别检测到网络带宽充裕,然后在下个on-off周期会分别提高所请求的视频片段的码率。然而在下一个on-off周期内,两个客户端的on状态可能出现重叠(如图5中(a)所示),此时就会出现链路拥塞,从而导致卡顿。
在有一种可能中,如图5中(c)所示,两个客户端的on状态在图中所示时间段内出现重叠,两个客户端共享传输链路的带宽资源。但与图5中(a)所示示例不同的是,图5的(c)中,客户端111请求的是高码率的视频片段,客户端112请求的是低码率的视频片段,因此客户端111还占用了客户端112没有请求视频片段的时间段中的带宽资源。此时同样存在两个客户端带宽资源分配不均的问题,并且由于客户端只能通过其自己与业务服务器之间的历史数据传输过程来判断网络环境情况,因此在后续过程中无法改变这一情况。
再例如,当客户端111、客户端112和客户端113共享传输链路播放在线视频的情况下,假设当前传输链路的带宽为10Mbps。其中,客户端111分配2Mbps,客户端112分配2Mbps,客户端113分配6Mbps。在客户端113释放传输链路的带宽资源后,客户端111和客户端112会同时探测出当前传输链路存在6Mbps的空闲带宽,进而分别请求8Mbps带宽对应的高码率的视频片段。此时,就会因为客户端111和客户端112所请求的总带宽(8Mbps+8Mbps,即16Mbps)大于传输链路的带宽(10Mbps),从而导致链路拥塞。再之后,客户端111和客户端112又会分别检测到链路拥塞,从而退避到请求所需带宽少的低码率的视频片段(例如,客户端111和客户端112分别请求2Mbps带宽对应的码率的视频片段)。这样就会导致码率率震荡,从而影响用户体验。
针对上述问题,本实施例中提供一种通信方法。该方法在客户端通过网关向业务服务器请求视频片段的场景中,采用由网关来确定客户端所播放视频片段的码率的方式。具体的,当客户端(下文称为“第一客户端”)通过网关向业务服务器发送视频请求(下文称为“第一视频请求”)以请求某个码率(下文称为“第一码率”)的视频片段(下文称为“第一视频片段”)时,网关在接收到第一视频请求后,重新从第一视频片段对应的多种码率中确定第二码率,并在获取到该第二码率的第一视频片段(如,网关向业务服务器发送用于请求第二码率的第一视频片段的视频请求,并从业务服务器接收该第二码率的第一视频片段)后,向第一客户端反馈该第二码率的第一视频片段。
本实施例所提供方法中,考虑到在网关可以更加精确的测量到网络质量以及传输链路上承载的业务数量、业务类型,因此,由网关来确定客户端所播放视频片段的码率,可以更加合理的对传输链路的带宽进行分配。
下面以图1所示通信系统为例,对本实施例所提供的通信方法进行详细介绍。具体的,如图6所示,该方法可以包括:
S201、客户端111向业务服务器131发送视频访问请求。
其中,视频访问请求用于请求业务服务器131反馈待播放视频文件对应的视频索引文件。示例性的,该视频索引文件可以为MPD文件。
S202、网关121接收业务服务器131发送的视频索引文件。
具体的,业务服务器131接收到客户端111发送的视频访问请求后,响应于视频访问请求向网关122发送视频索引文件。之后网关121通过传输网络接收网关121发送的视频索引文件。
其中,该视频索引文件中携带有待播放视频文件包括的视频片段对应的多种码率,以及各码率的视频片段的访问标识(如URL)等信息。
例如,如图2所示,待播放视频文件可以包括5个视频片段,其中每个视频片段分别对应三种码率。则视频索引文件中可以包括:视频文件的内容(即视频文件为哪个时间段的视频文件),该视频文件包括的视频片段,各视频片段对应的码率,各码率的视频片段的访问标识(如统一资源定位器(uniform resource locator,URL))等信息。
S203、网关121解析视频索引文件。
具体的,网关121通过解析视频索引文件,确定待播放视频文件包括的视频片段分别对应的多种码率以及各码率的视频片段的访问标识后,保存上述信息以便后续步骤中使用。
S204、网关121向客户端111发送视频索引文件。
具体的,客户端111在接收到上述视频索引文件后,可以根据上述视频索引文件,确定待播放视频文件包括的视频片段分别对应的多种码率以及各码率的视频片段的访问标识。然后,客户端111可以按照相关技术的码率自适应技术,针对视频文件中的各个视频片段选择适合的码率,并向网关121发送用于请求该码率的视频片段的视频请求。下文中以客户端111向网关121发送用于请求第一码率的第一视频片段的第一视频请求为例,进行说明。
S205、网关121接收来自客户端111的第一视频请求。
其中,第一视频请求用于请求第一码率的第一视频片段。具体的,第一视频请求中可以携带有第一码率的第一视频片段的URL。
例如,第一视频请求用于请求图2中720Kbps的视频片段a,则第一视频请求中携带有URL3。
S206、网关121从第一视频片段对应的多个码率中确定第二码率。
具体的,网关121可以利用上文S203中通过解析视频索引文件确定的待播放视频文件包括的一个或多个视频片段(其中包括第一视频片段)分别对应的多种码率,确定第一视频片段对应的多个码率,然后再从第一视频片段对应的多个码率中确定第二码率。
需要说明的时,本实施例上述过程中是通过网关121拦截并解析业务服务器131向客户端111发送的视频索引文件的方式,确定第一视频片段对应的多个码率。可以理解的是,在实际应用过程中网关121也可以采用其他方式确定第一视频片段对应的多个码率。例如,网关121可以直接请求业务服务器131反馈上述视频索引文件,进而确定第一视频片段对应的多个码率。
可以理解的时,当网关121通过其他方式确定第一视频片段对应的多个码率时,本实施例中也可以不执行上文S203的内容。
另外,在网关121从第一视频片段对应的多个码率中确定第二码率的过程中,网关121可以根据当前的网络质量(具体可以为用于传输第一视频片段的传输链路的运行状态)以及客户端111的自身属性等因素,从第一视频片段对应的多个码率中确定第二码率。以下具体列举三种从第一视频片段对应的多个码率中确定第二码率的实现方式:
在一种实现方式中,网关121从第一视频片段对应的多个码率中确定第二码率,具体可以包括:
S2061、网关121根据第一传输链路的运行状态,从第一视频片段对应的多个码率中确定第二码率。
其中,第一传输链路为用于传输第一视频片段的传输链路。示例性的,第一传输链路可以为网关121与网关122之间的传输链路。
其中,第一传输链路的运行状态具体可以反映为:第一传输链路的带宽、第一传输链路上承载的用户数量、各用户的用户类型和当前第一传输链路上承载的业务类型等信息。
其中,用户类型可以包括在线视频播放用户、即时通讯用户以及文件下载用户等。在一种可能的设计中,S2061具体可以包括:
S2061a、网关121根据第一传输链路的运行状态,确定第一传输链路上分配给视频播放业务的总带宽BW。
例如,当前所述第一传输链路上承载的业务类型包括:在线视频播放业务,即时通讯业务以及文件下文业务。网关121可以按照预设方法,从第一传输链路的带宽资源中为视频播放业务分配带宽BW。
S2061b、网关121根据第一传输链路的运行状态,确定第一传输链路上承载的在线视频播放用户的个数K。
S2061c、网关121根据第一传输链路上承载的在线视频播放用户的个数K以及第一传输链路上分配给视频播放用户的总带宽BW,确定分配给客户端111传输视频片段的第一带宽bw。
其中,第一带宽bw满足:bw=BW/K。
S2061d、从第一视频片段对应的多个码率中确定与第一带宽bw对应的第二码率。
通过上述设计,可以将第一传输链路的带宽资源公平均分给各视频播放业务。
在另一种实现方式中,网关121从第一视频片段对应的多个码率中确定第二码率,具体可以包括:
S2062、网关121根据客户端111的属性,从第一视频片段对应的多个码率中确定第二码率。
其中,客户端111的属性,具体可以反映为:客户端111的设备类型(例如,客户端111对应的设备型号,设备硬件配置等)、客户端111的应用类型(例如,客户端111为视频电话应用、视频会议应用、直播应用或电视节目播放应用等)以及所述客户端111的用户优先级等。
例如,网关121在根据客户端111的属性,确定客户端111的设备硬件配置较低或者客户端111的设备为一些硬件配置较低的老旧机型后,可以从第一视频片段对应的多个码率中确定最低码率作为第二码率。
再例如,网关121在根据客户端111的应用类型,确定客户端111为视频电话应用、视频会议应用等优先级高的应用后,可以从第一视频片段对应的多个码率中确定最高码率作为第二码率。
再例如,网关121可以预先给与客户端111共享第一传输链路的各用户设定用户优先级,然后根据客户端111的用户优先级,从第一视频片段对应的多个码率中确定第二码率。
在又一种实现方式中,网关121从第一视频片段对应的多个码率中确定第二码率,具体可以包括:
S2063、网关121根据第一传输链路的运行状态和客户端111的属性,从第一视频片段对应的多个码率中确定第二码率。
其中,第一传输链路的运行状态和客户端111的属性的具体内容,可参照上文S2061和S2062中的描述。
例如,一方面,网关121可以根据第一传输链路的运行状态,通过上文S2061a-S2061b的方式,确定第一带宽bw。另一方面,网关121可以根据客户端111的属性计算一个权值f。然后,根据权值f对第一带宽bw进行调整,得到第二带宽bw2。然后从第一视频片段对应的多个码率中确定与第二带宽bw2对应的第二码率。
S207、网关121向业务服务器131发送第二视频请求。
其中,第二视频请求用于请求第二码率的第一视频片段。具体的,第二视频请求中可以携带有第二码率的第一视频片段的访问标识。
例如,第二视频请求用于请求图2中1080Kbps的视频片段a,则第二视频请求中可以携带有URL2。
在一种实现方式中,客户端111与业务服务器131之间可以采用透传方式进行通信。进而,在网关121向业务服务器131发送第二视频请求之前,该方法还包括:
网关121将第一视频请求中携带的第一码率的第一视频片段的访问标识,替换为第二码率的第一视频片段的访问标识,得到第二视频请求。
具体的,在客户端111与业务服务器131之间采用透传的方式进行通信的情况下,客户端111向网关121发送的第一视频请求中的目的地址为业务服务器131的访问地址,即客户端111可以不感知通信路径上网关121、传输网络以及网关122的存在。因此,网关121可以通过修改第一视频请求中视频片段的访问标识(如URL),从而得到用于请求第二码率的第一视频片段的第二视频请求。
在另一种实现方式中,客户端111与业务服务器131之间可以采用由网关121代理访问的方式进行通信。其中,客户端111发送的第一视频请求的目的地址为网关121的访问地址,另外第一视频请求中携带有业务服务器131的访问地址。进而,在网关121向业务服务器131发送第二视频请求之前,该方法还包括:
根据第一视频请求,生成目的地址为业务服务器131的访问地址的第二视频请求。
S208、网关121接收业务服务器131发送的二码率的第一视频片段。
S209、网关121向客户端111发送第二码率的第一视频片段。
其中,客户端111在接收到第二码率的第一视频片段后播放该视频片段,即可实现视频的在线播放。
本实施例所提供的上述方法中,一方面通过由网关121来确定客户端111所播放的第一视频片段的码率,从而可以实现对传输链路的带宽进行更加合理的分配。另一方面,本实施例所提供方法实质上是在接收到客户端用于请求第一码率的视频片段的第一视频请求后,不向客户端反馈第一码率的视频片段,而是向客户端反馈网关121重新确定出的第二码率的视频片段,因此无论客户端111发送的第一视频请求所请求的是哪种码率,通过本实施例所提供的方法都可以实现由网关121来确定客户端111所播放的第一视频片段的码率。因此,本实施例中,客户端111可以依然按照相关技术中的码率自适应技术发送第一视频请求,也就是说本实施例所提供的方法可以在不对客户端111进行改进的前提下,达到实现对传输链路的带宽进行更加合理的分配等技术效果。
上述图6所描述的实施过程,主要是以客户端侧的网关121在接收到客户端111发送的第一视频请求后重新确定第二码率、向第一客户端发送第二码率的第一视频片段的处理流程为例,对本实施例所提供的通信方法进行介绍。下面以业务服务器侧的网关122的处理流程为例,对本实施例所提供的通信方法进行介绍。具体的,如图7所示,该方法可以包括:
S301、客户端111向业务服务器131发送视频访问请求。
其中,与S201同理,视频访问请求用于请求业务服务器131反馈待播放视频文件对应的视频索引文件。示例性的,该视频索引文件可以为MPD文件。
S302、网关122接收业务服务器131响应于视频访问请求发送的视频索引文件。
其中,网关122接收视频索引文件的具体实现过程,以及视频索引文件中的内容,可参照上文S202的相应内容,在此不做赘述。
需要说明的是,在实际应用中,当网关122内置在业务服务器131中的用于实现网关功能的软硬件模块时,也可以不执行上述S302的内容。
S303、网关122解析视频索引文件。
其中,网关122解析视频索引文件的具体实现过程,可参照上文S203的相应内容,在此不做赘述。
S304、网关122向客户端111发送视频索引文件。
例如,网关122可以将视频索引文件发送至网关121,然后网关121将视频索引文件发送至客户端111。
客户端111接收到视频索引文件后的处理过程,可参照上文S204的相应内容,在此不做赘述。
S305、网关122接收来自客户端111的第一视频请求。
例如,客户端111在将第一视频请求发送给网关121后,网关121将第一视频请求发送给网关122。
其中,与S205同理,第一视频请求用于请求第一码率的第一视频片段。具体的,第一视频请求中可以携带有第一码率的第一视频片段的URL。例如,第一视频请求用于请求图2中720Kbps的视频片段a,则第一视频请求中携带有URL3。
S306、网关122从第一视频片段对应的多个码率中确定第二码率。
其中,网关122从第一视频片段对应的多个码率中确定第二码率的具体实现过程,可以参照上文中S206中网关121的相应处理过程,在此不做赘述。
S307、网关122向业务服务器131发送第二视频请求。
其中,与S207同理,第二视频请求用于请求第二码率的第一视频片段。具体的,第二视频请求中可以携带有第二码率的第一视频片段的访问标识。例如,第二视频请求用于请求图2中1080Kbps的视频片段a,则第二视频请求中可以携带有URL2。
另外,当客户端111与业务服务器131之间采用透传的方式进行通信的情况下,网关122可以通过修改第一视频请求中视频片段的访问标识的方式,得到第二视频请求;当客户端111与业务服务器131之间采用由网关122代理访问的方式进行通信的情况下,网关122可以通过根据第一视频请求中携带的业务服务器131的访问地址,生成目的地址为业务服务器131的访问地址的第二视频请求的这种方式,得到第二视频请求。重复之处,在此不做赘述。
S308、网关122接收业务服务器131发送的第二码率的第一视频片段。
需要说明的是,当网关122为内置在业务服务器131中的用于实现网关功能的软硬件模块时,也可以不执行上述S307和S308的内容。
S309、网关122根据预设时间内经过网关122的数据吞吐量,确定网关122向客户端111发送第一报文的发送速度。
其中,第一报文包括承载第二码率的第一视频片段的传输报文。
本实施例中,考虑到在传输链路中数据吞吐量与传输时延存在正相关的关系。示例性的,图8所示为一种传输链路中数据吞吐量随时间变化的示意图,以及同一时间段内传输时延随时间变化的示意图。可以看出,当数据吞吐量越大时传输时延就越大,当数据吞吐量越小时传输时延就越小。因此,在网关122向客户端111发送第二码率的第一视频片段之前,可以根据预设时间内经过网关122的数据吞吐量,确定网关122向客户端111发送第一报文的发送速度。
例如,第二码率的第一视频片段包括100个第一报文,当检测到经过网关122的数据吞吐量大时,则以较低的速度向客户端111发送第一报文,如以每毫秒10个报文的速度发送第一报文;当检测到经过网关122的数据吞吐量较小时,则以较高的速度向客户端111发送第一报文,如以每毫秒50个报文的速度发送第一报文。
可以理解的是,在实际应用过程中,网关122也可以通过其他方法确定向客户端111发送第一报文的发送速度,例如网关122可以按照预先设定好的速度向客户端111发送第一报文。当网关122通过其他方式确定向客户端111发送第一报文的发送速度时,也可以不执行S309的内容。
S310、网关122向客户端111发送第二码率的第一视频片段。
例如,网关122可以通过与网关121之间的第一传输链路,按照S309确定的发送速度,将承载第二码率的第一视频片段的第一报文发送至网关121,然后网关121再将第一报文发送至客户端111。
可以理解的是,在本实施例上述通信方法中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本实施例的范围。例如,上述图6所描述的通信方法中,S206可以在S203网关121解析视频索引文件后的任意时间执行;再例如,上述图7所描述的通信方法中,S306可以在S303网关122解析视频索引文件后的任意时间执行。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
上文中结合图1-图8,详细描述了根据本实施例所提供的通信方法,下面将描述本实施例所提供通信方法对应的各种装置以及设备。
如图9所示,为本实施例提供的一种通信装置的结构示意图。该通信装置40可以为用于实现网关功能的软硬件装置。具体的,该通信装置40可以为交换机、路由器、服务器以及接入交换机等设备中用于实现网关功能的全部或部分软硬件装置。该通信装置40可以用于执行上文中图6中网关121所执行的全部或部分步骤,或者用于执行上文中图7中网关122所执行的全部或部分步骤。具体的,通信装置40中包括:
通信单元401,用于接收来自第一客户端的第一视频请求,第一视频请求用于请求第一码率的第一视频片段。
处理单元402,用于从第一视频片段对应的多种码率中确定第二码率。
通信单元401,还用于向第一客户端发送第二码率的第一视频片段。
可选的,处理单元402,用于从第一视频片段对应的多种码率中确定第二码率,包括:
处理单元402,具体用于根据第一传输链路的运行状态和/或第一客户端的属性,从第一视频片段对应的多种码率中确定第二码率;其中,第一传输链路为用于传输第一视频片段的传输链路。
可选的,第一传输链路的运行状态,包括:第一传输链路的总带宽、当前第一传输链路上承载的业务数量和业务类型中的一项或多项。
可选的,第一客户端的属性,包括:第一客户端的设备类型,第一客户端的应用类型以及第一客户端的业务优先级中的一项或多项。
可选的,处理单元402,还用于根据预设时间内网关的数据吞吐量,确定网关向第一客户端发送第一报文的发送速率;其中,第一报文包括承载第二码率的第一视频片段的多个报文。
通信单元401,还用于向第一客户端发送第二码率的第一视频片段,包括:
通信单元401,还用于按照发送速率,向第一客户端发送第一报文。
可选的,通信单元401,还用于向业务服务器发送第二视频请求;第二视频请求用于请求第二码率的第一视频片段。
通信单元401,还用于接收来自业务服务器的第二码率的第一视频片段。
可选的,处理单元402,还用于将第一视频请求中携带的第一码率的第一视频片段的访问标识,替换为第二码率的第一视频片段的访问标识,得到第二视频请求。
可选的,第一视频请求的目的地址为网关的访问地址,第一视频请求中携带有业务服务器的访问地址;
处理单元402,还用于根据第一视频请求,生成目的地址为业务服务器的访问地址的第二视频请求。
可选的,通信单元401,还用于接收业务服务器向第一客户端发送的视频索引文件;视频索引文件中携带有第一视频片段对应的多种码率以及各码率的第一视频片段的URL。
处理单元402,还用于解析视频索引文件。
通信单元401,还用于向第一客户端发送视频索引文件。
有关上述通信单元401和处理单元402更详细的描述,可以直接参考图6或图7所示的方法中相关描述,这里不再赘述。
图10为本实施例提供的另一种通信装置的结构示意图。该通信装置50可以为芯片或片上系统。具体的,该通信装置50可以为交换机、路由器、服务器以及接入交换机等设备中部分或全部的硬件装置。
其中,该通信装置50可以包括:处理器501、通信线路506、内存503以及至少一个通信接口502中的部分或全部部件。
其中,处理器501用于执行本实施例图6或图7所提供的通信方法中网关121或网关122所执行的全部或部分步骤。
具体的,处理器501可以包含通用中央处理器(central processing unit,CPU),处理器501还可以包含微处理器、现场可编程逻辑门阵列(Field Programmable GateArray,FPGA)、数字信号处理器(digital signal processing,DSP)或者特定应用集成电路(application-specific integrated circuit,ASIC)、或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
在具体实现中,作为一种实施例,处理器501可以包括一个或多个CPU,例如图10中的CPU0和CPU1。
在具体实现中,作为一种实施例,通信装置50可以包括多个处理器,例如图10中的处理器501和处理器505。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理例如计数据(算机程序指令)的处理核。
另外,内存503可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。内存503可以是独立存在,通过通信线路506与处理器501相连接。内存503也可以和处理器501集成在一起。
其中,内存503存储有计算机指令。例如,在内存503中存储的计算机指令,可以包括用于实现上述通信单元401以及处理单元402的全部或部分功能的软件模块。处理器501可以通过执行内存503中存储的计算机指令,用于执行本实施例所提供的通信方法中的全部或部分步骤。
可选的,本实施例中的计算机执行指令也可以称之为应用程序代码,本实施例对此不作具体限定。
另外,通信接口502使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless localarea networks,WLAN)等。
另外,通信线路506用于将通信装置50中各部件连接。具体的,通信线路506可以包括数据总线、电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为通信线路506。
另外,通信装置50还可以包括存储介质504。存储介质504用于存储计算机指令以及实现本实施例技术方案的各种数据。以便通信装置50在执行本实施例上述通信方法时,将存储介质504中存储的计算机指令和各种数据加载至内存503中,以使得处理器501可以通过执行内存503中存储的计算机指令,用于执行本实施例所提供的通信方法。
应理解,根据本实施例的通信装置50可对应于本实施例中的通信装置40,并可以对应于执行根据本实施例的通信方法的相应主体,并且通信装置50中的各个模块的上述和其它操作和/或功能分别为了实现图6或图7中的各个方法的相应流程,为了简洁,在此不再赘述。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、PROM、EPROM、EEPROM、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于通信装置或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于通信装置或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、通信装置、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,SSD。
在本实施例中,如果没有特殊说明以及逻辑冲突,不同的实现方式之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上,其它量词与之类似。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。例如,“a device”意味着对一个或多个这样的device。再者,至少一个(at least one of).......”意味着后续关联对象中的一个或任意组合,例如“A、B和C中的至少一个”包括A,B,C,AB,AC,BC,或ABC。在本实施例的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本实施例的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
Claims (21)
1.一种通信方法,其特征在于,所述方法应用于网关,包括:
接收来自第一客户端的第一视频请求,所述第一视频请求用于请求第一码率的第一视频片段;
从所述第一视频片段对应的多种码率中确定第二码率;
向所述第一客户端发送所述第二码率的所述第一视频片段。
2.根据权利要求1所述的方法,其特征在于,所述从所述第一视频片段对应的多种码率中确定第二码率,包括:
根据第一传输链路的运行状态和/或所述第一客户端的属性,从所述第一视频片段对应的多种码率中确定第二码率;其中,所述第一传输链路为用于传输所述第一视频片段的传输链路。
3.根据权利要求2所述的方法,其特征在于,所述第一传输链路的运行状态,包括:所述第一传输链路的总带宽、当前所述第一传输链路上承载的用户数量、各用户的用户类型和当前所述第一传输链路上承载的业务类型中的一项或多项。
4.根据权利要求2或3所述的方法,其特征在于,所述第一客户端的属性,包括:所述第一客户端的设备类型,所述第一客户端的应用类型以及所述第一客户端的用户优先级中的一项或多项。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
根据预设时间内所述网关的数据吞吐量,确定所述网关向所述第一客户端发送第一报文的发送速率;其中,所述第一报文包括承载所述第二码率的第一视频片段的多个报文;
所述向所述第一客户端发送所述第二码率的所述第一视频片段,包括:
按照所述发送速率,向所述第一客户端发送所述第一报文。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
向业务服务器发送第二视频请求;所述第二视频请求用于请求所述第二码率的所述第一视频片段;
接收来自所述业务服务器的所述第二码率的所述第一视频片段。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述第一视频请求中携带的所述第一码率的所述第一视频片段的访问标识,替换为所述第二码率的所述第一视频片段的访问标识,得到第二视频请求。
8.根据权利要求6所述的方法,其特征在于,所述第一视频请求的目的地址为所述网关的访问地址,所述第一视频请求中携带有所述业务服务器的访问地址;所述方法还包括:
根据所述第一视频请求,生成目的地址为所述业务服务器的访问地址的第二视频请求。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
接收业务服务器向所述第一客户端发送的视频索引文件;所述视频索引文件中携带有所述第一视频片段对应的多种码率以及各码率的所述第一视频片段的URL;
解析所述视频索引文件;
向所述第一客户端发送所述视频索引文件。
10.一种通信装置,其特征在于,所述通信装置应用于网关,所述通信装置包括:
通信单元,用于接收来自第一客户端的第一视频请求,所述第一视频请求用于请求第一码率的第一视频片段;
处理单元,用于从所述第一视频片段对应的多种码率中确定第二码率;
所述通信单元,还用于向所述第一客户端发送所述第二码率的所述第一视频片段。
11.根据权利要求10所述的通信装置,其特征在于,所述处理单元,用于从所述第一视频片段对应的多种码率中确定第二码率,包括:
所述处理单元,具体用于根据第一传输链路的运行状态和/或所述第一客户端的属性,从所述第一视频片段对应的多种码率中确定第二码率;其中,所述第一传输链路为用于传输所述第一视频片段的传输链路。
12.根据权利要求11所述的通信装置,其特征在于,所述第一传输链路的运行状态,包括:所述第一传输链路的总带宽、当前所述第一传输链路上承载的用户数量、各用户的用户类型和当前所述第一传输链路上承载的业务类型中的一项或多项。
13.根据权利要求11或12所述的通信装置,其特征在于,所述第一客户端的属性,包括:所述第一客户端的设备类型,所述第一客户端的应用类型以及所述第一客户端的用户优先级中的一项或多项。
14.根据权利要求10-13任一项所述的通信装置,其特征在于,
所述处理单元,还用于根据预设时间内所述网关的数据吞吐量,确定所述网关向所述第一客户端发送第一报文的发送速率;其中,所述第一报文包括承载所述第二码率的第一视频片段的多个报文;
所述通信单元,还用于向所述第一客户端发送所述第二码率的所述第一视频片段,包括:
所述通信单元,还用于按照所述发送速率,向所述第一客户端发送所述第一报文。
15.根据权利要求10-14任一项所述的通信装置,其特征在于,
所述通信单元,还用于向业务服务器发送第二视频请求;所述第二视频请求用于请求所述第二码率的所述第一视频片段;
所述通信单元,还用于接收来自所述业务服务器的所述第二码率的所述第一视频片段。
16.根据权利要求15所述的通信装置,其特征在于,
所述处理单元,还用于将所述第一视频请求中携带的所述第一码率的所述第一视频片段的访问标识,替换为所述第二码率的所述第一视频片段的访问标识,得到第二视频请求。
17.根据权利要求15所述的通信装置,其特征在于,所述第一视频请求的目的地址为所述网关的访问地址,所述第一视频请求中携带有所述业务服务器的访问地址;
所述处理单元,还用于根据所述第一视频请求,生成目的地址为所述业务服务器的访问地址的第二视频请求。
18.根据权利要求10-17任一项所述的通信装置,其特征在于,
所述通信单元,还用于接收业务服务器向所述第一客户端发送的视频索引文件;所述视频索引文件中携带有所述第一视频片段对应的多种码率以及各码率的所述第一视频片段的URL;
所述处理单元,还用于解析所述视频索引文件;
所述通信单元,还用于向所述第一客户端发送所述视频索引文件。
19.一种通信装置,其特征在于,包括处理器和接口,所述处理器通过所述接口接收或发送数据,所述处理器用于实现如权利要求1-9中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在处理器上运行时,实现如权利要求1-9任一项所述的方法。
21.一种通信系统,其特征在于,包括:客户端、网关以及业务服务器;其中,所述客户端通过所述网关与所述业务服务器连接;
所述网关用于实现如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210457449.5A CN117014664A (zh) | 2022-04-28 | 2022-04-28 | 通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210457449.5A CN117014664A (zh) | 2022-04-28 | 2022-04-28 | 通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117014664A true CN117014664A (zh) | 2023-11-07 |
Family
ID=88569548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210457449.5A Pending CN117014664A (zh) | 2022-04-28 | 2022-04-28 | 通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117014664A (zh) |
-
2022
- 2022-04-28 CN CN202210457449.5A patent/CN117014664A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8717890B2 (en) | Application, usage and radio link aware transport network scheduler | |
US11190615B2 (en) | Technique for enhancing rendering of displayable content | |
US9660922B2 (en) | Network assisted rate shifting for adaptive bit rate streaming | |
US11924650B2 (en) | System, method and service product for content delivery | |
US9838459B2 (en) | Enhancing dash-like content streaming for content-centric networks | |
US9609370B2 (en) | Video delivery modification based on network availability | |
US10070348B2 (en) | Hypertext transfer protocol support over hybrid access | |
RU2571732C2 (ru) | Управляющее устройство и способ управления передачей потока видеоданных по сети на сетевое пользовательское устройство | |
US20140101292A1 (en) | Throttling a Media Stream For Transmission via a Radio Access Network | |
US20180205802A1 (en) | Cache Aware Streaming | |
US10833944B2 (en) | Distribution of bandwidth in a network | |
EP3286967B1 (en) | Technique for scheduling transmission of content in an access network | |
CN117014664A (zh) | 通信方法及装置 | |
WO2022151381A1 (zh) | 一种通信方法与装置 | |
Khan et al. | Bandwidth Estimation Techniques for Relative'Fair'Sharing in DASH | |
Abdelsalam et al. | Evaluation of DASH algorithms on dynamic satellite-enhanced hybrid networks | |
Jahed et al. | Practical device-centric WiFi/cellular link aggregation mechanism for mobile devices | |
KR20210077841A (ko) | 고품질 저지연 실시간 미디어 스트리밍 서비스를 제공하는 방법 및 그 장치 | |
Younus et al. | A model for a practical evaluation of a DASH-based rate adaptive algorithm over HTTP | |
EP4002793B1 (en) | Method and controller for audio and/or video content delivery | |
Rahman et al. | Evaluating the Implementation of NFD, MW-NFD, and YaNFD in NDN-Base Video Streaming System | |
Bojarzadeh | Adaptive Algorithm for Video Streaming over Wireless Networks | |
Shah et al. | A Novel Content Provisioning Framework for Multi-technology Wireless Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |