CN112601113A - 流媒体传输方法、电子设备及存储介质 - Google Patents
流媒体传输方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112601113A CN112601113A CN202011020688.1A CN202011020688A CN112601113A CN 112601113 A CN112601113 A CN 112601113A CN 202011020688 A CN202011020688 A CN 202011020688A CN 112601113 A CN112601113 A CN 112601113A
- Authority
- CN
- China
- Prior art keywords
- mpd
- event
- media
- alternative
- client
- 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
Images
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/262—Content 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/26258—Content 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 for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- 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
-
- 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/262—Content 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/26208—Content 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
-
- 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/262—Content 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/26208—Content 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/26241—Content 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 time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
-
- 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/262—Content 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/26283—Content 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 for associating distribution time parameters to content, e.g. to generate electronic program guide data
-
- 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/262—Content 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/26291—Content 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 for providing content or additional data updates, e.g. updating software modules, stored at the client
-
- 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/2668—Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
-
- 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/84—Generation or processing of descriptive data, e.g. content descriptors
-
- 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
Abstract
本公开实施例提供了流媒体传输方法、电子设备及存储介质。根据实施例,该流媒体传输方法包括:由服务器向客户端提供动态自适应流传输DASH的媒体呈现描述MPD,所述媒体呈现描述MPD指示用于播放媒体内容的主媒体时间线;以及由服务器获取携带播放列表元素的MPD事件,其中服务器或客户端用于根据MPD事件的播放列表元素来操控主媒体时间线,以使至少一个备选媒体内容适于客户端播放以代替至少一部分媒体内容。
Description
交叉引用
本申请要求于2019年10月1日提交的美国临时专利申请第62/908,974号以及2020年9月22日提交的美国专利申请第17/028,265号的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开的实施例涉及流媒体内容,尤其涉及根据运动图像专家组(MPEG:MovingPicture Experts Group)基于超文本传输协议的动态自适应流传输(DASH:DynamicAdaptive Streaming over Hypertext transfer protocol)的流媒体内容。
背景技术
在MPEG DASH中,媒体呈现描述(MPD:Media Presentation Description)和带内事件用于将媒体时间线相关事件传递到客户端。一个流行的DASH事件是带内MPD有效性期满事件(inband MPD validity expiration event)。其他事件包括应用事件,例如SCTE-35(“有线数字节目插入提示信息”)事件。
在DASH流传输中,通常利用MPD更新来执行对媒体时间线的操控(manipulation)。在该方法中,新的MPD更新通过用新的时间线替换旧的时间线。当在服务器中执行时,时间线的操控对于所有客户端是相同的。媒体播放的定制可以在使用远程时段元素的客户端中进行。
在需要对时间线进行非线性操控的使用情况下,在目前的系统中不可能进行基于单个MPD服务器的操控。为了实现基于MPD服务器对时间线进行非线性操控,需要将MPD进行扩展来对具有不同时间线的时段进行组合,这在目前的系统中是不被支持的。
基于MPD服务器的操控的另一方式是使用播放列表提供媒体时间线的非线性操控指令。先前的播放列表解决方案要求在当前DASH客户端上的应用通过向DASH客户端提供MPD地址来解析和播放MPD播放列表,以便以播放列表次序播放它们。在这种情况下,要播放的条目不是MPD,而是MPD播放列表,其目前不被DASH客户端支持,并且更改DASH播放的入口点(Entry Point)会给许多媒体流传输生态系统带来问题。
因此,如何提供一种流媒体传输方法,可以实现MPD服务器对流媒体的时间线进行非线性操控是目前亟需解决的问题。
发明内容
本公开的实施例引入用于DASH流传输的播放列表事件。播放列表事件可以是向DASH客户端传递一组播放列表指令,以根据播放列表修改媒体呈现的事件。
根据一个或多个实施例,提供了一种流媒体传输方法。该方法包括:由服务器向客户端提供动态自适应流式传输DASH的媒体呈现描述MPD,所述媒体呈现描述MPD用于指示播放媒体内容的主媒体时间线;以及由所述服务器获取携带播放列表元素的MPD事件,其中,所述服务器或所述客户端用于根据所述MPD事件的所述播放列表元素来操控所述主媒体时间线,以使至少一个备选媒体内容适于所述客户端播放以代替至少一部分所述媒体内容,以及所述播放列表元素携带至少一个播放项,所述至少一个播放项中的每一个播放项标识了备选MPD的位置以及播放所述备选媒体内容的至少一个定时特性,所述备选MPD的位置与所述至少一个备选媒体内容中的备选媒体内容相对应。
根据实施例,该方法进一步包括由所述服务器向所述客户端发送携带所述播放列表元素的所述MPD事件,其中,所述客户端用于根据所述MPD事件的所述播放列表元素来操控所述主媒体时间线。
根据实施例,对于所述至少一个播放项中的每一个播放项,其所述至少一个定时特性包括:相对于所述主媒体时间线的呈现开始时间和呈现结束时间。
根据实施例,对于所述至少一个播放项中的每一个播放项,其所述至少一个定时特性包括:第一指示符,所述第一指示符用于指示在会话中,第一次播放所述主媒体时间线的所述媒体内容之前,是否要播放所述播放项对应的所述备选媒体内容。
根据实施例,所述播放列表元素携带第二指示符,所述第二指示符用于指示所述播放列表元素是否是先前的MPD事件的更新,以及
如果所述第二指示符指示所述播放列表元素是先前的MPD事件的更新,所述客户端处理所述MPD事件并且忽略所述先前的MPD事件。
根据实施例,所述客户端根据所述MPD事件的所述播放列表元素,预处理所述媒体呈现描述MPD以包括新的替换时段,并在预处理所述媒体呈现描述MPD之后,根据所述预处理的媒体呈现描述MPD播放所述至少一个备选媒体内容。
根据实施例,所述客户端根据所述MPD事件从所述主媒体时间线切换到至少一个不同的媒体时间线,所述至少一个不同的媒体时间线包括所述至少一个备选媒体内容,并且根据所述至少一个不同的媒体时间线播放所述至少一个备选媒体内容。
根据实施例,该方法进一步包括根据所述MPD事件的所述至少一个播放项中的播放项,所述服务器更新所述媒体呈现描述MPD。
根据实施例,该方法进一步包括在更新所述媒体呈现描述MPD之后,所述服务器从所述MPD事件中删除所述播放项。
根据实施例,该方法进一步包括在更新所述媒体呈现描述MPD之后,向所述客户端发送所述MPD事件。
根据实施例,所述MPD事件携带事件元素,所述事件元素携带所述播放列表元素,以及所述事件元素用于指示事件并且包含所述事件的消息。
根据一个或多个实施例,提供了一种客户端。该客户端包括:接收模块,用于从服务器接收动态自适应流传输DASH的媒体呈现描述MPD,所述媒体呈现描述MPD用于指示播放媒体内容的主媒体时间线;从所述服务器接收携带播放列表元素的MPD事件;操控模块,用于根据所述MPD事件的所述播放列表元素操控所述主媒体时间线,以及显示模块,用于根据所述操控模块的结果播放至少一个备选媒体内容以代替至少一部分所述媒体内容,其中,所述播放列表元素携带至少一个播放项,所述至少一个播放项中的每一个播放项标识了备选MPD的位置以及播放所述备选媒体内容的至少一个定时特性,所述备选MPD的位置与所述至少一个备选媒体内容中的备选媒体内容相对应。
根据实施例,对于所述至少一个播放项中的每一个播放项,其所述至少一个定时特性包括:相对于所述主媒体时间线的呈现开始时间和呈现结束时间。
根据实施例,对于所述至少一个播放项中的每一个播放项,其所述至少一个定时特性包括:第一指示符,所述第一指示符用于指示在会话中,第一次播放所述主媒体时间线的所述媒体内容之前,是否要播放所述播放项对应的所述备选媒体内容。
根据实施例,所述播放列表元素携带第二指示符,所述第二指示符用于指示所述播放列表元素是否是先前的MPD事件的更新,以及如果所述第二指示符指示所述播放列表元素是先前的MPD事件的更新,所述客户端处理所述MPD事件并且忽略所述先前的MPD事件。
根据实施例,操控模块,用于根据所述MPD事件的所述播放列表元素,预处理所述媒体呈现描述MPD以包括新的替换时段,并在预处理所述媒体呈现描述MPD之后,根据所述预处理的媒体呈现描述MPD播放所述至少一个备选媒体内容。。
根据实施例,操控模块,用于根据所述MPD事件从所述主媒体时间线切换到至少一个不同的媒体时间线,所述至少一个不同的媒体时间线包括所述至少一个备选媒体内容,并且根据所述至少一个不同的媒体时间线播放所述至少一个备选媒体内容。
根据本公开的一个或多个实施例,提供了一种服务器。该服务器包括:提供模块,用于向客户端提供动态自适应流式传输DASH的媒体呈现描述MPD,所述媒体呈现描述MPD用于指示播放媒体内容的主媒体时间线;
获取模块,用于获取携带播放列表元素的MPD事件;以及
更新模块,用于根据来自所述MPD事件的至少一个播放项中的播放项来更新所述媒体呈现描述MPD,或者发送模块,用于向所述客户端发送所述MPD事件,以用于操控所述主媒体时间线以播放至少一个备选媒体内容来代替至少一部分所述媒体内容,其中,
所述播放列表元素携带所述至少一个播放项,所述至少一个播放项中的每一个播放项标识了备选MPD的位置以及播放所述备选媒体内容的至少一个定时特性,所述备选MPD的位置与所述至少一个备选媒体内容中的备选媒体内容相对应。
根据实施例,所述服务器进一步包括删除模块,用于在更新所述媒体呈现描述MPD之后,所述服务器从所述MPD事件中删除所述播放项。
根据实施例,所述服务器包括发送模块,并且发送模块用于在更新所述媒体呈现描述MPD之后,向所述客户端发送所述MPD事件。
根据本公开的一个或多个实施例,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本公开的实施例所述方法。
根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,存储有指令,所述指令包括:一个或多个指令,当由计算机的一个或多个处理器执行所述一个或多个指令时,可以使所述一个或多个处理器执行本公开的实施例所述的方法。
通过本公开实施例提供的技术方案,引入DASH流传输的播放列表事件,播放列表事件可以是向DASH客户端传递一组播放列表指令。由服务器向客户端提供媒体呈现描述MPD,所述媒体呈现描述MPD用于指示播放媒体内容的主媒体时间线;由所述服务器获取携带播放列表元素的MPD事件,其中,所述服务器或所述客户端用于根据所述MPD事件的所述播放列表元素来操控所述主媒体时间线,以使至少一个备选媒体内容适于所述客户端播放以代替所述媒体内容的至少一部分。这样在避免向DASH客户端提供MPD地址以及修改DASH播放的入口点的前提下,不仅实现了灵活的客户端的支持,而且还实现了MPD服务器对流媒体的时间线进行非线性操控。
附图说明
根据以下具体实施方式和附图,所公开的主题的另外的特征、性质和各种优点将更加显而易见,其中:
图1是根据实施例的实施本申请中描述的方法、装置和系统的环境的示意图。
图2是图1所示的一个或多个设备的示例性部件的框图。
图3是根据实施例的使用MPEG-DASH的流式传输系统的框图。
图4A是根据实施例的指示基本播放列表时间线的表的示意图。
图4B是根据实施例的流媒体传输方法的流程图。
图5是根据实施例的源服务器的框图。
图6是根据实施例的客户端的框图。
具体实施方式
本公开的实施例可以利用播放列表事件。根据实施例,将播放列表作为事件来被提供,并且可以在随后的事件实例中进行更新。因此,当入口点是MPD时,时间线的操控指令可以作为MPD(或带内)事件的一部分被提供。
图1是根据实施例的实施本申请中描述的方法、装置和系统的环境100的示意图。如图1所示,环境100可以包括用户设备110、平台120和网络130。环境100的设备可以通过有线连接、无线连接或有线和无线连接的组合进行互连。
用户设备110包括一个或多个设备,该一个或多个设备能够接收、生成、存储、处理和/或提供与平台120相关的信息。例如,用户设备110可以包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,智能眼镜或智能手表)或相似设备。在一些实施方式中,用户设备110可以从平台120接收信息和/或向平台120发送信息。
平台120包括如本文中其它地方所描述的一个或多个设备。在一些实施方式中,平台120可以包括云服务器或云服务器组。在一些实施方式中,平台120可以被设计成模块化,使得软件组件可以根据特定需要被换入或换出。这样,可以容易地和/或快速地重新配置平台120以具有不同的用途。
在一些实施方式中,如图所示,平台120可以被托管(hosted)在云计算环境122中。值得注意的是,虽然本文所述的实施方式将平台120描述为托管在云计算环境122中,但是在一些实施方式中,平台120不是基于云的(即,可以在云计算环境外部实现)或者可以是部分基于云的。
云计算环境(cloud computing environment)122包括托管平台120的环境。云计算环境122可以提供计算、软件、数据访问、存储等服务,这些服务不需要终端用户(例如,用户设备110)了解托管平台120的系统和/或设备的物理位置和配置。如图所示,云计算环境122可以包括一组计算资源124(统称为“计算资源(computing resources)124”并分别称为“计算资源(computing resource)124”)。
计算资源124包括一个或多个个人计算机、工作站计算机、服务器设备或其它类型的计算和/或通信设备。在一些实施方式中,计算资源124可以托管平台120。云资源可以包括在计算资源124中执行的计算实例、在计算资源124中提供的存储设备、由计算资源124提供的数据传输设备等。在一些实施方式中,计算资源124可以通过有线连接、无线连接或有线和无线连接的组合与其它计算资源124通信。
进一步如图1所示,计算资源124包括一组云资源,例如一个或多个应用程序(“APP”)124-1、一个或多个虚拟机(“VM,Virtual Machines”)124-2、虚拟化存储(“VS,Virtualized Storage”)124-3、一个或多个管理程序(“HYP,hypervisors”)124-4等。
应用程序124-1包括一个或多个软件应用程序,其可以提供给用户设备110和/或平台120,或由用户设备110和/或平台120访问。应用程序124-1无需在用户设备110上安装和执行软件应用程序。例如,应用程序124-1可以包括与平台120相关的软件,和/或,能够通过云计算环境122提供的任何其它软件。在一些实施方式中,一个应用程序124-1可以通过虚拟机124-2向或从一个或多个其它应用程序124-1发送/接收信息。
虚拟机124-2包括机器(例如,计算机)的软件实现,该机器执行程序,类似于物理机。虚拟机124-2可以是系统虚拟机,也可以是进程虚拟机,这取决于虚拟机124-2对任何真实机的使用和对应程度。系统虚拟机可以提供完整系统平台,其支持完整操作系统(“OS”)的执行。进程虚拟机可以执行单个程序,并且可以支持单个进程。在一些实施方式中,虚拟机124-2可以代表用户(例如,用户设备110)执行,并且可以管理云计算环境122的基础架构,例如数据管理、同步或长期数据传输。
虚拟化存储124-3包括一个或多个存储系统和/或一个或多个设备,该一个或多个设备在计算资源124的存储系统或设备内使用虚拟化技术。在一些实施方式中,在存储系统的上下文内,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指逻辑存储从物理存储的抽象(或分离),以便可以在不考虑物理存储或异构结构的情况下访问存储系统。分离可以允许存储系统的管理员灵活地管理终端用户的存储。文件虚拟化可以消除在文件级别存取的数据与物理存储文件的位置之间的依赖性。这可以优化存储使用、服务器整合和/或无中断文件迁移的性能。
管理程序(Hypervisor)124-4可以提供硬件虚拟化技术,其允许多个操作系统(例如,“客户操作系统”)在诸如计算资源124的主计算机上同时执行。管理程序124-4可以向客户操作系统提供虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化硬件资源。
网络130包括一个或多个有线和/或无线网络。例如,网络130可以包括蜂窝网络(例如,第五代(fifth generation,5G)网络、长期演进(Long-Term Evolution,LTE)网络、第三代(third generation,3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PublicLand Mobile Network,PLMN)、局域网(Local Area Network,LAN)、广域网(Wide AreaNetwork,WAN)、城域网(Metropolitan Area Network,MAN)、电话网络(例如,公共交换电话网络(Public Switched Telephone Network,PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等,和/或这些或其它类型的网络的组合。
图1所示的设备和网络的数量和排列被作为示例来提供。实际上,与图1所示的设备和/或网络相比,可以有更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或排列不同的设备和/或网络。此外,图1所示的两个或更多个设备可以在单个设备内实现,或者图1所示的单个设备可以实现为多个分布式设备。另外或可替代地,环境100的一组设备(例如,一个或多个设备)可以执行被描述为由环境100的另一组设备执行的一个或多个功能。
图2是图1中一个或多个设备的示例组件的框图。设备200可以对应于用户设备110和/或平台120。如图2所示,设备200可以包括总线210、处理器220、存储器230、存储组件240、输入组件250、输出组件260和通信接口270。
总线210包括允许设备200的组件之间进行通信的组件。处理器220以硬件、固件或硬件和软件的组合来实现。处理器220是中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或另一类型的处理组件。在一些实施方式中,处理器220包括一个或多个能够被编程以执行功能的处理器。存储器230包括随机存取存储器(RAM)、只读存储器(ROM)和/或另一类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器),其存储供处理器220使用的信息和/或指令。
存储组件240存储与设备200的操作和使用相关的信息和/或软件。例如,存储组件240可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、光盘(CD)、数字通用盘(DVD)、软盘、盒式磁带、磁带和/或另一类型的非易失性计算机可读介质,以及相应的驱动器。
输入组件250包括允许设备200例如通过用户输入接收信息的组件,例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风。另外或可替代地,输入组件250可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速计、陀螺仪和/或致动器)。输出组件260包括提供来自设备200的输出信息的组件,例如,显示器、扬声器和/或一个或多个发光二极管(LED)。
通信接口270包括类似收发器的组件(例如,收发器和/或单独的接收器和发送器),该组件使设备200能够例如通过有线连接、无线连接或有线和无线连接的组合与其它设备通信。通信接口270可以允许设备200从另一设备接收信息和/或向另一设备提供信息。例如,通信接口270可以包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备200可以执行本文中所描述的一个或多个过程。设备200可以响应于处理器220执行由非易失性计算机可读介质(例如存储器230和/或存储组件240)存储的软件指令来执行这些过程。计算机可读介质在本文中被定义为非易失性存储器设备。存储器设备包括单个物理存储设备内的存储空间或分布在多个物理存储设备上的存储空间。
软件指令可以通过通信接口270从另一计算机可读介质或从另一设备读入存储器230和/或存储组件240。当被执行时,存储在存储器230和/或存储组件240中的软件指令可以使处理器220执行本文中所描述的一个或多个过程。另外或可替代地,可以使用硬件连线电路来代替软件指令或与软件指令结合以执行本文中所描述的一个或多个过程。因此,本文中所描述的实施方式不限于硬件电路和软件的任何特定组合。
图2所示的组件的数量和排列被作为示例来提供。实际上,与图2所示的组件相比,设备200可能包括更多的组件、更少的组件、不同的组件或排列不同的组件。另外或可替代地,设备200的一组组件(例如,一个或多个组件)可以执行被描述为由设备200的另一组组件执行的一个或多个功能。
图3是根据实施例的使用MPEG-DASH的流式传输系统的框图。
如图3所示,流式传输系统300可以包括源服务器310、客户端320(例如DASH客户端)和一个或多个备选服务器330。可以在源服务器310和客户端320之间提供接口IF1,并且可以在每个备选服务器330与客户端320之间提供相应的接口(例如接口IF2、IF3、…IFn)。根据实施例,源服务器130和备选服务器330可以对应于计算环境(例如图1的云计算环境122),客户端320可以对应于用户设备(例如图1的用户设备110),并且接口IF1-IFn可以对应于一个或多个网络(例如图1的网络130)。
参考图3,描述了来自多个服务器的内容流式传输的一般工作流程。根据实施例,对客户端320的广告插入可以由提供广告内容的一个或多个备选服务器330提供。根据实施例,源服务器310可以用于维护总时间线。源服务器310还可以用于向客户端320提供主清单(MPDm:Main manifest)和内容(例如实况内容)。为了开始流式传输,客户端320可以从源服务器310下载主清单(MPDm)并且播放主清单中指示的内容。源服务器310可以用于创建播放列表,该播放列表可以由源服务器310提供给客户端320,并且该播放列表可以为客户端320提供指令以在内容播放期间操控主清单(MPDm)。根据实施例,播放列表可以被动态地更新,并且播放列表可以通过MPD事件来提供。备选服务器330可以提供用于替换部分时间线的备选内容(例如广告内容),所述部分时间线将由客户端320播放。备选服务器330可以提供他们自己的清单(例如MPDa1、…、MPDan)。每个清单可以描述一个备选内容。备选内容可以是点播内容或直播内容。根据实施例,客户端320可以用于通过插入来自备选MPD(例如,来自备选服务器330)的MPDa1,…,MPDan的时段,根据在来自例如源服务器310的MPD事件中接收的最新播放列表来操控主MPD(例如,主清单MPDm)。客户端320可以播放所操控的主MPD。
[播放列表]
播放列表可以包括一组简单指令或由一组简单指令组成,以用如图4A所示的表400中所示的备选MPD的时段来替换主MPD(例如,主清单MPDm)的指定持续时间。
表400指示基本的播放列表时间线。在表400中,作为示例,每个条目(行)由统一资源定位符(URL:Uniform Resource Locator)(例如,URLa1、URLa2…URLam)、相应的开始时间Tis(例如,T1s、T2s、…Tms)和相应的结束时间Tie(例如,T1e、T2e、…Tme)组成,其中URL指向相应的备选MPD(例如,MPDa1、MPDa2、…MPDam),条件是Tis<Tie,并且Tie≤T(i+1)(其中≤是指小于或等于),其中i是行的索引,i=1、…、m。
由于上述约束,播放列表可以由时间线的非重叠持续时间组成。对于每个持续时间,可以提供MPD的URL(例如来自一个或多个备选服务器330的备选MPD),以在该持续时间期间替换主MPD。
[MPD播放列表事件]
MPD播放列表事件可以被定义为携带播放列表的MPD事件。根据实施例,源服务器310可以通过接口IF1向客户端320发送一个或多个MPD播放列表事件。事件方案可以用诸如“urn:mpeg:dash:manifest-playlist-event:2020”的schemeIdUri来标识。携带这些事件的任何“EventStream”元素都可以在其@schemeIdUri中使用该URI。
每个MPD可以具有至多一个具有上述schemeIdUri的EventStream。EventStream@value可以被DASH客户端(例如客户端320)忽略,即没有为该事件流定义子方案。
MPD播放列表EventStream的“事件”元素,以及可由“事件”元素携带的元素和属性将在下面描述。
“事件(Event)”元素可以指示事件并且包含所述事件的消息。“事件”元素的内容可以取决于事件方案。例如,元素的内容可以是:(a)按照@contentEncoding指定的方式编码的字符串(string),或者(b)使用元素的XML内容,所述元素在MPD命名空间外部。对于新的事件方案,可以使用字符串内容,如果需要,可以使用Base64编码。该模式可以允许在该元素内“混合的”内容。然而,根据一个实施例,仅字符串数据或仅XML元素被上述选项所允许,而不是二者的组合。
“事件”元素可以携带“@presentationTime”属性。如果“@presentationTime”属性存在,“@presentationTime”属性可以考虑到事件流的@presentationTimeOffset的情况下,指示事件相对于“时段”开始的呈现时间。以秒为单位的呈现时间的值可以根据该属性的值和@timescale属性的值获得,例如,可以是该属性的值和@timescale属性的值的比值(division)。如果“@presentationTime”属性不存在,则可以推断出呈现时间的值等于0。根据实施例,使用“@presentationTime”属性是可选的,缺省值为“0”。
“事件”元素可以携带“@duration”属性。“@duration”属性可以指示事件的呈现持续时间。以秒为单位的持续时间的值可以是该属性的值和@timescale属性的值的比值。该属性的值的释义可以由方案所有者定义。如果“@duration”属性不存在,则持续时间的值可能是未知的。根据实施例,“@duration”属性的使用是可选的。
“事件”元素可以携带“@id”属性。“@id”属性可以指示该事件实例的标识符。在“事件”元素中具有等同内容和属性值的事件可以具有相同的该属性的值。每个事件的“@id”属性的范围可以具有相同的@schemeIdURI和@value对。根据实施例,“@id”属性的使用是可选的。
“事件”元素可以携带“@contentEncoding”属性。“@contentEncoding”属性可以指示是否对主体中的信息和@messageData中的信息进行编码。如果“@contentEncoding”属性存在,则下述值是可能的:base64,在将内容添加到字段之前,如IETF RFC 4648中所描述的对内容进行编码。如果“@contentEncoding”属性存在,则期望DASH客户端(例如,客户端320)解码消息数据并且仅向应用提供已解码的消息。该属性可以不被用于下面描述的播放列表事件。根据实施例,“@contentEncoding”属性的使用是可选的。
“事件”元素可以携带“@messageData”属性。“@messageData”属性可以指示事件流元素的值。值空间和语义可以由@schemeIdUri属性中标识的方案的所有者来定义。可以避免使用消息数据,并且如果使用,可以为了保持向后兼容的目的。与使用此属性相比,将消息包含在“事件”元素中可能更可取。如下所述,该属性可以不在播放列表事件中使用。根据实施例,“@messageData”属性的使用是可选的。
“事件(Event)”元素携带“播放列表(Playlist)”元素。“播放列表”元素可以指示由该事件元素携带的播放列表更新。根据实施例,可以允许由“事件”元素携带仅一个单个播放列表元素。根据实施例,“播放列表”元素的使用是强制性的。
根据实施例,“播放列表”元素可以指示一个播放列表,通过该列表,媒体时间线的特定持续时间被该元素中定义的MPD替换。“播放列表”元素可携带以下元素和属性。
“播放列表”元素可以携带“@replace”属性。如果设置“@replace”属性,则“@replace”属性可以描述播放列表是对先前的播放列表的更新并且替换先前的播放列表。客户端320可以通过处理当前的“播放列表”事件来忽略先前的播放列表事件。根据实施例,“@replace”属性的使用是可选的。
“播放列表”元素可以携带一个或多个“播放项(Playitem)”元素。“播放项”元素可各自指定播放列表中的一个项和持续时间。“播放项”元素携带以下元素和属性。
“播放项”元素可以携带“BaseURL”元素。“BaseURL”元素可指示用于参考解析的BaseURL和用于替换MPD(replacing MPD)的备选URL的选择。URL可以指向备选MPD,所述备选MPD用于通过@start、@end和@preroll替换指定持续时间的主媒体时间线。如果备选MPD是静态的,则对于特定持续时间,备选MPD的时段(Period)可以替换开始于备选MPD的第一时段的主MPD。如果备选MPD是动态的,则@start和@end属性可以定义备选MPD的对应的媒体持续时间,以替换主MPD的相同持续时间。根据实施例,“BaseURL”元素可以被使用0到N次,其中N是无界的。
“播放项”元素可以携带“@start”属性。“@start”属性可以指示MPD媒体时间线中的呈现开始时间(presentation start time)。根据实施例,“@start”属性的使用是可选的。
“播放项”元素可以携带“@end”属性。“@end”属性可以指示MPD媒体时间线中的呈现结束时间(presentation end time)。如果属性“@end”不存在,则呈现结束时间可以由替换备选MPD的结束处来定义(例如推断)。根据实施例,“@end”属性的使用是可选的。
“播放项”元素可以携带“@preroll”属性。如果“@preroll”属性为“真”,则“@preroll”属性可以描述当在会话中第一次播放MPD时,在播放MPD之前,替换MPD(replacingMPD)是前插播广告并且打算完全播放。如果“@preroll”属性包括在除第一“播放项(Playitem)”元素之外的任何“播放项”元素中,则可以忽略该属性。如果“@preroll”属性存在,则可以忽略“@start”属性和“@end”属性。根据实施例,“@preroll”属性的使用是可选的。
[清单更新]
可以根据播放列表来更新携带播放列表事件(Playlist Event)的主清单(MPDm)。每次基于一个“播放项”更新主清单时,可以从对应的“事件”元素中删除“播放项”。因此,如果用事件的所有“播放项”元素更新主清单,则对应的“事件”元素可以被完全删除。
[用播放列表事件播放清单]
根据实施例,接收具有播放列表事件的主清单(MPDm)的客户端320可以具有两种实现体系架构:
(A)客户端320可以包括预处理模块,其读取播放列表事件,下载备选MPD,并且根据播放列表用备选MPD的时段更新MPDm。该操作可以等同于服务器上的MPD更新。
(B)客户端320可以下载备选MPD,解析它们,并且在根据活动播放列表的播放期间在MPDm时段和备选MPD之间切换。
本公开实施例提供了一种流媒体传输方法,如图4B所示,该方法包括以下步骤:
步骤S401,由服务器向客户端提供动态自适应流式传输DASH的媒体呈现描述MPD,所述媒体呈现描述MPD用于指示播放媒体内容的主媒体时间线。
步骤S402,由所述服务器获取携带播放列表元素的MPD事件。
步骤S403,所述服务器或所述客户端用于根据所述MPD事件的所述播放列表元素来操控所述主媒体时间线,以使至少一个备选媒体内容适于所述客户端播放以代替至少一部分所述媒体内容。
在一些实施例中,所述播放列表元素携带至少一个播放项,所述至少一个播放项中的每一个播放项标识了备选MPD的位置以及播放所述备选媒体内容的至少一个定时特性,所述备选MPD的位置与所述至少一个备选媒体内容中的备选媒体内容相对应。
通过本公开实施例提供的技术方案,引入DASH流传输的播放列表事件,播放列表事件可以是向DASH客户端传递一组播放列表指令。由服务器向客户端提供媒体呈现描述MPD,所述媒体呈现描述MPD用于指示播放媒体内容的主媒体时间线;由所述服务器获取携带播放列表元素的MPD事件,其中,所述服务器或所述客户端用于根据所述MPD事件的所述播放列表元素来操控所述主媒体时间线,以使至少一个备选媒体内容适于所述客户端播放以代替所述媒体内容的至少一部分。这样在避免向DASH客户端提供MPD地址以及修改DASH播放的入口点的前提下,不仅实现了灵活的客户端的支持,而且还实现了MPD服务器对流媒体的时间线进行非线性操控。
参考图5,描述了根据实施例的源服务器500。源服务器500可以对应于图3的源服务器310。源服务器500可以包括:存储器,用于存储计算机程序代码;以及至少一个处理器,用于访问计算机程序代码并且按照计算机程序代码的指示进行操作。源服务器500的计算机程序代码可以用于使得源服务器500的至少一个处理器执行本公开中描述的服务器(例如,源服务器310)的任何数量的功能。例如,源服务器500的计算机可以包括以下功能模块:提供模块510、获取模块520、更新模块530、删除模块540和发送模块550。
根据本公开的实施例,提供模块510用于使源服务器500向客户端(例如客户端320)提供MPEG DASH MPD,该MPEG DASH MPD指示播放媒体内容的主媒体时间线。根据本公开的实施例,获取模块520用于使源服务器500获取携带播放列表元素的MPD事件。
根据实施例,源服务器500的发送代码550用于使源服务器500向客户端发送MPD事件,来操控主媒体时间线以播放至少一个备选媒体内容来代替媒体内容的至少一部分。因此,源服务器500可以使得客户端能够根据MPD事件来操控主媒体时间线。
根据本公开的实施例,源服务器500包括的更新代码530用于使源服务器500根据MPD事件的至少一个播放项中的播放项来更新MPD。因此,源服务器500用于通过根据MPD事件更新MPD来操控主媒体时间线。根据实施例,根据本公开的实施例,源服务器500包括的删除代码540,可以使源服务器500在更新MPD之后从MPD事件中删除播放项。
参考图6,描述了根据实施例的客户端600。客户端600可以对应于图3的客户端320。客户端600可以包括:存储器,用于存储计算机程序代码;以及至少一个处理器,用于从服务器(例如源服务器500)接收MPEG DASH MPD,该MPEG DASH MPD指示播放媒体内容的主媒体时间线;从服务器接收携带播放列表元素的MPD事件;访问计算机程序代码,并且按照计算机程序代码的指示进行操作。客户端600的计算机程序代码可以用于使得客户端600的至少一个处理器执行本公开中描述的客户端(例如客户端320)的任何数量的功能。例如,客户端600可以包括以下功能模块:处理模块610、操控模块620和显示模块630。
根据本公开的实施例,操控模块620可以用于使客户端600根据MPD事件的播放列表元素来操控主媒体时间线。
根据本公开的实施例,显示模块630可以用于根据操控代码的结果(和/或根据来自源服务器500的更新的MPD)使客户端600播放至少一个备选媒体内容来代替媒体内容的至少一部分。
根据实施例,操控模块620可以用于使客户端600根据MPD事件的播放列表元素预处理MPD以包括新的替换时段,并且显示模块630可以用于使客户端600在预处理MPD之后,根据MPD来播放至少一个备选媒体内容。
根据实施例,操控模块620可以用于使客户端600根据MPD事件从主媒体时间线切换到包括至少一个备选媒体内容的至少一个不同媒体时间线,并且显示模块630可以用于使客户端600根据至少一个不同的媒体时间线播放至少一个备选媒体内容。
根据实施例,播放列表元素携带指示符,所述指示符用于指示播放列表元素是否是先前的MPD事件的更新,并且客户端600的计算机程序代码包括的处理模块610。处理模块610用于为了操控主媒体时间线,根据用于指示播放列表元素是更新的指示符,使得客户端600处理MPD事件并且忽略先前的MPD事件。
根据实施例,提供了一种用于实时媒体流式传输的方法,其中使用播放列表来操控主媒体时间线,其中播放列表描述备选内容和主内容的替换持续时间,其中使用紧凑形式来描述播放列表,并且播放列表支持前插播和中间插播用例,其中使用MPD事件来传送播放列表,其中新的MPD事件方案被定义,其中事件元素包括列出播放项的播放列表元素,其中每个播放项描述支持多个内容分发网络(CDN:content delivery network)的一个备选MPD的位置(一个或多个)和用于替换的时间线的开始处和结束处,以及该替换是否用于前插播,其中事件可以作为先前事件的更新来被发信号通知,使得客户端可能需要仅处理最新的更新。
根据实施例,客户端可以用于(和提供的方法)通过例如预处理MPD以包括新的替换时段,并生成要由传统DASH客户端消耗的最终MPD,或者通过根据播放列表事件在不同的时间线之间切换,来处理本公开的MPD。
根据各实施例,源服务器可以用于(以及提供的方法)更新MPD,以与播放列表事件对齐,其中MPD更新可以包括播放列表事件的结果,其中播放列表事件可以在MPD更新之后删除,或者即使播放列表时间不被删除,将MPD更新和播放列表进行对齐,并且不引起DASH客户端中的计时冲突。
[实施例的示例性益处]
本公开的实施例可以提供一个或多个以下益处。
(A)入口点仍然是MPD。
(B)MPD事件可以用于动态更新呈现。
(C)实施例与MPD更新机制一致。
(D)更新MPD和删除一个或多个等效播放列表事件对于源服务器/高速缓存服务器是简单的。
(E)新的播放列表更新可以替换先前的一个或多个播放列表,因此在这种情况下客户端可能需要仅处理最近的播放列表。
(E)实施例可以用一种解决方案支持前插播广告和中间插播广告。
(F)实施例可以支持静态MPD和动态MPD来作为备选MPD。
(G)实施例可以支持用于备选MPD的多个CDN。
(H)实施例可以实现灵活的客户端支持,如通过清单的预处理或在不同的时间线之间的切换。
本公开的实施例可以单独使用或以任何顺序组合使用。进一步地,方法、服务器和客户端中的每一个可以由处理电路(例如,一个或多个处理器或一个或多个集成电路)实现。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读介质中的程序。
前述公开内容提供了说明和描述,但并不旨在穷举或将实施方案限制为所公开的精确形式。根据上述公开,修改和变化是可能的,或者是可以从实施方案的实践中获取的。
显然,本文中描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限于这些实现方式。因此,应当理解,可以设计软件和硬件来实现基于本文中描述的系统和/或方法。
虽然特征的特定组合在权利要求中陈述和/或在说明书中公开,但是这些组合并不旨在对可能的实现方式的公开内容进行限制。事实上,这些特征中的许多特征可以以权利要求中未具体列举和/或说明书中未公开的方式组合。虽然下面列出的每个从属权利要求可直接从属于仅一个权利要求,但是可能的实现方式的公开内容包括与权利要求组中的每个其它权利要求的组合的每个从属权利要求。
本文中使用的元件、动作或指令都不应被解释为关键的或必要的,除非明确地如此描述。此外,如本文中所使用,冠词“一”和“一个”旨在包括一个或多个项目,并且可与“一个或多个”互换使用。此外,如本文中所使用,术语“集”旨在包括一个或多个项(例如,相关项、不相关项、相关项和不相关项的组合等),并且可与“一个或多个”互换使用。当仅意指一个项时,使用术语“一个”或类似语言。此外,如本文中所用,术语“具有”、“有”、“含有”等旨在是开放式术语。进一步地,短语“根据”旨在表示“至少部分地根据”,除非另外明确声明。
Claims (15)
1.一种流媒体传输方法,其特征在于,包括:
由服务器向客户端提供动态自适应流式传输DASH的媒体呈现描述MPD,所述媒体呈现描述MPD用于指示播放媒体内容的主媒体时间线;以及
由所述服务器获取携带播放列表元素的MPD事件,其中,
所述服务器或所述客户端用于根据所述MPD事件的所述播放列表元素来操控所述主媒体时间线,以使至少一个备选媒体内容适于所述客户端播放以代替至少一部分所述媒体内容,以及
所述播放列表元素携带至少一个播放项,所述至少一个播放项中的每一个播放项标识了备选MPD的位置以及播放所述备选媒体内容的至少一个定时特性,所述备选MPD的位置与所述至少一个备选媒体内容中的备选媒体内容相对应。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
由所述服务器向所述客户端发送携带所述播放列表元素的所述MPD事件,其中,所述客户端用于根据所述MPD事件的所述播放列表元素来操控所述主媒体时间线。
3.根据权利要求2所述的方法,其特征在于,对于所述至少一个播放项中的每一个播放项,其所述至少一个定时特性包括:相对于所述主媒体时间线的呈现开始时间和呈现结束时间。
4.根据权利要求2所述的方法,其特征在于,对于所述至少一个播放项中的每一个播放项,其所述至少一个定时特性包括:第一指示符,所述第一指示符用于指示在会话中,第一次播放所述主媒体时间线的所述媒体内容之前,是否要播放所述播放项对应的所述备选媒体内容。
5.根据权利要求2所述的方法,其特征在于,
所述播放列表元素携带第二指示符,所述第二指示符用于指示所述播放列表元素是否是先前的MPD事件的更新,以及
如果所述第二指示符指示所述播放列表元素是先前的MPD事件的更新,则所述客户端处理所述MPD事件并且忽略所述先前的MPD事件。
6.根据权利要求1所述的方法,其特征在于,
所述客户端根据所述MPD事件的所述播放列表元素,预处理所述媒体呈现描述MPD以包括新的替换时段,并在预处理所述媒体呈现描述MPD之后,根据所述预处理的媒体呈现描述MPD播放所述至少一个备选媒体内容。
7.根据权利要求1所述的方法,其特征在于,
所述客户端根据所述MPD事件从所述主媒体时间线切换到至少一个不同的媒体时间线,所述至少一个不同的媒体时间线包括所述至少一个备选媒体内容,并且根据所述至少一个不同的媒体时间线播放所述至少一个备选媒体内容。
8.根据权利要求1所述的方法,其特征在于,进一步包括:
根据所述MPD事件的所述至少一个播放项中的播放项,所述服务器更新所述媒体呈现描述MPD。
9.根据权利要求8所述的方法,其特征在于,进一步包括:
在更新所述媒体呈现描述MPD之后,所述服务器从所述MPD事件中删除所述播放项。
10.根据权利要求9所述的方法,其特征在于,进一步包括:
在更新所述媒体呈现描述MPD之后,向所述客户端发送所述MPD事件。
11.根据权利要求1~10任一项所述的方法,其特征在于,
所述MPD事件携带事件元素,所述事件元素携带所述播放列表元素,以及
所述事件元素用于指示事件并且包含所述事件的消息。
12.一种客户端,其特征在于,包括:
接收模块,用于从服务器接收动态自适应流传输DASH的媒体呈现描述MPD,所述媒体呈现描述MPD用于指示播放媒体内容的主媒体时间线;从所述服务器接收携带播放列表元素的MPD事件;
操控模块,用于根据所述MPD事件的所述播放列表元素操控所述主媒体时间线,以及
显示模块,用于播放至少一个备选媒体内容以代替至少一部分所述媒体内容,其中,
所述播放列表元素携带至少一个播放项,所述至少一个播放项中的每一个播放项标识了备选MPD的位置以及播放所述备选媒体内容的至少一个定时特性,所述备选MPD的位置与所述至少一个备选媒体内容中的备选媒体内容相对应。
13.一种服务器,其特征在于,包括:
提供模块,用于向客户端提供动态自适应流式传输DASH的媒体呈现描述MPD,所述媒体呈现描述MPD用于指示播放媒体内容的主媒体时间线;
获取模块,用于获取携带播放列表元素的MPD事件;以及
更新模块,用于根据来自所述MPD事件的至少一个播放项中的播放项来更新所述媒体呈现描述MPD,或者发送模块,用于向所述客户端发送所述MPD事件,以用于操控所述主媒体时间线以播放至少一个备选媒体内容来代替至少一部分所述媒体内容,其中,
所述播放列表元素携带所述至少一个播放项,所述至少一个播放项中的每一个播放项标识了备选MPD的位置以及播放所述备选媒体内容的至少一个定时特性,所述备选MPD的位置与所述至少一个备选媒体内容中的备选媒体内容相对应。
14.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-11任一项所述方法。
15.一种计算机可读存储介质,其特征在于,存储有指令,所述指令包括:一个或多个指令,当由计算机的一个或多个处理器执行所述一个或多个指令时,可以使所述一个或多个处理器执行如权利要求1-11任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962908974P | 2019-10-01 | 2019-10-01 | |
US62/908,974 | 2019-10-01 | ||
US17/028,265 US11606592B2 (en) | 2019-10-01 | 2020-09-22 | Playlist events for combining multiple media timelines and content-insertion in dash streaming |
US17/028,265 | 2020-09-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112601113A true CN112601113A (zh) | 2021-04-02 |
CN112601113B CN112601113B (zh) | 2023-04-07 |
Family
ID=75162684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011020688.1A Active CN112601113B (zh) | 2019-10-01 | 2020-09-25 | 流媒体传输方法、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11606592B2 (zh) |
CN (1) | CN112601113B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110307581A1 (en) * | 2010-06-14 | 2011-12-15 | Research In Motion Limited | Media Presentation Description Delta File For HTTP Streaming |
CN102714662A (zh) * | 2010-01-18 | 2012-10-03 | 瑞典爱立信有限公司 | 用于http媒体流分发的方法和装置 |
CN103748888A (zh) * | 2012-08-16 | 2014-04-23 | 华为技术有限公司 | 一种流媒体业务的发送方法、播放方法及装置 |
US20150081851A1 (en) * | 2013-09-17 | 2015-03-19 | Ozgur Oyman | Delivery of targeted media content |
TW201618517A (zh) * | 2014-07-01 | 2016-05-16 | Vid衡器股份有限公司 | 藉由媒體播放器裝置在媒體串流中伺服器端通信期控制 |
CN105900434A (zh) * | 2013-11-27 | 2016-08-24 | 交互数字专利控股公司 | 媒体呈现描述 |
EP3179688A1 (en) * | 2015-12-11 | 2017-06-14 | Koninklijke KPN N.V. | Updating part of a manifest file on the basis of patches |
US20170310722A1 (en) * | 2016-04-25 | 2017-10-26 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing alternative content |
US20180343481A1 (en) * | 2017-05-25 | 2018-11-29 | Turner Broadcasting System, Inc. | Delivery of different services through different client devices |
WO2018237191A1 (en) * | 2017-06-21 | 2018-12-27 | Verance Corporation | ACQUISITION AND TREATMENT OF METADATA BASED ON A WATERMARK |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10771842B2 (en) * | 2018-04-09 | 2020-09-08 | Hulu, LLC | Supplemental content insertion using differential media presentation descriptions for video streaming |
-
2020
- 2020-09-22 US US17/028,265 patent/US11606592B2/en active Active
- 2020-09-25 CN CN202011020688.1A patent/CN112601113B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102714662A (zh) * | 2010-01-18 | 2012-10-03 | 瑞典爱立信有限公司 | 用于http媒体流分发的方法和装置 |
US20110307581A1 (en) * | 2010-06-14 | 2011-12-15 | Research In Motion Limited | Media Presentation Description Delta File For HTTP Streaming |
CN103748888A (zh) * | 2012-08-16 | 2014-04-23 | 华为技术有限公司 | 一种流媒体业务的发送方法、播放方法及装置 |
US20150081851A1 (en) * | 2013-09-17 | 2015-03-19 | Ozgur Oyman | Delivery of targeted media content |
CN105900434A (zh) * | 2013-11-27 | 2016-08-24 | 交互数字专利控股公司 | 媒体呈现描述 |
TW201618517A (zh) * | 2014-07-01 | 2016-05-16 | Vid衡器股份有限公司 | 藉由媒體播放器裝置在媒體串流中伺服器端通信期控制 |
EP3179688A1 (en) * | 2015-12-11 | 2017-06-14 | Koninklijke KPN N.V. | Updating part of a manifest file on the basis of patches |
US20170310722A1 (en) * | 2016-04-25 | 2017-10-26 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing alternative content |
US20180343481A1 (en) * | 2017-05-25 | 2018-11-29 | Turner Broadcasting System, Inc. | Delivery of different services through different client devices |
WO2018237191A1 (en) * | 2017-06-21 | 2018-12-27 | Verance Corporation | ACQUISITION AND TREATMENT OF METADATA BASED ON A WATERMARK |
Also Published As
Publication number | Publication date |
---|---|
US11606592B2 (en) | 2023-03-14 |
CN112601113B (zh) | 2023-04-07 |
US20210099746A1 (en) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101412765B1 (ko) | 다중-단계화 및 파티셔닝된 콘텐츠 준비 및 전달 | |
US8473628B2 (en) | Dynamically altering playlists | |
CN113366807B (zh) | 缩短广告持续时间的方法、装置及介质 | |
CN113767639B (zh) | 接收媒体数据的方法、装置和非易失性计算机可读介质 | |
US20230050360A1 (en) | Procedures for providing ar/mr applications to 5g devices by running ar/mr processing on 5g edge servers/cloud including dynamic scene updates | |
US20230217086A1 (en) | Providing and Using a Branching Narrative Content Service | |
KR20220133964A (ko) | Http를 통한 동적 적응적 스트리밍을 위한 방법 및 장치 | |
CN113542208A (zh) | 用于媒体处理和流式传输的方法、装置和介质 | |
CN112601113B (zh) | 流媒体传输方法、电子设备及存储介质 | |
US20230139635A1 (en) | Method for streaming dynamic 5g ar/mr experience to 5g devices with updatable scenes | |
KR20230042339A (ko) | 5g 네트워크에서 업링크 스트리밍의 기여도 리포팅을 위한 방법 및 장치 | |
JP7271791B2 (ja) | 混合イベントメッセージトラックを含むメディアシステムおよび方法 | |
WO2022150077A1 (en) | Method and apparatus for media scene description | |
US20100218189A1 (en) | Method for managing java applications | |
KR102459197B1 (ko) | 프리젠테이션 커스터마이제이션 및 인터랙티비티를 위한 방법 및 장치 | |
EP4128726B1 (en) | Signaling schemes in events message tracks | |
JP7395020B2 (ja) | 5gネットワークにおいてアップリンクおよびダウンリンクストリーミング用のメディアサービスエントリを見つけ出す方法 | |
KR102432376B1 (ko) | 콘텐츠 재생 방법 및 시스템 | |
CN117256153A (zh) | 用于支持处理dash事件更新的dash客户端处理模型的处理模型 | |
JP2023525655A (ja) | イベントメッセージトラックにおけるイベント間の拡張された関係シグナリング | |
CN112887755A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40042470 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |