CN116743719A - 流媒体的处理方法、装置、终端设备及存储介质 - Google Patents
流媒体的处理方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN116743719A CN116743719A CN202210211720.7A CN202210211720A CN116743719A CN 116743719 A CN116743719 A CN 116743719A CN 202210211720 A CN202210211720 A CN 202210211720A CN 116743719 A CN116743719 A CN 116743719A
- Authority
- CN
- China
- Prior art keywords
- streaming media
- code rate
- seed
- client
- fragment
- 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
- 238000003672 processing method Methods 0.000 title description 12
- 239000012634 fragment Substances 0.000 claims abstract description 108
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 46
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000005259 measurement Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 17
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 125000000205 L-threonino group Chemical group [H]OC(=O)[C@@]([H])(N([H])[*])[C@](C([H])([H])[H])([H])O[H] 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- 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/60—Network streaming of media packets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种流媒体的处理方法、装置、终端设备及存储介质,其中方法包括:当流媒体需从第一码率切换至第二码率时,从所述第二码率的种子文件中获取期望的流媒体片段的指示;根据所述期望的流媒体片段的指示,查询具有所述第二码率的所述期望的流媒体片段的种子客户端;其中,查询到的种子客户端用于提供所述期望的流媒体片段。本申请实施例可以实现将码率自适应技术应用到P2P(Peer to Peer,点对点技术/对等式网络)传输场景。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种流媒体的处理方法、装置、终端设备及存储介质。
背景技术
码率自适应技术是指:在流媒体的播放过程中,流媒体业务根据应用层已发生的网络情况预测后续的网络波动,从而为用户提供动态的码率并自动对流媒体进行码率切换,以避免流媒体的播放发生卡顿等情况。经研究表明,现有的码率自适应技术主要是基于CDN(Content Delivery Network,内容分发网络)架构设计的;也就是说,现有的码率自适应技术通常只适用于CDN传输场景,目前缺少将码率自适应技术应用到其他场景的技术方案。
发明内容
本申请实施例提供了一种流媒体的处理方法、装置、终端设备及存储介质,可以实现将码率自适应技术应用到P2P传输场景。
一方面,本申请实施例提供了一种流媒体的处理方法,所述方法包括:
当流媒体需从第一码率切换至第二码率时,从所述第二码率的种子文件中获取期望的流媒体片段的指示;
根据所述期望的流媒体片段的指示,查询具有所述第二码率的所述期望的流媒体片段的种子客户端;其中,查询到的种子客户端用于提供所述期望的流媒体片段。
另一方面,本申请实施例提供了一种流媒体的处理装置,所述装置包括:
获取单元,用于当流媒体需从第一码率切换至第二码率时,从所述第二码率的种子文件中获取期望的流媒体片段的指示;
处理单元,用于根据所述期望的流媒体片段的指示,查询具有所述第二码率的所述期望的流媒体片段的种子客户端;其中,查询到的种子客户端用于提供所述期望的流媒体片段。
再一方面,本申请实施例提供了一种终端设备,所述终端设备包括处理器和存储器;
所述存储器用于存储指令;
所述处理器用于调用所述存储器存储的指令实现上述所提及的流媒体的处理方法。
再一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行上述所提及的流媒体的处理方法。
再一方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序;所述计算机程序被处理器执行时,实现上述所提及的流媒体的处理方法。
本申请实施例当流媒体需从第一码率切换至第二码率时,可先从第二码率的种子文件中获取期望的流媒体片段的指示,然后根据期望的流媒体片段的指示,查询具有第二码率的期望的流媒体片段的种子客户端,以使得后续可基于确定出的种子客户端来获取相应的流媒体片段。可见,本申请实施例通过考虑P2P的传输特性,可解决在流媒体涉及码率切换时,无法确定合适的种子客户端的问题,从而实现将码率自适应技术应用到P2P传输场景。
附图说明
图1a是本申请实施例提供的一种基于CDN方式获取流媒体片段的示意图;
图1b是本申请实施例提供的一种基于P2P方式获取流媒体片段的示意图;
图2是本申请实施例提供的一种流媒体的处理方法的流程示意图;
图3a是本申请实施例提供的一种获取第二码率的种子文件的示意图;
图3b是本申请实施例提供的另一种获取第二码率的种子文件的示意图;
图3c是本申请实施例提供的再一种获取第二码率的种子文件的示意图;
图4是本申请另一实施例提供的一种流媒体的处理方法的流程示意图;
图5是本申请实施例提供的一种获取首个流媒体片段的示意图;
图6是本申请实施例提供的一种流媒体的处理装置的结构示意图;
图7是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请实施例中,流媒体又可称为流式媒体,其是一种边传边播的媒体;所谓的边传边播是指:在传输媒体的同时,用户侧可不断地接收并观看或播放被传输的媒体。具体的,流媒体可以为视频数据或者音频数据,对此不作限定;为便于阐述,后续均以流媒体为视频数据为例进行说明。此处所提及的视频数据可以包括但不限于以下任一种:基于视频点播的视频数据、基于流媒体直播的视频数据、基于低时延直播的视频数据等。其中,针对基于视频点播的视频数据而言,其流媒体内容(即视频内容)事先缓存在业务服务器或曾经观看过该视频数据的客户端中,因此用户的客户端可从业务服务器或观看过该视频数据的客户端处获得流媒体内容;针对基于流媒体直播的视频数据而言,主播(源端)需先将本地的流媒体缓冲在业务服务器,用户的客户端再从业务服务器获得流媒体内容,主播和用户之间的时延一般有4~5s(秒),或者更长;针对基于低时延直播的视频数据而言,其时效性更强,源端到用户的客户端之间的时延通常在秒级、甚至数百毫秒。
进一步的,流媒体中的流媒体内容可以以流媒体片段的形态存在;也就是说,一个流媒体可由多个流媒体片段组成。其中,当流媒体为基于视频点播的视频数据时,由于其流媒体内容(即视频内容)通常以视频块的形态存在;因此,此情况下的流媒体片段可理解成是视频块。当流媒体为基于流媒体直播的视频数据时,由于其流媒体内容通常以GOP(Groupof Pictures,关键帧间隔)的形态存在,一个GOP可理解成是一个图像组,该图像组中的第一帧为关键帧,其他帧为非关键帧;因此,此情况下的流媒体片段可理解成是GOP。当流媒体为基于低时延直播的视频数据时,由于其流媒体内容通常以图像帧(简称为帧)的形态存在,可以包含一个或多个图像帧;因此,此情况下的流媒体片段可理解成是图像帧。
在实际应用中,流媒体中的流媒体片段的获取方式至少可存在以下两种:CDN方式以及P2P方式。其中,CDN方式的基本逻辑为:从流媒体的内容提供方的业务服务器(如中心服务器或边缘服务器)获取流媒体片段,如图1a所示。在此方式下,流媒体内容从业务服务器上流出时,内容提供方需向相应的通信运营商支付一定的流量费用。P2P方式的基本逻辑为:通过流媒体业务的P2P机制从具有流媒体片段的客户端处获取相应的流媒体片段,例如参见图1b所示,如果客户端B曾观看过流媒体片段1,则客户端A可以从客户端B处获取流媒体片段1;在此方式下,由于无需从业务服务器处获取流媒体内容,因此内容提供方无需向通信运营商支付相关流量费用,可降低相关成本。
需要说明的是,在CDN传输场景下,同一个业务服务器中可以缓冲同一流媒体的多种码率的流媒体片段,例如a1(240p),a2(320p),a3(480p),a4(720p)以及a5(1080p)等码率的流媒体片段。而在P2P传输场景下,作为种子的客户端仅缓存有播放过的相应码率的流媒体片段;因此,在P2P传输场景中涉及码率切换时,有可能会需要从不同的种子客户端(即可提供流媒体片段的客户端)处获取相应码率的流媒体片段。基于此,本申请实施例通过充分考虑P2P传输和CDN传输的差异性,提出了一种流媒体的处理方法,以在P2P场景中涉及流媒体的码率切换时,可确定出合适的种子客户端,从而实现将码率自适应技术应用到P2P传输场景。
在具体实现中,本申请实施例所提出的流媒体的处理方法可由具有流媒体播放能力的客户端执行,如视频播放客户端(如视频点播客户端或视频直播客户端)、游戏客户端或者车路协同客户端,等等。或者,该流媒体的处理方法也可由运行有客户端的终端设备执行;此处所提及的终端设备可包括但不限于以下任一种:蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、个人数字处理(Personal DigitalAssistant,PDA)、具有无线通信功能的手持设备(如智能手机、平板电脑等)、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备、物联网(Internet ofThings,IoT)设备、移动网络中的用户设备或者未来演进的公共陆地移动网络(PublicLand Mobile Network,PLMN)中的用户设备等;进一步的,此处提及的移动网络可以是4G(the 4th Generation Mobile Communication Technology,第4代移动通信技术)网络、或5G(5th Generation Mobile Communication Technology,第五代移动通信技术)网络等。
下面以具有流媒体播放能力的客户端(采用客户端A表示)为执行主体为例,结合图2所示的流程图,对本申请实施例所提出的流媒体的处理方法进行阐述。参见图2所示,该流媒体的处理方法可包括S201-S202:
S201,当流媒体需从第一码率切换至第二码率时,从第二码率的种子文件中获取期望的流媒体片段的指示。
在具体实现中,用户可通过无线网络并使用客户端A播放流媒体;此处的无线网络可以例如是Wi-Fi(WirelessFidelity,无线网络保真技术)或移动网络等,而移动网络可以例如是4G网络或5G网络等。考虑到无线网络具有波动性,客户端A在播放流媒体的过程中,可通过采集网络信息,如速率(码率)、时延等信息,并根据采集到的网络信息对流媒体业务所处的网络状态进行评估或预测;或者,客户端A可获取流媒体的状态信息以及N个历史网络预测结果(N为正整数),从而根据流媒体的状态信息以及N个历史网络预测结果,对流媒体业务所处的网络状态进行预测;又或者,客户端A还可在流媒体的状态信息以及N个历史网络预测结果的基础上,进一步结合每个历史网络预测结果对应的历史码率决策结果,对流媒体业务所处的网络状态进行预测。当通过上述任一种方式预测到流媒体业务所处的网络状态即将发生变化时(如网络状态从强网状态转为弱网状态,或从弱网状态转为强网状态),客户端A可触发流媒体业务的自适应机制(如码率自适应机制)来对流媒体进行码率决策,以决策出流媒体需从第一码率切换至第二码率。
其中,第一码率是指在进行码率决策时流媒体使用的当前码率,第二码率是指需通过码率切换所切换至的期望码率。需要说明的是,第一码率和第二码率之间的大小关系,取决于预测出的网络状态的变化情况。例如,以流媒体业务为视频点播业务(即流媒体为基于视频点播的视频数据)为例,若预测到网络状态将从强网状态变化为弱网状态,则视频点播业务可根据该网络状态的变化情况自动降低流媒体传输的码率,以降低流媒体传输所消耗的网络资源,进而避免视频卡顿发生的概率;那么在此情况下,第一码率便大于第二码率。若预测到网络状态将从弱网状态变换为强网状态,则视频点播业务可根据该网络状态的变化情况自动提升流媒体传输的码率,以提升流媒体的播放效果;那么在此情况下,第一码率便小于第二码率。
当流媒体需从第一码率切换至第二码率时,客户端A可获取第二码率的种子文件。在一种具体实现中,当流媒体需从第一码率切换至第二码率时,客户端A可根据流媒体的媒体链接(如视频链接)从种子描述信息服务器(如TPT服务器)处,获取第二码率的种子文件,其获取方式可示例性地参见图3a所示。另一种具体实现中,当流媒体需从第一码率切换至第二码率时,客户端A可从多码率种子文件中获取第二码率的种子文件;其中,多码率种子文件至少包括两种码率的种子文件。在一种实施方式中,该多码率种子文件可以是在执行步骤S201之前,预先根据流媒体的媒体链接从种子描述信息服务器处获取到的;本申请实施例对多码率种子文件的获取时间点不作限定,例如可在首次播放流媒体时来获取,也可在多码率种子文件发生更新时来获取,还可是在接收到文件获取触发指令时来获取,等等。此实施方式下,客户端A在流媒体需从第一码率切换至第二码率时,可直接从客户端A所处的终端设备中的存储空间中获取该多码率种子文件,进而从该多码率种子文件中获取第二码率的种子文件,其获取方式可示例性地参见图3b所示。另一种实施方式中,该多码率种子文件可以是实时地从种子描述信息服务器处获取到的;即此实施方式下,客户端A在流媒体需从第一码率切换至第二码率时,可先根据流媒体的媒体链接从种子描述信息服务器处获取多码率种子文件,进而从该多码率种子文件中获取第二码率的种子文件,其获取方式可示例性地参见图3c所示。
第二码率的种子文件包括:第二码率的流媒体中的至少一个流媒体片段的指示,流媒体片段的指示可以例如是KeyID(在视频业务里面,是vid(一种无声音的视频文件流媒体格式)+清晰度+分片号,字符串类型)或fieldID(整型)等片段标识(或称为索引号);可选的,种子文件还可包括整个资源文件以及流媒体片段的信息摘要算法校验信息(如MD5校验信息或MD4校验信息等,MD5和MD4本质为信息摘要算法),信息摘要算法校验信息用于校验P2P传输中的数据的正确性。基于此,客户端A在获取到第二码率的种子文件后,可从第二码率的种子文件中获取期望的流媒体片段的指示;其中,期望的流媒体片段是指:客户端A欲获取的流媒体片段。举例说明:设第二码率为a5(1080p),流媒体包括以下3个流媒体片段:流媒体片段1、流媒体片段2以及流媒体片段3;那么第二码率的种子文件可以包括:a5的流媒体片段1的fieldID(如01)、a5的流媒体片段2的fieldID(如02)以及a5的流媒体片段3的fieldID(如03)。若客户端A欲获取流媒体片段2,则流媒体片段2为期望的流媒体片段,且客户端A可从第二码率的种子文件获取到期望的流媒体片段的指示为03。
S202,根据期望的流媒体片段的指示,查询具有第二码率的期望的流媒体片段的种子客户端。
在具体实现中,客户端A可根据期望的流媒体片段的指示,在种子服务器(PeerServer)上查询具有第二码率的期望的流媒体片段的种子客户端;其中,查询到的种子客户端用于提供该期望的流媒体片段。在一种可选的具体实施方式中,客户端A可以生成携带期望的流媒体片段的指示的客户端查询请求,然后将该客户端查询请求发送给种子服务器,使得种子服务器可响应该客户端查询请求,查询具有第二码率的期望的流媒体片段的种子客户端,从而将查询结果返回给客户端A。需要说明的是,此处所提及的种子服务器和前述所提及的种子描述信息服务器可以是同一个服务器,也可以是不同的服务器,对此不作限定。
本申请实施例当流媒体需从第一码率切换至第二码率时,可先从第二码率的种子文件中获取期望的流媒体片段的指示,然后根据期望的流媒体片段的指示,查询具有第二码率的期望的流媒体片段的种子客户端,以使得后续可基于确定出的种子客户端来获取相应的流媒体片段。可见,本申请实施例通过考虑P2P的传输特性,可解决在流媒体涉及码率切换时,无法确定合适的种子客户端的问题,从而实现将码率自适应技术应用到P2P传输场景。
基于上述图2所示的方法实施例的相关描述,本申请实施例提供的另一种流媒体的处理方法;在本申请实施例中,仍以客户端A执行该流媒体的处理方法为例进行说明。请参见图4,该流媒体的处理方法可包括S401-S409:
S401,获取流媒体的状态信息。
其中,流媒体的状态信息可包括以下至少一项:流媒体来源、网络传输方式、流媒体类型、流媒体片段的数据大小、流媒体片段的下载耗时、流媒体片段的内容时长、缓冲大小时长、重新缓冲加载时长,以及流媒体对应的客户端播放帧率。具体的:
流媒体来源可包括:CDN下载或P2P下载。可见,流媒体来源可用于指示流媒体中的流媒体片段的获取方式;当流媒体来源包括CDN下载时,可指示流媒体片段的获取方式为CDN方式,当流媒体来源包括P2P下载时,可指示流媒体片段的获取方式为P2P方式。
网络传输方式可包括:Wi-Fi网络或移动网络(如4G网络或5G网络)。
流媒体类型可以包括但不限于:视频点播、流媒体直播或低时延直播等。
流媒体片段的数据大小是指:单个流媒体片段的数据大小。可选的,此处提及的单个流媒体片段可以是指:当前欲下载的流媒体片段,或当前正在下载的流媒体片段。当流媒体为视频数据时,流媒体片段的数据大小也可称为视频数据大小,且视频数据大小可包括以下任一种:视频块数据大小(在视频点播的情况下)、GOP数据大小(在流媒体直播的情况下)、帧数据大小(在低时延直播的情况下)。
流媒体片段的下载耗时是指:下载前述提及的单个流媒体片段时所花费的时长。
流媒体片段的内容时长是指:所下载的流媒体片段中包含的流媒体内容时长(即包含的流媒体内容的播放时长)。对于视频点播而言,流媒体片段的内容时长通常在10s(秒)左右;对于流媒体直播而言,流媒体片段的内容时长通常在数秒;对于低时延直播而言,流媒体片段的内容时长通常在数十毫秒到百毫秒左右。
缓冲大小时长是指:缓冲器中缓冲的流媒体剩余时长;当流媒体为视频数据时,缓冲大小时长便可指缓冲器中缓冲的视频剩余时长。进一步的,此处提及的流媒体剩余时长(或视频剩余时长)可以理解成是:缓冲器中缓冲的各个流媒体片段的内容时长的总和。
重新缓冲加载时长是指:在发生卡顿的情况下,从卡顿发生的时刻到开始流畅播放的时刻之间的时长。例如,在10点11分10秒时发生了卡顿,在10点11分20秒时开始流畅播放流媒体,则重新缓冲加载时长等于10秒。
流媒体对应的客户端播放帧率是指:播放流媒体的客户端A的播放帧率。一般情况下,客户端播放帧率可以为30fps(Frames Per Second,每秒传输帧数)左右。
可选的,流媒体的状态信息除了包括上述所提及的一种或多种信息以外,该流媒体的状态信息还可包括以下至少一项:未播放的流媒体片段的数据大小(如未播放视频数据大小)、流媒体片段的接收时间间隔(如帧接收时间间隔、视频块接收时间间隔或GOP接收时间间隔等),以及流媒体片段的实际下载时间与播放时间之间的差值。
需要说明的是,流媒体的状态信息可在每次获取到相应的流媒体片段后,进行更新。也就是说,在获取到流媒体中的首个流媒体片段后,可对该状态信息进行更新;在获取到流媒体中的第二个流媒体片段后,又可对该状态信息进行更新,以此类推。基于此,后续步骤所提及的状态信息均是指:在执行相应步骤时,所获取到的最新的状态信息。
S402,根据流媒体的媒体链接从种子描述信息服务器中获取多码率种子文件。
在具体实现中,客户端A在获取到流媒体的状态信息后,可根据状态信息中的流媒体来源确定是否执行步骤S402。当流媒体来源为P2P下载时,客户端便可执行步骤S402,以根据用户所选择的流媒体的媒体链接从种子描述信息服务器(TPT服务器)中获取多码率种子文件。其中,多码率种子文件至少包括两种码率的种子文件,比如按照码率从低到高的顺序,包含流媒体的至少两种码率的种子文件。
具体的,多码率种子文件至少包括:流媒体的初始码率的种子文件;此处提及的初始码率可包括:由流媒体业务指定的默认码率,或者用户历史播放流媒体时所采用的码率(例如用户上一次播放流媒体时所采用的码率)。进一步的,流媒体具有多种码率,且多种码率中的各码率按照从低到高的顺序排列;考虑到后续在涉及码率切换时,需从多码率种子文件中获取需切换至的码率的种子文件,且码率自适应算法(即码率自适应技术)在确定需切换至的码率时,通常会从邻近码率中进行选择;基于此,为便于后续可成功从多码率种子文件中获取需切换至的码率的种子文件,该多码率种子文件还包括:多种码率中与初始码率相邻的至少一种邻近码率的种子文件。
例如,按照码率从低到高的顺序,流媒体具有a1、a2、a3、a4以及a5这五种码率。假设客户端A此时采用的流媒体的初始码率(即默认码率或用户历史播放流媒体时所采用的码率)为a4,则a3和a5均为初始码率的邻近码率,此情况下的多码率种子文件可包括a3、a4和a5这三种码率的种子文件。假设客户端A此时采用的流媒体的初始码率(即默认码率或用户历史播放流媒体时所采用的码率)为a5,则a4为初始码率的邻近码率,此情况下的多码率种子文件可包括a4和a5这两种码率的种子文件。
当然应理解的是,上述只是示例性地说明了多码率种子文件的一种情况,并不对此进行限定。例如,在其他实施例中,多码率种子文件也可以包含流媒体的每种码率的种子文件,等等。并且,该多码率种子文件可以由种子描述信息服务器周期性地进行更新,或由种子描述信息服务器在指定时间内进行更新;又或者,该多码率种子文件可以由播放流媒体的客户端(即客户端A)主动发起更新等,本申请实施例对多码率种子文件的更新方式不作限定。
S403,从多码率种子文件中获取初始码率的种子文件,并从初始码率的种子文件中,获取流媒体的首个流媒体片段的指示。
S404,根据首个流媒体片段的指示,查询具有初始码率的首个流媒体片段的种子客户端。
S405,从具有初始码率的首个流媒体片段的种子客户端中,获取初始码率的首个流媒体片段。
在步骤S403-S405的具体实现中,客户端在期望获取流媒体中的首个流媒体片段时,便可通过步骤S403获得首个流媒体片段的指示,从而通过步骤S404根据该首个流媒体片段的指示在种子服务器(即Peer Server)上查询初始码率的首个流媒体片段的种子客户端(采用客户端B表示),进而通过步骤S405来获取初始码率的首个流媒体片段,如图5所示。其中,步骤S405的具体实施方式可以是:客户端A可和客户端B建立通信连接,基于该通信连接开始P2P传输,以从客户端B处获取期望的首个流媒体片段。
进一步的,在获取到首个流媒体片段后,客户端A可将该首个流媒体片段缓存入缓冲器中以便于后续播放该首个流媒体片段;并且,客户端A还可更新流媒体的状态信息,例如更新状态信息中的流媒体片段的数据大小、流媒体片段的下载耗时、流媒体片段的内容时长、缓冲大小时长、重新缓冲加载时长等信息。
S406,根据流媒体的状态信息以及N个历史网络预测结果,对流媒体业务所处的网络状态进行预测,得到网络预测结果。
需说明的是,步骤S406所涉及的状态信息是指:在步骤S406之前所获取到的最新的历史状态信息。并且,在执行步骤S406时,客户端A可以只根据流媒体的状态信息以及N个历史网络预测结果,对流媒体业务所处的网络状态进行预测,得到网络预测结果。进一步的,客户端A也可在流媒体的状态信息和N个历史网络预测结果的基础上,结合其他的信息来进行网络状态的预测;例如,在执行步骤S406时,客户端A可根据流媒体的状态信息、N个历史网络预测结果以及相应的历史码率决策结果(即N个历史网络预测结果中的每个历史网络预测结果对应的码率决策结果),对流媒体业务所处的网络状态进行预测,得到网络预测结果。
其中,N为正整数,即N的取值大于或等于1。并且,上述所提及的N个历史网络预测结果可以是指:距离本次预测最近的前N次预测得到的网络预测结果;例如,本次预测是第5次预测,N的取值为3,则N个历史网络预测结果是指:第2次预测得到的网络预测结果、第3次预测得到的网络预测以及第4次预测得到的网络预测结果。当然在其他实施例中,上述所提及的N个历史网络预测结果也可以是指:在本次预测之前的任意N次预测得到的网络预测结果,对此不作限定。可理解的是,当本次预测为首次预测时,N个历史网络预测结果为空。
可选的,客户端A具体可以通过调用网络预测模型来进行网络状态的预测;例如,客户端A可调用网络预测模型根据流媒体的状态信息、N个历史网络预测结果和相应的码率决策结果,对流媒体业务所处的网络状态进行预测,得到网络预测结果。得到的网络预测结果可用于指示流媒体业务所处的网络状态的变换情况,如用于指示网络状态将从强网状态变换为弱网状态,或者指示网络状态将从弱网状态变换为强网状态,又或者指示网络状态将保持不变等。
S407,根据得到的网络预测结果对流媒体进行码率决策,得到码率决策结果。
其中,码率决策结果包括维持码率或切换码率;且当得到的码率决策结果包括切换码率时,该得到的码率决策结果可进一步指示需切换至的第二码率。例如,假设流媒体的第一码率(即当前码率)为a4,通过步骤S407所得到的决策结果可以包括:维持码率a4或者切换码率(如从a4切换至a3或a5)。
S408,当流媒体需从第一码率切换至第二码率时(即当得到的码率决策结果包括切换码率时),从多码率种子文件中获取第二码率的种子文件,并从第二码率的种子文件中获取期望的流媒体片段的指示。
S409,根据期望的流媒体片段的指示,在种子服务器上查询具有第二码率的期望的流媒体片段的种子客户端。
在一种具体实现中,客户端A在通过步骤S409查询到具有第二码率的期望的流媒体片段的种子客户端后,可直接从查询到的具有第二码率的期望的流媒体片段的种子客户端处,获取第二码率的期望的流媒体片段。可选的,若查询到的具有第二码率的期望的流媒体片段的种子客户端的数量为多个,则客户端可从查询到的具有第二码率的期望的流媒体片段的种子客户端,选取一个种子客户端,并从选取出的种子客户端处获取第二码率的期望的流媒体片段。其中,种子客户端的选取方式可包括以下任一种:随机选取、按照负载均衡原则(即各种子客户端所连接的客户端的数量需保持均衡的原则)进行选取、根据各种子客户端和客户端A之间的地理位置距离,按照地理位置距离从近到远的顺序进行选取,或根据各个种子客户端的连接成功率进行选取,等等。
另一种具体实现中,客户端A在通过步骤S409查询到具有第二码率的期望的流媒体片段的种子客户端后,还可进一步验证查询到的具有第二码率的期望的流媒体片段的种子客户端是否满足码率切换的需求。在具体实现中,客户端A可先从查询到的具有第二码率的期望的流媒体片段的种子客户端中,选取M个种子客户端。其中,选取M个种子客户端的方式可与前述提及的选取一个种子客户端的方式类似,在此不再赘述。并且,选取出的M个种子客户端可作为潜在可连接的种子客户端,M的取值为正整数;M的取值小于或等于查询到的具有第二码率的期望的流媒体片段的种子客户端的总数。
然后,可对M个种子客户端中的每个种子客户端进行测速,得到每个种子客户端的测速结果;其中,任一种子客户端的测速结果中可包括任一种子客户端的速率(如传输速率)。在一种可选的实施方式中,客户端A可通知M个种子客户端中的每个种子客户端返回指定数据量的数据,并统计每个种子客户端返回该指定数据量的数据所花费的时长,从而根据该指定数据量和统计出的各个时长确定每个种子客户端的测速结果。需要说明的是,客户端A每次对M个种子客户端中的每个种子客户端进行测试时,可以是并行地对每个种子客户端进行测速,也可以是串行地依次对每个种子客户端进行测速,对此不作限定。
在得到M个种子客户端中的每个种子客户端的测速结果后,客户端A可根据得到的各个测速结果,从M个种子客户端中确定可切换的种子客户端。具体的,客户端A可比较得到的各个测试结果中的最高速率与第二码率之间的大小关系;若得到的各个测速结果中的最高速率大于或等于第二码率,则可确定最高速率对应的种子客户端满足码率切换的需求,此时可将最高速率对应的种子客户端确定为可切换的种子客户端。若得到的各个测试结果中的最高速率小于第二码率,则可重新选择M个种子客户端,并对重新选择的M个种子客户端进行测速,进而根据重新得到的各个测速结果来确定可切换的种子客户端,以此迭代。进一步的,在从M个种子客户端中确定出可切换的种子客户端后,从可切换的种子客户端中,获取第二码率的期望的流媒体片段。
举例说明:设第二码率为a5,M=3且M个种子客户端包括:客户端B1、客户端B2和客户端B3;客户端A对这三个种子客户端进行测速,分别获得如下三个测速结果:客户端B1的测速结果rate-b1、客户端B2的测速结果rate-b2以及客户端B3的测速结果rate-b3。假设rate-b1>rate-b2>rate-b3,则可比较rate-b1是否大于或等于a5;若rate-b1>=a5,则客户端A可将客户端B1作为可切换的种子客户端,从而从客户端B1处获取期望的流媒体片段;若rate-b1不满足期望调整的第二码率(如rate-b1<a5),则重复执行选取M个种子客户端的步骤,即客户端A更换并选择新的M个种子客户端作为潜在可连接的客户端。
可选的,在第二码率大于第一码率的情况下,即客户端A通过前述步骤S406-S407决策出流媒体的码率需从低码率切换为较高码率的情况下,客户端A还可通过启动一个计时器或计数器,来设置测速的最大尝试时长或最大尝试次数,从而在测速上避免浪费过多的时间成本或处理资源。
在一种实施方式中,客户端A在开始测速时,可启动一个计时器,并比较计时器的计时时长是否大于时长阈值(如1秒)。若计时器的计时时长大于时长阈值,且在计时过程中未确定出可切换的种子客户端,则客户端A可在预设时间段内维持当前码率和当前种子客户端;且此时的客户端A可停止测速,以及停止执行确定可切换的种子客户端的操作。也就是说,客户端A启动计时器,如果在1秒内没有确定出可切换的种子客户端,则客户端A在接下来的预设时间段内可维持当前码率以及当前种子客户端。
另一种实施方式中,客户端A在开始测速时,可启动一个计数器;其中,每切换一次测速的种子客户端,计数器执行一次计数。然后,客户端A可比较计数器的计数数值是否大于门限值(M_thres)。若计数器的计数数值大于门限值,且在计数过程中未确定出可切换的种子客户端,则在预设时间段内维持当前码率和当前种子客户端。应理解的是,计数器的计数数值可用于指示客户端A累计尝试测速的种子客户端的数量;因此,计数器的计数数值大于门限值可理解成是:客户端A累计尝试测速的种子客户端的数量大于门限值。
在上述两种实施方式中,所提及的当前种子客户端是指:在计时器的计时时长大于时长阈值时,或在计数器的计数数值大于门限值时,客户端A所连接的种子客户端;例如,在计时器的计时时长大于时长阈值时,客户端A所连接的种子客户端为客户端B,则当前种子客户端便为客户端B。并且,上述所提及的维持当前种子客户端可理解成是:维持和当前种子客户端的通信连接,以从当前种子客户端处获取期望的流媒体片段。另外,由前述可知:当流媒体为视频数据,流媒体中的流媒体片段包括以下任一种:视频块、关键帧间隔或者图像帧;基于此,上述所提及的预设时间段可包括以下至少一种:位于当前时间之后的至少一个指定时间段、视频块时长,或者关键帧间隔时长(即GOP时长)。
S410,当决策结果包括维持码率(如保持a4进行下载)时,继续从当前客户端处获取期望的流媒体片段。
可选的,在通过步骤S409或S410获取到流媒体片段后,客户端A可将获取到的流媒体片段缓存至缓冲器中,并更新流媒体的状态信息。
本申请实施例当流媒体需从第一码率切换至第二码率时,可先从第二码率的种子文件中获取期望的流媒体片段的指示,然后根据期望的流媒体片段的指示,查询具有第二码率的期望的流媒体片段的种子客户端,以使得后续可基于确定出的种子客户端来获取相应的流媒体片段。可见,本申请实施例通过考虑P2P的传输特性,可解决在流媒体涉及码率切换时,无法确定合适的种子客户端的问题,从而实现将码率自适应技术应用到P2P传输场景。
基于上述方法实施例的相关描述,本申请实施例还公开了一种流媒体的处理装置,所述流媒体的处理装置可以是运行于终端设备中的一个计算机程序(包括程序代码)。请参见图6,所述流媒体的处理装置可以运行如下单元:
获取单元601,用于当流媒体需从第一码率切换至第二码率时,从所述第二码率的种子文件中获取期望的流媒体片段的指示;
处理单元602,用于根据所述期望的流媒体片段的指示,查询具有所述第二码率的所述期望的流媒体片段的种子客户端。
在一种实施方式中,处理单元602还用于:
当流媒体需从第一码率切换至第二码率时,从多码率种子文件中获取所述第二码率的种子文件;
其中,所述多码率种子文件至少包括两种码率的种子文件。
另一种实施方式中,处理单元602还用于:
根据所述流媒体的媒体链接从种子描述信息服务器中获取多码率种子文件;
其中,所述多码率种子文件至少包括:所述流媒体的初始码率的种子文件;所述初始码率包括:由流媒体业务指定的默认码率,或者用户历史播放流媒体时所采用的码率。
另一种实施方式中,处理单元602还用于:
从所述多码率种子文件中获取所述初始码率的种子文件,并从所述初始码率的种子文件中,获取所述流媒体的首个流媒体片段的指示;
根据所述首个流媒体片段的指示,查询具有所述初始码率的首个流媒体片段的种子客户端;
从具有所述初始码率的首个流媒体片段的种子客户端中,获取所述初始码率的首个流媒体片段。
另一种实施方式中,所述多码率种子文件由所述种子描述信息服务器周期性地进行更新,或由所述种子描述信息服务器在指定时间内进行更新。
另一种实施方式中,所述多码率种子文件由播放所述流媒体的客户端主动发起更新。
另一种实施方式中,处理单元602还用于:
根据所述流媒体的状态信息以及N个历史网络预测结果,对流媒体业务所处的网络状态进行预测,得到网络预测结果;其中,N为正整数;
根据得到的网络预测结果对所述流媒体进行码率决策,得到码率决策结果;其中,所述码率决策结果包括维持码率或切换码率。
另一种实施方式中,处理单元602在用于根据所述流媒体的状态信息以及N个历史网络预测结果,对流媒体业务所处的网络状态进行预测,得到网络预测结果时,可具体用于:
根据所述流媒体的状态信息、N个历史网络预测结果以及相应的历史码率决策结果,对流媒体业务所处的网络状态进行预测,得到网络预测结果。
另一种实施方式中,所述流媒体的状态信息包括以下至少一项:
流媒体来源、网络传输方式、流媒体类型、流媒体片段的数据大小、流媒体片段的下载耗时、流媒体片段的内容时长、缓冲大小时长、重新缓冲加载时长,以及所述流媒体对应的客户端播放帧率。
另一种实施方式中,所述流媒体的状态信息还包括以下至少一项:
未播放的流媒体片段的数据大小、流媒体片段的接收时间间隔,以及流媒体片段的实际下载时间与播放时间之间的差值。
另一种实施方式中,处理单元602在用于根据所述期望的流媒体片段的指示,查询具有所述第二码率的所述期望的流媒体片段的种子客户端时,可具体用于:
根据所述期望的流媒体片段的指示,在种子服务器上查询具有所述第二码率的所述期望的流媒体片段的种子客户端。
另一种实施方式中,处理单元602还用于:
从查询到的具有所述第二码率的所述期望的流媒体片段的种子客户端中,选取M个种子客户端;M的取值为正整数,且M的取值小于或等于查询到的具有所述第二码率的所述期望的流媒体片段的种子客户端的总数;
对所述M个种子客户端中的每个种子客户端进行测速,得到所述每个种子客户端的测速结果;
根据得到的各个测速结果,从所述M个种子客户端中确定可切换的种子客户端。
另一种实施方式中,处理单元602在用于根据得到的各个测速结果,从所述M个种子客户端中确定可切换的种子客户端时,可具体用于:
若得到的各个测速结果中的最高速率大于或等于所述第二码率,则将所述最高速率对应的种子客户端确定为可切换的种子客户端。
另一种实施方式中,处理单元602还用于:
若得到的各个测试结果中的最高速率小于所述第二码率,则重新选择M个种子客户端。
另一种实施方式中,处理单元602还用于:
在从所述M个种子客户端中确定出可切换的种子客户端后,从所述可切换的种子客户端中,获取所述第二码率的所述期望的流媒体片段。
另一种实施方式中,所述第二码率大于所述第一码率,则处理单元602还用于:
在开始测速时,启动一个计时器;
若所述计时器的计时时长大于时长阈值,且在计时过程中未确定出可切换的种子客户端,则在预设时间段内维持当前码率和当前种子客户端。
另一种实施方式中,所述第二码率大于所述第一码率,则处理单元602还用于:
在开始测速时,启动一个计数器;其中,每切换一次测速的种子客户端,所述计数器执行一次计数;
若所述计数器的计数数值大于门限值,且在计数过程中未确定出可切换的种子客户端,则在预设时间段内维持当前码率和当前种子客户端。
另一种实施方式中,所述流媒体为视频数据,所述流媒体中的流媒体片段包括以下任一种:视频块、关键帧间隔或者图像帧;
所述预设时间段包括以下至少一种:位于当前时间之后的至少一个指定时间段、视频块时长,或者关键帧间隔时长。
另一种实施方式中,处理单元602还用于:
在获取到流媒体片段后,将获取到的流媒体片段缓存至缓冲器中,并更新所述流媒体的状态信息。
根据本申请的另一个实施例,图6所示的流媒体的处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于流媒体的处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行上述所提及的流媒体的处理方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的流媒体的处理装置设备,以及来实现本申请实施例的流媒体的处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本申请实施例当流媒体需从第一码率切换至第二码率时,可先从第二码率的种子文件中获取期望的流媒体片段的指示,然后根据期望的流媒体片段的指示,查询具有第二码率的期望的流媒体片段的种子客户端,以使得后续可基于确定出的种子客户端来获取相应的流媒体片段。可见,本申请实施例通过考虑P2P的传输特性,可解决在流媒体涉及码率切换时,无法确定合适的种子客户端的问题,从而实现将码率自适应技术应用到P2P传输场景。
基于上述方法实施例以及装置实施例的描述,本申请实施例还提供一种终端设备。请参见图7,该终端设备至少包括处理器701和存储器702;存储器702用于存储指令,处理器701(或称CPU(Central Processing Unit,中央处理器))是终端设备的计算核心以及控制核心,其可用于调用存储器702存储的指令来实现上述图2或图4所提及的流媒体的处理方法。例如,处理器701可用于调用存储器702存储的指令来执行如下步骤:当流媒体需从第一码率切换至第二码率时,从所述第二码率的种子文件中获取期望的流媒体片段的指示;根据所述期望的流媒体片段的指示,查询具有所述第二码率的所述期望的流媒体片段的种子客户端;其中,查询到的种子客户端用于提供所述期望的流媒体片段,等等。
可选的,该终端设备除了包括上述提及的处理器701和存储器702之外,还可包括其他部件。例如参见图7所示,该终端设备还可包括通信接口703、该通信接口703可用于和其他设备进行通信以实现数据传输。又如参见图7所示,该终端设备还可包括媒体播放组件704,该媒体播放组件704可用于实现流媒体的播放,其具体可以包括但不限于以下至少一种:扬声器、显示屏,等等。应当理解的是,图7只是示例性地示出了终端设备的结构示意图,并不对此进行限定。
本申请实施例还提供了一种计算机可读存储介质(Memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机可读存储介质。
在一个实施例中,可由处理器加载并执行计算机可读存储介质中存放的一条或多条指令,以实现上述有关图2或图4所示的流媒体的处理方法实施例中的方法的相应步骤,例如,在具体实现中,计算机可读存储介质中的一条或多条指令由处理器加载并执行如下步骤:
当流媒体需从第一码率切换至第二码率时,从所述第二码率的种子文件中获取期望的流媒体片段的指示;
根据所述期望的流媒体片段的指示,查询具有所述第二码率的所述期望的流媒体片段的种子客户端;其中,查询到的种子客户端用于提供所述期望的流媒体片段。
需要说明的是,上述只是示例性地列出了计算机可读存储介质中的一条或多条指令可执行的步骤,并非穷举;在具体实现中,该一条或多条指令还可由处理器加载并执行如前述图6所示的装置实施例所提及各个单元所执行的步骤,在此不再赘述。
需要说明的是,根据本申请的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端设备执行上述图2或图4所示的流媒体的处理方法实施例方面的各种可选方式中提供的方法。
并且,应理解的是,以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种流媒体的处理方法,其特征在于,包括:
当流媒体需从第一码率切换至第二码率时,从所述第二码率的种子文件中获取期望的流媒体片段的指示;
根据所述期望的流媒体片段的指示,查询具有所述第二码率的所述期望的流媒体片段的种子客户端;其中,查询到的种子客户端用于提供所述期望的流媒体片段。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当流媒体需从第一码率切换至第二码率时,从多码率种子文件中获取所述第二码率的种子文件;
其中,所述多码率种子文件至少包括两种码率的种子文件。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据所述流媒体的媒体链接从种子描述信息服务器中获取多码率种子文件;
其中,所述多码率种子文件至少包括:所述流媒体的初始码率的种子文件;所述初始码率包括:由流媒体业务指定的默认码率,或者用户历史播放流媒体时所采用的码率。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
从所述多码率种子文件中获取所述初始码率的种子文件,并从所述初始码率的种子文件中,获取所述流媒体的首个流媒体片段的指示;
根据所述首个流媒体片段的指示,查询具有所述初始码率的首个流媒体片段的种子客户端;
从具有所述初始码率的首个流媒体片段的种子客户端中,获取所述初始码率的首个流媒体片段。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述流媒体的状态信息以及N个历史网络预测结果,对流媒体业务所处的网络状态进行预测,得到网络预测结果;其中,N为正整数;
根据得到的网络预测结果对所述流媒体进行码率决策,得到码率决策结果;其中,所述码率决策结果包括维持码率或切换码率。
6.如权利要求5所述的方法,其特征在于,所述根据所述流媒体的状态信息以及N个历史网络预测结果,对流媒体业务所处的网络状态进行预测,得到网络预测结果,包括:
根据所述流媒体的状态信息、N个历史网络预测结果以及相应的历史码率决策结果,对流媒体业务所处的网络状态进行预测,得到网络预测结果。
7.如权利要求5或6所述的方法,其特征在于,所述流媒体的状态信息包括以下至少一项:
流媒体来源、网络传输方式、流媒体类型、流媒体片段的数据大小、流媒体片段的下载耗时、流媒体片段的内容时长、缓冲大小时长、重新缓冲加载时长,以及所述流媒体对应的客户端播放帧率。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
从查询到的具有所述第二码率的所述期望的流媒体片段的种子客户端中,选取M个种子客户端;M的取值为正整数,且M的取值小于或等于查询到的具有所述第二码率的所述期望的流媒体片段的种子客户端的总数;
对所述M个种子客户端中的每个种子客户端进行测速,得到所述每个种子客户端的测速结果;
根据得到的各个测速结果,从所述M个种子客户端中确定可切换的种子客户端。
9.如权利要求8所述的方法,其特征在于,所述根据得到的各个测速结果,从所述M个种子客户端中确定可切换的种子客户端,包括:
若得到的各个测速结果中的最高速率大于或等于所述第二码率,则将所述最高速率对应的种子客户端确定为可切换的种子客户端。
10.如权利要求8所述的方法,其特征在于,所述第二码率大于所述第一码率,则所述方法还包括:
在开始测速时,启动一个计时器;
若所述计时器的计时时长大于时长阈值,且在计时过程中未确定出可切换的种子客户端,则在预设时间段内维持当前码率和当前种子客户端。
11.如权利要求8所述的方法,其特征在于,所述第二码率大于所述第一码率,则所述方法还包括:
在开始测速时,启动一个计数器;其中,每切换一次测速的种子客户端,所述计数器执行一次计数;
若所述计数器的计数数值大于门限值,且在计数过程中未确定出可切换的种子客户端,则在预设时间段内维持当前码率和当前种子客户端。
12.如权利要求10或11所述的方法,其特征在于,所述流媒体为视频数据,所述流媒体中的流媒体片段包括以下任一种:视频块、关键帧间隔或者图像帧;
所述预设时间段包括以下至少一种:位于当前时间之后的至少一个指定时间段、视频块时长,或者关键帧间隔时长。
13.一种流媒体的处理装置,其特征在于,包括:
获取单元,用于当流媒体需从第一码率切换至第二码率时,从所述第二码率的种子文件中获取期望的流媒体片段的指示;
处理单元,用于根据所述期望的流媒体片段的指示,查询具有所述第二码率的所述期望的流媒体片段的种子客户端;其中,查询到的种子客户端用于提供所述期望的流媒体片段。
14.一种终端设备,其特征在于,包括:处理器和存储器;
所述存储器用于存储指令;
所述处理器用于调用所述存储器存储的指令实现如权利要求1-12任一项所述的流媒体的处理方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1-12任一项所述的流媒体的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210211720.7A CN116743719A (zh) | 2022-03-04 | 2022-03-04 | 流媒体的处理方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210211720.7A CN116743719A (zh) | 2022-03-04 | 2022-03-04 | 流媒体的处理方法、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116743719A true CN116743719A (zh) | 2023-09-12 |
Family
ID=87915689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210211720.7A Pending CN116743719A (zh) | 2022-03-04 | 2022-03-04 | 流媒体的处理方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116743719A (zh) |
-
2022
- 2022-03-04 CN CN202210211720.7A patent/CN116743719A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10271112B2 (en) | System and method for dynamic adaptive video streaming using model predictive control | |
CN104205772B (zh) | 具有缓冲器水位决策的改进的dash客户端和接收机 | |
US8930559B2 (en) | Adaptive hypertext transfer protocol (“HTTP”) media streaming systems and methods | |
US8984570B2 (en) | Method and apparatus for supporting time shift playback in adaptive HTTP streaming transmission solution | |
US10924577B2 (en) | Fractional pre-delivery of content to user devices for uninterrupted playback | |
US9332051B2 (en) | Media manifest file generation for adaptive streaming cost management | |
US9401968B2 (en) | Method and apparatus for enabling pre-fetching of media | |
US9521178B1 (en) | Dynamic bandwidth thresholds | |
US8660181B2 (en) | Method of compressing video data and a media player for implementing the method | |
US10110507B2 (en) | Push-based transmission of resources and correlated network quality estimation | |
KR101332615B1 (ko) | 전송 완료되지 않은 데이터량에 따라 접속 전환을 제어하는 방법과 그 방법을 위한 장치 | |
KR102286957B1 (ko) | 네트워크의 디바이스들에 의해 수행되는 지속적인 트래픽 세션들 사이에서 네트워크의 사용 가능한 대역폭을 분배하기 위한 방법 및 그 장치 | |
EP2490445A1 (en) | Method, terminal and server for realizing fast playing | |
EP3703403A1 (en) | Method and apparatus for caching | |
US10887363B1 (en) | Streaming decision in the cloud | |
CN110809167A (zh) | 一种视频播放方法、装置、电子设备及存储介质 | |
CN105245562A (zh) | 操作高速缓存器的方法以及对应的高速缓存器 | |
JP6305738B2 (ja) | メディア再生制御装置、メディア再生制御方法、及びプログラム | |
CN116743719A (zh) | 流媒体的处理方法、装置、终端设备及存储介质 | |
CN114244843A (zh) | 流媒体下载方法、电子设备及存储介质 | |
CN113676739B (zh) | 一种视频播放方法、装置、设备及存储介质 | |
CN106936808B (zh) | Http流媒体传输方法及装置 | |
CN115037701B (zh) | 视频处理方法、装置、服务器及介质 | |
US11997366B2 (en) | Method and apparatus for processing adaptive multi-view streaming | |
KR101429891B1 (ko) | 컨텐트 데이터에 대한 수신을 그 수신상태에 따라 적응시키는 방법과 그 방법을 위한 장치 |
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 |