CN108737355A - 基于用户带宽的流媒体播放 - Google Patents
基于用户带宽的流媒体播放 Download PDFInfo
- Publication number
- CN108737355A CN108737355A CN201710278651.0A CN201710278651A CN108737355A CN 108737355 A CN108737355 A CN 108737355A CN 201710278651 A CN201710278651 A CN 201710278651A CN 108737355 A CN108737355 A CN 108737355A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- streaming
- user
- account
- slice
- 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.)
- Granted
Links
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
- H04L65/75—Media network packet handling
-
- 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
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开的实施例涉及基于用户带宽的流媒体播放。公开了一种用于播放流媒体内容的方法。该方法包括获得用户的开户带宽,其中开户带宽是由网络运营商向用户分配的网络带宽。该方法还包括获得与要被播放的流媒体内容相关联的索引文件,其中索引文件包括与多个流媒体切片相关联的多个码率。该方法还包括基于开户带宽和索引文件中的多个码率来从多个流媒体切片选择用于播放的第一流媒体切片。本公开的实施例通过获得用户带宽数据,使得用户设备能够自适应地播放适合码率版本的流媒体内容。因此,本公开的实施例能够减少播放过程中的卡顿或缓冲等情况,同时还能保证流媒体内容的播放质量,由此有效提高了流媒体内容的用户播放体验。
Description
技术领域
本公开的实施例总体上涉及流媒体技术领域,更具体地涉及基于用户带宽来播放流媒体内容的方法和设备。
背景技术
流媒体内容是指在网络(例如因特网)上使用流式传输技术连续传输的时基媒体,例如视频、音频或其他流媒体文件。不同于普通的多媒体播放,流媒体播放不需要提前将流媒体内容完全下载到本地。在广电、电信等行业,可以实现基于因特网协议(IP)的流媒体播放或呈现,诸如视频播放、视频点播、电视直播、电视回看、电视时移等。例如,可以使用因特网协议电视(IPTV)或OTT(Over The TOP)模式电视来播放流媒体内容。
随着信息技术的发展,视频等流媒体内容的清晰度不断提高,原始清晰版本的视频通常要求较高的网络条件。为了保证用户能够流畅播放视频,视频提供商通常对原始视频进行转码,生成不同清晰度版本的多种视频版本,例如,普通视频、标清视频、超清视频等。用户可以根据播放过程中的网络响应情况,选择适合的视频版本进行播放。
发明内容
有鉴于此,本公开的各实施例提出了一种基于用户带宽播放流媒体内容的方法和设备。本公开的实施例通过获得用户带宽数据,使得用户设备能够自适应地播放适合码率版本的流媒体内容。因此,本公开的实施例能够减少播放过程中的卡顿或缓冲等情况,同时还能保证流媒体内容的播放质量,由此有效提高了流媒体内容的用户播放体验。
根据本公开的第一方面,提供了一种用于播放流媒体内容的方法。该方法包括获得用户的开户带宽,其中开户带宽是由网络运营商向用户分配的网络带宽。该方法还包括获得与要被播放的流媒体内容相关联的索引文件,其中索引文件包括与多个流媒体切片相关联的多个码率。该方法还包括基于开户带宽和索引文件中的多个码率来从多个流媒体切片选择用于播放的第一流媒体切片。
根据本公开的第二方面,提供了一种用于传送流媒体内容的方法。该方法包括基于用户的用户标识来确定用户的开户带宽,其中开户带宽是由网络运营商向用户分配的网络带宽。该方法还包括基于要被播放的流媒体内容的内容标识来确定与流媒体内容相关联的索引文件,其中索引文件包括与多个流媒体切片相关联的多个码率。该方法还包括从用户设备接收对于多个流媒体切片中的第一流媒体切片的下载请求,其中第一流媒体切片基于开户带宽和索引文件被确定。
根据本公开的第三方面,提供了一种电子设备。该电子设备包括处理器和耦合至处理器并且存储有指令的存储器。所述指令在由处理器执行时执行以下动作:获得用户的开户带宽,其中开户带宽是由网络运营商向用户分配的网络带宽;获得与要被播放的流媒体内容相关联的索引文件,其中索引文件包括与多个流媒体切片相关联的多个码率;基于开户带宽和索引文件中的多个码率来从多个流媒体切片选择用于播放的第一流媒体切片。
根据本公开的第四方面,提供了一种电子设备。该电子设备包括处理器和耦合至处理器并且存储有指令的存储器。所述指令在由处理器执行时执行以下动作:基于用户的用户标识来确定用户的开户带宽,其中开户带宽是由网络运营商向用户分配的网络带宽。该方法还包括基于要被播放的流媒体内容的内容标识来确定与流媒体内容相关联的索引文件,其中索引文件包括与多个流媒体切片相关联的多个码率。该方法还包括从用户设备接收对于多个流媒体切片中的第一流媒体切片的下载请求,其中第一流媒体切片基于开户带宽和索引文件被确定。
此外,本公开的实施例还提供了一种计算机可读存储介质。该计算机可读存储介质具有存储在其上的计算机可读程序指令。这些计算机可读程序指令可以用于执行根据本公开中的各个实施例所描述的方法或过程。
附图说明
结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例,在附图中:
图1图示了根据本公开的实施例的计算***的架构的示意图;
图2图示了根据本公开的实施例的用于处理流媒体内容的过程的示意图;
图3图示了根据本公开的实施例的用于播放流媒体内容的过程的示意图;
图4图示了根据本公开的实施例的索引文件的结构的示意图;
图5图示了根据本公开的实施例的用于下载流媒体内容的示意图;
图6图示了根据本公开的实施例的用于播放流媒体内容的方法的流程图;
图7图示了根据本公开的实施例的用于传送流媒体内容的方法的流程图;以及
图8图示了可以用来实施本公开的实施例的设备的示意性框图。
具体实施方式
以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图示出了根据本公开的各种实施例的方法和***的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以使用专用硬件与计算机指令的组合来实现。
本文所使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”,表示还可以包括其他内容。在本公开内容中,术语“基于”是“至少部分地基于”;术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。
应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制发明的范围。
传统方法在播放点播视频或直播视频时通常默认选择最清晰的视频版本。然而,如果用户的网络条件无法流畅播放最清晰的视频版本时(例如网络带宽不足),视频会出现卡顿、缓冲等现象(例如需要缓冲3-5秒),由此用户设备能够确定当前带宽无法满足该视频版本的在线播放。然后,会切换到流畅的普通视频版本进行播放,从而导致视频需要经过一段时间的缓冲才能流畅播放,影响用户体验。另一种传统方法是在视频播放时默认选择最流畅版本(例如,清晰度最低的普通视频版本),虽然在这种情况下可能不会发生视频卡顿或缓冲的现象,但是视频的清晰度较低,也影响了用户播放视频时的用户体验。
此外,视频切片通常采用动态比特率(VBR)编码,因而视频的每个切片大小和实际码率可能是不同的。然而,传统的索引文件中仅记录整个视频的平均码率,而不是记录每个切片本身的码率。因此存在平均码率小于用户的网络带宽、而单个切片本身码率超过网络带宽的情况,从而导致无法流畅在线播放视频,用户设备的播放器仍然需要缓冲或卡顿。
本公开的实施例提出了一种基于用户带宽来播放流媒体内容的方法和设备。本公开的实施例通过获得用户带宽数据,使得用户设备能够自适应地播放适合码率版本的流媒体内容。也就是说,本公开的实施例能够在保证视频播放不卡顿的情况下选择相对最清晰的视频版本。因此,本公开的实施例能够减少播放过程中的卡顿或缓冲等情况,同时还能保证流媒体内容的播放质量,由此有效提高了流媒体内容的用户播放体验。此外,本公开的实施例通过确定每个切片本身的码率,而不是整个视频的平均码率,因而可以保证视频播放的流畅性。以下参考图1-8描述了本公开的实施例示例性方法和设备。
图1图示了根据本公开的实施例的计算***100的架构的示意图。如图1所示,计算***100包括用户设备110和服务器120。用户设备110可以为具有多媒体播放能力的任何终端设备,例如移动设备(诸如智能手机、平板电脑、便携式计算机等)或固定设备(诸如台式计算机、机顶盒、投影仪等)。服务器120可以为能够提供在线视频播放的任何服务器。本领域技术人员应当理解,服务器120可以为单个物理设备的形式,也可以为多个分离的物理设备(例如,组成服务器***)。
在一些实施例中,用户设备110和服务器120可以各自包括通信模块(未示出),并且用户设备110与服务器120可以在网络130上互相通信。网络130可以是任何有线和/或无线网络。可选地,该网络可以包括但不限于因特网、广域网、城域网、局域网、虚拟专用网络(VPN)网络、无线通信网络等。如图1所示,用户设备110可以向服务器120发送播放流媒体内容(例如视频)的请求,并且从服务器120接收视频(例如点播视频或直播视频)进行播放。可选地,用户设备110可以通过浏览器、应用程序或者嵌入式软件等来播放视频。
如图1所示,服务器120可以包括:存储模块121(例如流媒体存储***),用于存储流媒体文件;转码模块122(例如转码***),用于对流媒体内容进行转码;门户模块123(例如门户***),用于呈现流媒体内容的导航;内容管理模块124(例如内容管理***CMS),用于对流媒体内容等进行管理;认证模块125(例如认证鉴权***),用于对用户身份等进行认证;以及业务支持模块126(例如业务操作支持***(BOSS)),用于对业务数据进行支撑。虽然图1中示例性地示出了服务器120中的六个模块,但是服务器120可以包括更多或更少的模块,本公开的实施例不受此方面的限制,其中每个模块可以为软件功能模块,也可以为物理分离的各个子***。
在一些实施例中,内容管理模块124可以从上游媒体资讯***、服务提供者或内容提供者录入点播视频节目信息或者直播视频节目信息,内容管理模块124还可以对点播和/或直播视频节目进行管理、审核以及维护产品包关系等。内容管理模块124在对视频节目信息进行编辑、打包和审核之后,可以将视频节目信息发送到门户模块123,以用于对用户进行呈现。
在一些实施例中,转码模块122可以从上游媒体资讯***、服务提供者或内容提供者导入视频文件或直播节目流,其中转码模块122可以对流媒体内容进行离线和/或在线转码,以生成标准化的流媒体文件。转码模块将转码后的流媒体文件发送给存储模块121进行切片处理和存储。
在一些实施例中,业务支持模块126从上游接收用户数据,并且将用户的订购数据等信息发送给认证模块125,用户设备在播放流媒体内容之前需要经过认证模块125的认证。如果通过认证模块125的认证,用户设备可以请求流媒体内容以进行播放。
本领域技术人员应当理解,虽然计算***100中仅示出了一个用户设备110,但是计算***100中可以包括多个不同类型的用户设备;虽然计算***100中仅示出了一个服务器120,但是计算***100也可以包括多个分布式布置的服务器。
图2图示了根据本公开的实施例的用于处理流媒体内容的过程200的示意图。本领域技术人员应当理解,过程200可以由以上参考图1所描述的服务器120执行。
内容管理模块124用于对流媒体内容等进行管理,当其获得新的流媒体内容时,可以通过过程200对所获得的流媒体内容进行转码处理和切片处理。在202,内容管理模块124向转码模块122发送转码任务。转码模块122在接收到转码任务之后,在204,从例如上游媒体资讯***、服务提供者或内容提供者获得流媒体内容,并对流媒体内容进行处理,例如生成不同码率版本的流媒体文件,例如超清文件、标清文件以及普通清晰度文件。附加地或备选地,也可以针对流媒体内容,生成不同视频格式的流媒体文件。在206,在完成转码之后,转码模块122将处理结果发送给内容管理模块124。
在208,内容管理模块124向存储模块121发送存储通知的命令。存储模块121在接收到存储通知之后,在210从转码模块122获得转码后的流媒体文件。接下来,在212,存储模块121对每个流媒体文件进行切片处理,例如根据预定标准(例如预定时间长度,诸如10秒)将每个流媒体文件切分成多个流媒体切片,然后可以确定每个切片的码率并在索引文件中记录每个切片的码率。
在一些实施例中,每个切片可以具有相同的时间长度。备选地,不同的切片可以具有不同的时间长度。每个切片文件继承原流媒体文件的视频和音频等编码、字幕以及其他描述信息。可选地,也可以利用单独的文件来描述字幕和其他描述信息。在214,存储模块121向内容管理模块124返回流媒体内容的链接,该链接可以包括不同码率版本的流媒体文件中的每个流媒体切片。例如,可以生成包括用于描述每个切片文件的统一资源定位符(URL)地址、时长等关键信息的索引文件。索引文件可描述不同视音频编码、不同码率、不同地址的视音频切片。例如,在用户设备获取到节目索引文件后,进行索引文件解析,根据索引文件中描述的不同码率、不同地址的多媒体文件,可实现根据同一索引文件来播放不同码率的多媒体内容,并且根据网络带宽情况自动调整不同清晰度的多媒体内容版本,以便提高用户体验。
图3图示了根据本公开的实施例的用于播放流媒体内容的过程300的示意图。在302,在用户请求播放视频的情况下,用户设备110发起播放请求,例如针对视频的点播请求,或者针对流媒体的直播请求。在304,用户设备110向服务器120发送用户标识(userID)和要被播放的流媒体内容的内容标识(programID),其中用户标识例如可以为用户的宽带账号、用户的机顶盒标识、或者网络的用户名。
在306,服务器120在接收到来自用户设备110的用户标识和内容标识之后,首先需要验证用户是否具有对流媒体内容的访问权,例如通过认证模块125基于用户标识确定用户是否已经购买该流媒体内容。如果没有购买,可以向用户设备发送错误提醒消息,提示用户没有购买该流媒体内容,所以无法播放该流媒体内容。如果已经购买,在308,可以基于用户标识来确定用户的开户带宽,其中开户带宽是由网络运营商向用户分配的网络带宽。例如,业务支持模块126可以基于用户的用户标识,查询用户在网络运营商处购买或定制的网络带宽。用户的开户带宽可以被预先存储在业务支持模块126(例如BOSS***)中,也可以从外部服务器或数据库实时地被获得。
在310,业务支持模块126可以将开户带宽发送给门户模块123,门户模块123基于开户带宽和流媒体内容标识生成播放链接,例如可以生成播放连接http://xxx.com/program/53621277.mpd?bandwidth=2M,其中2M表示用户的开户带宽为2兆比特每秒(Mbps),53621277表示流媒体内容标识。
在312,用户设备110从服务器120接收播放链接,然后在314解析播放链接,例如,可以对上述示例播放链接进行解析,以获得用户的带宽为2Mbps,流媒体内容标识为53621277。接下来,在316,用户设备110向服务器120发送对于获取对应的索引文件的请求。在318,服务器120基于流媒体内容标识来确定相关联的索引文件,其中索引文件包括每个切片的码率,并且在320将索引文件发送给用户设备110。以下参考图4描述了索引文件的示例结构。
在322,用户设备110解析索引文件以获得每个切片的信息,其包括每个切片的切片标识和切片码率。在324,用户设备基于开户带宽和索引文件中的各个码率来选择适合的码率。例如,可以确定多个码率中的、小于开户带宽的最大码率,然后选择该最大码率的流媒体切片。通过这种方式,能够在不超过用户的开户带宽的情况下选择可用的最大码率,从而有效地保证了视频的流畅性和播放质量。
在326,在选择适合码率版本的流媒体切片之后,用户设备110向服务器120发送对于所选择码率的切片的下载请求,并且在328从服务器120下载所选择的流媒体切片。在330,用户设备播放所下载的流媒体切片。可选地,可以针对后续时间段,重复上述过程以获得后续的流媒体切片。
根据本公开的实施例,在用户设备刚开始播放视频时,就可以通过用户的开户带宽来选择适合的视频版本,由此避免了视频的下载等待或缓冲,有效地提升了流媒体的用户播放体验。
图4图示了根据本公开的实施例的索引文件的结构400的示意图。通常,流媒体技术标准可以例如HTTP直播流媒体(HLS)、HTTP上的动态自适应流媒体(DASH),等等。索引文件例如可以为可扩展标记语言(XML)的格式或文本格式。
如图4所示,索引文件的媒体呈现描述(MDP)410描述有限或无限的媒体内容。MDP410可以包括多个时段(Period),例如时段420、430等,每个时段代表一个时间段,例如15秒。在同一个时段内,流媒体内容的可用码率通常不会发生变化。在视频直播的情况下,用户设备可以动态地获取不断更新的索引文件,其中旧的时段可能被删除,而新的时段可能被添加。
每个时段包括多个适应集(Adaptation set),例如时段420包括适应集440和450。每个适应集可以包含流媒体内容的多种码率,如图4所示,每个适应集可以包括多个表示(Representation),例如适应集440包括表示460和470。每个表示可以对应于不同的码率版本,如果用户设备在播放时切换码率版本,则会选择在不同的表示之间进行切换。
每个表示可以包括多个段(Segment),例如表示460包括段480和490。每个段可以对应于一个URL地址,也可以对应于相同的URL地址加上不同的字节范围。每个段又可以包括多个子段(Sub-Segment),同一个表示中的不同段中的子段可以组成子表示,例如段480中的子段481和段490中的子段491组成子表示461,其表示某种码率版本的切片中的一部分。
在传统的方法和标准中,索引文件中通常不包括切片的码率,以下示出了传统的示例索引文件。
根据本公开的实施例的方法,对传统的方法和标准中的索引文件作了修改,在索引文件中添加每个切片的码率。以下示出了根据本公开的实施例的示例索引文件。
与传统的索引文件相比,根据本公开的实施例的示例索引文件在每个SegmentTimeline的S中加入了切片码率,其中视频标识用v表示(例如“v="3313983"”),而音频标识用a表示(例如“a="65738"”),其中v和a的单位可以为千字节每秒。通过这种方式,客户端可以获得每个切片的码率,并且与其开户带宽或当前带宽进行比较,从而选择最合适的码率的视频版本,由此不仅保证了视频播放的流畅性也保证了视频的播放质量。
图5图示了根据本公开的实施例的用于下载流媒体内容的示意图500。如图5所示,当接收到用户设备的视频播放请求时,利用以上关于图3所描述的过程300,基于用户的开户带宽来选择切片1(示出为510)进行下载。如图5所示,每个切片时长可以例如为10秒,每个预测单位可以被设置为例如30秒,包括后续的3个切片。
接下来,可以通过切片1的下载文件大小和下载时间,确定用户设备当前的下载带宽,即用户设备下载切片1时的网络带宽。然后将该下载带宽和用户的开户带宽中的较小者作为当前带宽。可以根据索引文件确定切片1之后的3个切片的多种清晰度版本的多个平均码率(即3个切片的码率的平均值),并且基于当前带宽来选择接下来即将要下载的切片2、切片3和切片4(示出为520、530和540)。在一些实施例中,可以确定多个平均码率中的、小于当前带宽的最大平均码率,并且下载并播放该最大平均码率的3个流媒体切片。
因此,根据本公开的实施例的方法,在确定第一个切片之后,综合考虑用户的开户带宽和当前的下载带宽,从而能够更流畅地下载并播放后续的流媒体切片。此外,由于本公开的实施例是将当前带宽和每个切片的码率(或几个切片的平均码率)相比较,而不是与整个流媒体内容的平均码率相比,因而可以避免可能出现的缓冲或卡顿现象。
在一些实施例中,用户设备在播放当前切片时,同时进行下一个切片的下载,还进行下载时间计算,并与当前切片的未播放时间对比;如下一个切片的下载时间小于当前切片的未播放时间,则继续;如下一个切片的下载时间大于等于当前切片的未播放时间,则可以选择较低码率的后续切片。
图6图示了根据本公开的实施例的用于播放流媒体内容的方法600的流程图。应当理解,方法600可以由以上参考图1所描述的用户设备110执行。在610,获得用户的开户带宽,其中开户带宽是由网络运营商向用户分配的网络带宽。在620,获得与要被播放的流媒体内容相关联的索引文件,其中索引文件包括与多个流媒体切片相关联的多个码率。在630,基于开户带宽和索引文件中的多个码率来从多个流媒体切片选择用于播放的第一流媒体切片。
图7图示了根据本公开的实施例的用于传送流媒体内容的方法700的流程图。应当理解,方法700可以由以上参考图1所描述的服务器120中的一个或多个模块执行。在710,基于用户的用户标识来确定用户的开户带宽,其中开户带宽是由网络运营商向用户分配的网络带宽。在720,基于要被播放的流媒体内容的内容标识来确定与流媒体内容相关联的索引文件,其中索引文件包括与多个流媒体切片相关联的多个码率。在730,从用户设备接收对于多个流媒体切片中的第一流媒体切片的下载请求,其中第一流媒体切片基于开户带宽和索引文件被确定。
应当理解,该设备可以利用各种方式来实现。例如,在某些实施例中,该设备可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方法和***可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、光盘载体介质、诸如只读存储器的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本公开的实施例的设备和装置不仅可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合来实现。
图8图示了可以用来实施本公开的实施例的电子设备800的示意性框图。应当理解,电子设备800可以被实现为图1所描述的用户设备110或服务器120,电子设备800也可以被实现为图1所描述的服务器120中的任一个模块。如图8所示,设备800包括中央处理单元(CPU)801(例如处理器),其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个方法,例如方法600或700,可由处理单元801执行。例如,在一些实施例中,方法600和700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法600和700中的一个或多个动作或步骤。
计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开内容操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开内容的各个方面。
应当注意,尽管在上文的详细描述中提及了设备的若干模块或子模块,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
以上所述仅为本公开的实施例可选实施例,并不用于限制本公开的实施例,对于本领域的技术人员来说,本公开的实施例可以有各种更改和变化。凡在本公开的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的实施例的保护范围之内。
虽然已经参考若干具体实施例描述了本公开的实施例,但是应该理解,本公开的实施例并不限于所公开的具体实施例。本公开的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。所附的权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (20)
1.一种用于播放流媒体内容的方法,包括:
获得用户的开户带宽,所述开户带宽是由网络运营商向所述用户分配的网络带宽;
获得与要被播放的流媒体内容相关联的索引文件,所述索引文件包括与多个流媒体切片相关联的多个码率;以及
基于所述开户带宽和所述索引文件中的所述多个码率,从所述多个流媒体切片选择用于播放的第一流媒体切片。
2.根据权利要求1所述的方法,其中获得用户的开户带宽包括:
向服务器发送所述用户的用户标识和所述流媒体内容的内容标识;以及
从所述服务器接收针对所述流媒体内容的播放链接,所述播放链接基于所述开户带宽和所述内容标识被生成,所述开户带宽基于所述用户标识被确定。
3.根据权利要求2所述的方法,其中获得与要被播放的流媒体内容相关联的索引文件包括:
基于所述播放链接来获得与所述流媒体内容相关联的所述索引文件。
4.根据权利要求1所述的方法,其中从所述多个流媒体切片选择用于播放的第一流媒体切片包括:
解析所述索引文件;
确定所述多个码率中的、小于所述开户带宽的特定码率;以及
基于所述特定码率来下载所述第一流媒体切片。
5.根据权利要求4所述的方法,还包括:
确定所述第一流媒体切片的下载带宽;
确定所述下载带宽和所述开户带宽中的较小者作为当前带宽;
确定所述第一流媒体切片之后的预定数目个流媒体切片的多个平均码率;
确定所述多个平均码率中的、小于所述当前带宽的特定平均码率;
基于所述特定平均码率来下载所述预定数目个流媒体切片。
6.一种用于传送流媒体内容的方法,包括:
基于用户的用户标识来确定所述用户的开户带宽,所述开户带宽是由网络运营商向所述用户分配的网络带宽;
基于要被播放的流媒体内容的内容标识来确定与所述流媒体内容相关联的索引文件,所述索引文件包括与多个流媒体切片相关联的多个码率;以及
从所述用户设备接收对于所述多个流媒体切片中的第一流媒体切片的下载请求,所述第一流媒体切片基于所述开户带宽和所述索引文件被确定。
7.根据权利要求6所述的方法,其中基于用户标识来确定所述用户的开户带宽包括:
基于所述用户标识和所述内容标识,验证所述用户是否具有对所述流媒体内容的访问权;
响应于验证所述用户具有对所流媒体内容的访问权,基于所述用户标识来获得所述开户带宽;以及
基于所述开户带宽和所述内容标识,生成针对所述流媒体内容的播放链接。
8.根据权利要求7所述的方法,其中基于要被播放的流媒体内容的内容标识来确定与所述流媒体内容相关联的索引文件包括:
基于所述播放链接来确定与所述流媒体内容相关联的所述索引文件。
9.根据权利要求6所述的方法,还包括:
对多个流媒体内容中的每个流媒体内容进行转码,以便生成针对每个流媒体内容的多种码率类型的多个流媒体文件;
将多个流媒体文件中的每个流媒体文件分割成若干个流媒体切片;
在一个或多个索引文件中记录所述若干个流媒体切片中的每个流媒体切片的码率。
10.根据权利要求6所述的方法,其中从所述用户设备接收对于所述多个流媒体切片中的第一流媒体切片的下载请求包括:
从所述用户设备接收对于与特定码率相关联的所述第一流媒体切片的下载请求,所述特定码率是所述多个码率中的、小于所述开户带宽的最大码率。
11.一种电子设备,包括:
处理器;
存储器,耦合至所述处理器并且存储有指令,所述指令在由所述处理器执行时执行以下动作:
获得用户的开户带宽,所述开户带宽是由网络运营商向所述用户分配的网络带宽;
获得与要被播放的流媒体内容相关联的索引文件,所述索引文件包括与多个流媒体切片相关联的多个码率;以及
基于所述开户带宽和所述索引文件中的所述多个码率,从所述多个流媒体切片选择用于播放的第一流媒体切片。
12.根据权利要求11所述的设备,其中获得用户的开户带宽包括:
向服务器发送所述用户的用户标识和所述流媒体内容的内容标识;以及
从所述服务器接收针对所述流媒体内容的播放链接,所述播放链接基于所述开户带宽和所述内容标识被生成,所述开户带宽基于所述用户标识被确定。
13.根据权利要求12所述的设备,其中获得与要被播放的流媒体内容相关联的索引文件包括:
基于所述播放链接来获得与所述流媒体内容相关联的所述索引文件。
14.根据权利要求11所述的设备,其中从所述多个流媒体切片选择用于播放的第一流媒体切片包括:
解析所述索引文件;
确定所述多个码率中的、小于所述开户带宽的特定码率;以及
基于所述特定码率来下载所述第一流媒体切片。
15.根据权利要求14所述的设备,所述动作还包括:
确定所述第一流媒体切片的下载带宽;
确定所述下载带宽和所述开户带宽中的较小者作为当前带宽;
确定所述第一流媒体切片之后的预定数目个流媒体切片的多个平均码率;
确定所述多个平均码率中的、小于所述当前带宽的特定平均码率;
基于所述特定平均码率来下载所述预定数目个流媒体切片。
16.一种电子设备,包括:
处理器;
存储器,耦合至所述处理器并且存储有指令,所述指令在由所述处理器执行时执行以下动作:
基于用户的用户标识来确定所述用户的开户带宽,所述开户带宽是由网络运营商向所述用户分配的网络带宽;
基于要被播放的流媒体内容的内容标识来确定与所述流媒体内容相关联的索引文件,所述索引文件包括与多个流媒体切片相关联的多个码率;以及
从所述用户设备接收对于所述多个流媒体切片中的第一流媒体切片的下载请求,所述第一流媒体切片基于所述开户带宽和所述索引文件被确定。
17.根据权利要求16所述的设备,其中基于用户标识来确定所述用户的开户带宽包括:
基于所述用户标识和所述内容标识,验证所述用户是否具有对所述流媒体内容的访问权;
响应于验证所述用户具有对所流媒体内容的访问权,基于所述用户标识来获得所述开户带宽;以及
基于所述开户带宽和所述内容标识,生成针对所述流媒体内容的播放链接。
18.根据权利要求17所述的设备,其中基于要被播放的流媒体内容的内容标识来确定与所述流媒体内容相关联的索引文件包括:
基于所述播放链接来确定与所述流媒体内容相关联的所述索引文件。
19.根据权利要求16所述的设备,所述动作还包括:
对多个流媒体内容中的每个流媒体内容进行转码,以便生成针对每个流媒体内容的多种码率类型的多个流媒体文件;
将多个流媒体文件中的每个流媒体文件分割成若干个流媒体切片;
在一个或多个索引文件中记录所述若干个流媒体切片中的每个流媒体切片的码率。
20.根据权利要求16所述的设备,其中从所述用户设备接收对于所述多个流媒体切片中的第一流媒体切片的下载请求包括:
从所述用户设备接收对于与特定码率相关联的所述第一流媒体切片的下载请求,所述特定码率是所述多个码率中的、小于所述开户带宽的最大码率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710278651.0A CN108737355B (zh) | 2017-04-25 | 2017-04-25 | 基于用户带宽的流媒体播放 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710278651.0A CN108737355B (zh) | 2017-04-25 | 2017-04-25 | 基于用户带宽的流媒体播放 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108737355A true CN108737355A (zh) | 2018-11-02 |
CN108737355B CN108737355B (zh) | 2021-11-30 |
Family
ID=63934945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710278651.0A Expired - Fee Related CN108737355B (zh) | 2017-04-25 | 2017-04-25 | 基于用户带宽的流媒体播放 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737355B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112135173A (zh) * | 2020-10-10 | 2020-12-25 | Vidaa美国公司 | 一种改善流媒体起播码率的方法及显示设备 |
CN114173145A (zh) * | 2021-12-08 | 2022-03-11 | 四川启睿克科技有限公司 | 一种基于hls协议动态码率低延迟直播方法 |
CN115052167A (zh) * | 2022-03-15 | 2022-09-13 | 北京新流万联网络技术有限公司 | 支持多协议视频直播的视频生成方法、装置、介质及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145933A (zh) * | 2007-10-26 | 2008-03-19 | 北大方正集团有限公司 | 发布***、媒体数据的发送方法、接收方法及相应装置 |
CN102088620A (zh) * | 2010-12-01 | 2011-06-08 | 中兴通讯股份有限公司 | 一种内容分发网络中媒体文件下载方法及客户端 |
CN102123303A (zh) * | 2011-03-25 | 2011-07-13 | 天脉聚源(北京)传媒科技有限公司 | 一种音视频文件播放方法、***及传输控制装置 |
CN102378043A (zh) * | 2011-09-29 | 2012-03-14 | 深圳市矽伟智科技有限公司 | 内容推送方法、互联网电视播放方法及对应装置、*** |
CN102843351A (zh) * | 2012-03-31 | 2012-12-26 | 华为技术有限公司 | 一种流媒体业务的处理方法、流媒体服务器及*** |
CN106254548A (zh) * | 2016-09-29 | 2016-12-21 | 天脉聚源(北京)科技有限公司 | 一种下载流媒体数据的方法及装置 |
EP3110098A1 (en) * | 2014-02-19 | 2016-12-28 | Huizhou TCL Mobile Communication Co., Ltd. | Mobile terminal and method for achieving sharing of streaming media file of cloud based on dlna |
-
2017
- 2017-04-25 CN CN201710278651.0A patent/CN108737355B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145933A (zh) * | 2007-10-26 | 2008-03-19 | 北大方正集团有限公司 | 发布***、媒体数据的发送方法、接收方法及相应装置 |
CN102088620A (zh) * | 2010-12-01 | 2011-06-08 | 中兴通讯股份有限公司 | 一种内容分发网络中媒体文件下载方法及客户端 |
CN102123303A (zh) * | 2011-03-25 | 2011-07-13 | 天脉聚源(北京)传媒科技有限公司 | 一种音视频文件播放方法、***及传输控制装置 |
CN102378043A (zh) * | 2011-09-29 | 2012-03-14 | 深圳市矽伟智科技有限公司 | 内容推送方法、互联网电视播放方法及对应装置、*** |
CN102843351A (zh) * | 2012-03-31 | 2012-12-26 | 华为技术有限公司 | 一种流媒体业务的处理方法、流媒体服务器及*** |
EP3110098A1 (en) * | 2014-02-19 | 2016-12-28 | Huizhou TCL Mobile Communication Co., Ltd. | Mobile terminal and method for achieving sharing of streaming media file of cloud based on dlna |
CN106254548A (zh) * | 2016-09-29 | 2016-12-21 | 天脉聚源(北京)科技有限公司 | 一种下载流媒体数据的方法及装置 |
Non-Patent Citations (1)
Title |
---|
曹玉铭: "动态流媒体技术MPEG-DASH的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112135173A (zh) * | 2020-10-10 | 2020-12-25 | Vidaa美国公司 | 一种改善流媒体起播码率的方法及显示设备 |
CN114173145A (zh) * | 2021-12-08 | 2022-03-11 | 四川启睿克科技有限公司 | 一种基于hls协议动态码率低延迟直播方法 |
CN115052167A (zh) * | 2022-03-15 | 2022-09-13 | 北京新流万联网络技术有限公司 | 支持多协议视频直播的视频生成方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108737355B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10616301B2 (en) | Request-based encoding for streaming content portions | |
US10148714B2 (en) | URL parameter insertion and addition in adaptive streaming | |
CN104396263B (zh) | 用于流送媒体内容的实时复用变换的方法和*** | |
CN107454101B (zh) | 用于下载和串流的内容存储和传输的***和方法 | |
US8850054B2 (en) | Hypertext transfer protocol live streaming | |
CN108540868A (zh) | Hls直播的处理方法、装置、服务器、终端及存储介质 | |
US11356493B2 (en) | Systems and methods for cloud storage direct streaming | |
CN103379362A (zh) | 视频点播方法和*** | |
CN105516736B (zh) | 视频文件处理方法和装置 | |
CN107517411B (zh) | 一种基于GStreamer框架的视频播放方法 | |
CN102130958A (zh) | 一种基于http协议的小文件切片模式的视频直播方法与*** | |
CN109495505A (zh) | 流媒体协议转换方法、装置、***及计算机可读介质 | |
CN108737355A (zh) | 基于用户带宽的流媒体播放 | |
CN109587514A (zh) | 一种视频播放方法、介质和相关装置 | |
KR20170141677A (ko) | 수신 장치, 송신 장치 및 데이터 처리 방법 | |
CN109845276A (zh) | 信息处理装置和信息处理方法 | |
CN105872572A (zh) | 直播视频的处理方法及装置 | |
CN109348240A (zh) | 视频播放方法、装置及***、电子设备以及存储介质 | |
CN108989886A (zh) | 一种播放加密视频的方法及*** | |
Begen et al. | Road to salvation: streaming clients and content delivery networks working together | |
CN104429090A (zh) | 内容发送装置、内容再生装置、内容分发***、内容发送装置的控制方法、内容再生装置的控制方法、数据结构、控制程序以及记录介质 | |
CN106303754A (zh) | 一种音频数据播放方法及装置 | |
KR101313592B1 (ko) | 스트리밍 재생 방법 및 이를 이용한 컴퓨팅 장치 | |
CN109948082A (zh) | 直播信息处理方法及装置、电子设备、存储介质 | |
CN108174228A (zh) | 移动终端获取机顶盒直播资源的方法、***及存储介质 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211130 |