CN111510790A - 视频请求方法、系统、计算机设备及计算机可读存储介质 - Google Patents
视频请求方法、系统、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111510790A CN111510790A CN201910092651.0A CN201910092651A CN111510790A CN 111510790 A CN111510790 A CN 111510790A CN 201910092651 A CN201910092651 A CN 201910092651A CN 111510790 A CN111510790 A CN 111510790A
- Authority
- CN
- China
- Prior art keywords
- video
- request
- byte
- server
- byte length
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 239000000872 buffer Substances 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000007547 defect Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000010924 continuous production Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- 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/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- 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/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- 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
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
-
- 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/854—Content authoring
- H04N21/8543—Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了一种视频请求方法,其特征在于,所述方法包括:响应于视频播放指令,向服务器发送第一视频请求,其中,所述服务器根据所述第一视频请求返回视频描述信息段和对应的完整的视频,所述视频包括多个视频分段,所述视频描述信息段用于描述各个所述视频分段;解析所述视频描述信息段;以及在下载所述视频的过程中,根据解析后的所述视频描述信息段,对所述视频进行分段播放。本公开还提供了一种视频播放系统、一种计算机设备及一种计算机可读存储介质。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种视频请求方法、系统、计算机设备及计算机可读存储介质。
背景技术
DASH(Dynamic Adaptive Streaming over HTTP,基于HTTP的动态自适应流)是一种自适应比特率流技术,可以将一个视频分解为多个分片,每个分片包含一定长度的可播放内容。现有技术在播放视频时,通常是针对每一个分片要发送一次XMLHttpRequest请求,例如视频有3个分片,则至少要发送3次XMLHttpRequest请求。
然而,在实现本发明构思的过程中,发明人发现现有技术中至少存在如下缺陷:现有技术中在播放一个视频时需要发送多次XMLHttpRequest请求,由于请求需要耗费时间,进而导致视频拉流效率降低;另外,在多个XMLHttpRequest请求之间可能会被其他程序插入从而影响解析效果。
发明内容
本公开的目的是提供一种视频请求方法、系统、计算机设备及计算机可读存储介质,用于解决现有技术中对一个视频发送多次请求会耗费时间、降低视频拉流效率以及多个请求之间被其他程序插入后严重影响解析效果的缺陷。
本公开的一个方面提供了一种视频请求方法,其特征在于,上述方法包括:响应于视频播放指令,向服务器发送第一视频请求,其中,上述服务器根据上述第一视频请求返回视频描述信息段和对应的完整的视频,上述视频包括多个视频分段,上述视频描述信息段用于描述各个上述视频分段;解析上述视频描述信息段;以及在下载上述视频的过程中,根据解析后的上述视频描述信息段,对上述视频进行分段播放。
根据本公开的实施例,上述方法还包括:在上述向服务器发送第一视频请求之前,获取并解析上述视频的MPD文件,以获知上述视频描述信息段对应的字节范围;以及在上述向服务器发送第一视频请求之后,根据上述字节范围,下载上述视频描述信息段。
根据本公开的实施例,上述方法还包括:确定与上述第一视频请求对应的已下载视频的字节长度;判断上述已下载视频的字节长度是否大于等于第一预设字节长度;以及若上述已下载视频的字节长度大于等于上述第一预设字节长度,则断开上述第一视频请求。
根据本公开的实施例,上述方法还包括:确定上述已下载视频中未播放视频的字节长度;判断上述未播放视频的字节长度是否小于等于第二预设字节长度;以及若上述未播放视频的字节长度小于等于上述第二预设字节长度,则向上述服务器发送第二视频请求,其中,上述第二视频请求用于请求上述视频中除上述已下载视频之外的剩余视频。
根据本公开的实施例,上述方法还包括:响应于跳播指令,确定上述跳播指令对应的视频节点;判断上述视频节点是否在上述已下载视频的范围内;以及若上述视频节点不在上述已下载视频的范围内,则断开上述第一视频请求,并向上述服务器发送第三视频请求,其中,上述第三视频请求用于请求上述视频中以上述视频节点对应的字节为起点的剩余视频。
根据本公开的实施例,上述方法还包括:响应于清晰度切换指令,确定上述清晰度切换指令对应的字节;以及向上述服务器发送第四视频请求,其中,上述第四视频请求用于请求新清晰度视频中以上述清晰度切换指令对应的字节为起点的剩余视频,上述新清晰度视频的内容与上述视频的内容相同,上述新清晰度视频的清晰度与上述视频的清晰度不同。
本公开的另一个方面还提供了一种视频请求系统,其特征在于,上述系统包括:第一发送模块,用于响应于视频播放指令,向服务器发送第一视频请求,其中,上述服务器根据上述第一视频请求返回视频描述信息段和对应的完整的视频,上述视频包括多个视频分段,上述视频描述信息段用于描述各个上述视频分段;解析模块,用于解析上述视频描述信息段;以及播放模块,用于在下载上述视频的过程中,根据解析后的上述视频描述信息段,对上述视频进行分段播放。
根据本公开的实施例,上述系统还包括:获取模块,用于在上述向服务器发送第一视频请求之前,获取并解析上述视频的MPD文件,以获知上述视频描述信息段对应的字节范围;以及下载模块,用于在上述向服务器发送第一视频请求之后,根据上述字节范围,下载上述视频描述信息段。
根据本公开的实施例,上述系统还包括:第一确定模块,用于确定与上述第一视频请求对应的已下载视频的字节长度;第一判断模块,用于判断上述已下载视频的字节长度是否大于等于第一预设字节长度;以及断开模块,用于在上述已下载视频的字节长度大于等于上述第一预设字节长度的情况下,断开上述第一视频请求。
根据本公开的实施例,上述系统还包括:第二确定模块,用于确定上述已下载视频中未播放视频的字节长度;第二判断模块,用于判断上述未播放视频的字节长度是否小于等于第二预设字节长度;以及第二发送模块,用于在上述未播放视频的字节长度小于等于上述第二预设字节长度的情况下,向上述服务器发送第二视频请求,其中,上述第二视频请求用于请求上述视频中除上述已下载视频之外的剩余视频。
根据本公开的实施例,上述系统还包括:第三确定模块,用于响应于跳播指令,确定上述跳播指令对应的视频节点;第三判断模块,用于判断上述视频节点是否在上述已下载视频的范围内;以及处理模块,用于在上述视频节点不在上述已下载视频的范围内的情况下,断开上述第一视频请求,并向上述服务器发送第三视频请求,其中,上述第三视频请求用于请求上述视频中以上述视频节点对应的字节为起点的剩余视频。
根据本公开的实施例,上述系统还包括:第四确定模块,用于响应于清晰度切换指令,确定上述清晰度切换指令对应的字节;以及第三发送模块,用于向上述服务器发送第四视频请求,其中,上述第四视频请求用于请求新清晰度视频中以上述清晰度切换指令对应的字节为起点的剩余视频,上述新清晰度视频的内容与上述视频的内容相同,上述新清晰度视频的清晰度与上述视频的清晰度不同。
本公开的再一个方面提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,上述处理器执行上述计算机程序时用于实现如上任一项所述的方法的步骤。
本公开的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,上述计算机程序被处理器执行时用于实现如上任一项所述的方法的步骤。
本公开提供的视频请求方法,在接收到视频播放指令后,客户端会向服务器发送一个第一视频请求,服务器会向客户端返回字节流,这个字节流包括视频描述信息段和与第一视频请求对应的所有按顺序排列的视频分段,客户端会先下载并解析这个视频描述信息段,然后开始下载视频,并且在下载视频的过程中,下载完一个视频分段就可以对该视频分段进行解析然后按序播放,整个过程中只需要发送一次第一视频请求就可以观看完整的视频,即本公开的实施例避免了现有技术中对一个视频发送多次请求会耗费时间、降低视频拉流效率以及多个请求之间被其他程序插入后严重影响解析效果的缺陷,实现了减少请求时间、提高视频拉流效率的技术效果,并且本公开实施例的视频拉流是一个持续的过程,因此不会被其他程序插入影响。
附图说明
图1示意性示出了根据本公开实施例的视频播放方法的流程图;
图2示意性示出了现有技术中视频播放方案的示意图;
图3示意性示出了根据本公开实施例的视频播放方案的示意图;
图4示意性示出了现有技术中视频播放方法的流程图;
图5示意性示出了根据本公开另一实施例的视频播放方法的流程图;
图6示意性示出了根据本公开实施例的视频播放系统的框图;以及
图7示意性示出了根据本公开实施例的适于实现视频播放方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开提供的视频请求方法,在接收到视频播放指令后,客户端会向服务器发送一个第一视频请求,服务器会向客户端返回字节流,这个字节流包括视频描述信息段和与第一视频请求对应的所有按顺序排列的视频分段,客户端会先下载并解析这个视频描述信息段,然后开始下载视频,并且在下载视频的过程中,下载完一个视频分段就可以对该视频分段进行解析然后按序播放,整个过程中只需要发送一次第一视频请求就可以观看完整的视频,即本公开的实施例避免了现有技术中对一个视频发送多次请求会耗费时间、降低视频拉流效率以及多个请求之间被其他程序插入后严重影响解析效果的缺陷,实现了减少请求时间、提高视频拉流效率的技术效果,并且本公开实施例的视频拉流是一个持续的过程,因此不会被其他程序插入影响。
图1示意性示出了根据本公开实施例的视频播放方法的流程图。
如图1所示,该视频播放方法可以包括步骤S101~步骤S103,其中:
步骤S101,响应于视频播放指令,向服务器发送第一视频请求,其中,服务器根据第一视频请求返回视频描述信息段和对应的完整的视频,视频包括多个视频分段,视频描述信息段用于描述各个视频分段。
本公开的实施例应用于DASH场景,在DASH场景下,视频可以分为多个视频分段。DASH是基于HTTP的动态自适应流,类似HLS协议,DASH通过一种自适应的比特率流技术,使高质量的流媒体可以通过HTTP协议进行传输。DASH技术会将流媒体内容分解成一系列小型的基于HTTP的文件片段,每个文件片段包含很短长度的可播放内容,而文件内容总长度可能长达数小时(例如电影或体育赛事直播)。文件内容将被制成多种比特率的备选片段,以提供多种比特率的版本供选用。当文件内容被用户端回放时,用户端将根据当前网络条件自动选择下载和播放哪一个备选方案。用户端将选择可及时下载的最高比特率片段进行播放,从而避免播放卡顿或重新缓冲事件。也因如此,用户端可以无缝适应不断变化的网络条件并提供高质量的播放体验,拥有更少的卡顿与重新缓冲发生率。在本公开的实施例,服务器可以通过DASH技术将视频内容切分为多个分片,每个分片的长度可以自定义,例如2s、5s、10s等。
在本公开的实施例中,视频播放方法可以应用在客户端例如web端,第一视频请求可以包括Fetch请求,且第一视频请求不包括请求头,服务器在接收到这个第一视频请求之后,可以返回对应的字节流,该字节流可以包括视频描述信息段和对应的完整的视频。需要说明是,此处仅仅是服务器向客户端返回字节流,并不表示客户端已经完全接收或下载该字节流。视频描述信息段可以包括Initialization段和Index段,视频可以分为多个视频分段,其中,Initialization段可以包括视频必须的元数据,例如视频的宽度、高度等;Index段可以包括所有视频分段的分段信息,分段信息中包括与该分段信息对应的视频分段的字节范围、时长、以及字节和时长的对应关系。
本公开的实施例是由服务器将完整的视频全部返回,然后客户端再一点点下载这个视频,并且在下载完一个视频分段时便对其进行解析,然后按序播放。此时,便需要知道哪些字节构成一个视频分段,且播放时需要知道视频的元数据,即本公开的实施例中,在下载视频之前,需要先下载视频描述信息段。因此,根据本公开的实施例,该视频播放方法还可以包括:在向服务器发送第一视频请求之前,获取并解析视频的MPD(MediaPresentation Description)文件,以获知视频描述信息段对应的字节范围;以及在向服务器发送第一视频请求之后,根据字节范围,下载视频描述信息段。
需要说明的是,MPD文件是视频的描述文件,可以用于描述整个MPEG DASH(又称为DASH)码流的构成,相当于HLS(HTTP Live Streaming)协议的M3U8(M3U8是视频的一种格式)文件,MPD文件是一个XML(Extensible Markup Language,可扩展标记语言)Document(Document是计算机专业术语,每个载入浏览器的HTML(Hyper Text Markup Language,超级文本标记语言)文档都会成为Document对象),通过MPD文件的内容可以构造出用于HTTPGET请求(HTTP GET请求是HTTP请求的一种方式)下载的URL(Uniform Resource Locator,统一资源定位符)。MPD文件可以描述有视频的每一个分片的分片信息,例如有哪些清晰度、分片的长度等等。
在本公开的实施例中,MPD文件中还可以包括视频描述信息段的字节范围,通过获取并解析MPD文件,可以知道视频描述信息段的字节范围,其中,MPD文件可以是通过向服务器发送其他请求比如XMLHttpRequest请求获取的。
例如,通过解析MPD文件已知视频描述信息段的字节范围为0~99Byte,然后发起Fetch请求,服务器返回字节流,客户端首先下载0~99Byte范围内的数据。
步骤S102,解析视频描述信息段。
根据本公开的实施例,解析视频描述信息段可以是解析Initialization段和Index段,通过解析Initialization段可以知道视频的元数据,通过解析Index段可以知道视频的分段信息。本公开的实施例可以将解析后的视频描述信息段暂存在内存中。
例如,解析视频描述信息段后,可以获知视频的分段信息例如分别为:视频分段1为1~5s,对应100~299Byte,1s对应100Byte,5s对应299Byte;视频分段2为6~10s,对应300~499Byte,6s对应300Byte,10s对应499Byte;视频分段3为11~15s,对应500~699Byte,11s对应500Byte,15s对应699Byte;视频分段4为16~20s,对应700~899Byte,16s对应700Byte,20s对应899Byte。
步骤S103,在下载视频的过程中,根据解析后的视频描述信息段,对视频进行分段播放。
例如,客户端一点点下载剩余的字节流,若下载完100~299Byte范围的字节流,即可以对其进行解析然后播放,若下载完300~499Byte范围的字节流,也可以对其进行解析,然后在视频分段1播放完之后,再播放该视频分段2,依次类推。
为了更清楚地理解本方案与现有技术的区别,现结合图2和图3进行详细说明。
图2示意性示出了现有技术中视频播放方案的示意图。如图2所示,在请求视频时,先进行内核初始化、http建联,然后对于每一个视频分段均发送一个请求(即请求数据网络,例如XMLHttpRequest请求),并对每一次请求回来的数据进行解析。
图3示意性示出了根据本公开实施例的视频播放方案的示意图。如图3所示,在请求视频时,先进行内核初始化、http建联,然后只需要向服务器发送一个视频请求(即请求数据网络,例如Fetch请求),服务器即可将全部的视频返回,然后客户端在一点点下载数据,并根据分段信息解析数据。显然,本公开的实施例相比于现有技术而言,在播放视频时,只需发送一次第一视频请求即可。
本公开提供的视频请求方法,在接收到视频播放指令后,客户端会向服务器发送一个第一视频请求,服务器会向客户端返回字节流,这个字节流包括视频描述信息段和与第一视频请求对应的所有按顺序排列的视频分段,客户端会先下载并解析这个视频描述信息段,然后开始下载视频,并且在下载视频的过程中,下载完一个视频分段就可以对该视频分段进行解析然后按序播放,整个过程中只需要发送一次第一视频请求就可以观看完整的视频,即本公开的实施例避免了现有技术中对一个视频发送多次请求会耗费时间、降低视频拉流效率以及多个请求之间被其他程序插入后严重影响解析效果的缺陷,实现了减少请求时间、提高视频拉流效率的技术效果,并且本公开实施例的视频拉流是一个持续的过程,因此不会被其他程序插入影响。
作为一种可选的实施例,该视频解析方法还可以包括:确定与第一视频请求对应的已下载视频的字节长度;判断已下载视频的字节长度是否大于等于第一预设字节长度;以及若已下载视频的字节长度大于等于第一预设字节长度,则断开第一视频请求。
具体地,有时用户并不会在同一时间看完整个视频,若是为用户缓冲完整个视频而用户只观看了其中一小部分,则会导致流量的浪费。本公开的实施例为了节省流量,可以设置一个第一预设字节长度,若已下载视频的字节长度大于等于该第一预设字节长度,则断开第一视频请求,不再为用户下载剩余视频。优选地,该第一预设字节长度大于视频分段的最小字节长度。
例如,第一预设字节长度为3000Byte,则若是已经为用户下载了3000Byte的视频时,可以断开该Fetch请求。
进一步,断开第一视频请求之后,随着视频的播放,已下载视频中未播放时视频的字节长度(又称为剩余缓冲区)会逐渐减少,为了不影响用户正常观看,该视频解析方法还可以包括:确定已下载视频中未播放视频的字节长度;判断未播放视频的字节长度是否小于等于第二预设字节长度;以及若未播放视频的字节长度小于等于第二预设字节长度,则向服务器发送第二视频请求,其中,第二视频请求用于请求视频中除已下载视频之外的剩余视频。
具体地,在已下载视频中未播放时视频的字节长度小于等于第二预设字节长度(又称为最小缓冲区长度)时,可以发起新的Fetch请求,该Fetch请求包括请求头,且请求头的range字段的起始字节为已下载视频结尾对应的字节。
例如,完整的视频为对应的字节范围为100~1899Byte,已下载视频对应字节范围为100~999Byte,第二预设字节长度为300Byte,若是此时播放位置为699Byte,则未播放视频的字节长度为999-699=300Byte。此时,客户端可以向服务器发送新的Fetch请求,该Fetch请求的range字段的起始字节为999Byte,例如“999-”,即该Fetch请求用于向服务器请求999~1999Byte范围的视频数据。
作为一种可选的实施例,该视频解析方法还可以包括:响应于跳播指令,确定跳播指令对应的视频节点;判断视频节点是否在已下载视频的范围内;以及若视频节点不在已下载视频的范围内,则断开第一视频请求,并向服务器发送第三视频请求,其中,第三视频请求用于请求视频中以视频节点对应的字节为起点的剩余视频。
在本公开的实施例中,跳播指令可以包括seek指令,判断视频节点是否在已下载视频的范围内可以是判断视频节点对应的时间节点是否在已下载视频的时长范围内,或者判断视频节点对应的字节是否在已下载视频的字节范围内。若是,则不需要执行额外的操作,只需要将视频从该视频节点开始播放即可。若不是,则断开Fetch请求,并发起一个新的Fetch请求,该Fetch请求包括请求头,且请求头的range字段的起始字节为视频节点对应视频分段的起始字节。
例如,完整的视频为40s,对应的字节范围为100~1899Byte,已下载视频的长度为20s,对应字节范围为100~999Byte,跳播指令对应的视频节点对应的时间节点为30s,对应的字节为1449Byte,即视频节点不在已下载视频的范围内,则客户端可以向服务器发送新的Fetch请求,该Fetch请求的range字段的起始字节为1449Byte,例如“1449-”,即该Fetch请求用于向服务器请求1449~1899Byte范围的视频数据。
作为一种可选的实施例,该视频解析方法还可以包括:响应于清晰度切换指令,确定清晰度切换指令对应的字节;以及向服务器发送第四视频请求,其中,第四视频请求用于请求新清晰度视频中以清晰度切换指令对应的字节为起点的剩余视频,新清晰度视频的内容与视频的内容相同,新清晰度视频的清晰度与视频的清晰度不同。
在本公开的实施例中,不同清晰度视频的视频描述信息段不同,在切换清晰度场景下,可以先向服务器发送一个用于请求新清晰度视频的视频描述信息段的Fetch请求,该Fetch请求的range字段的范围为视频描述信息段的字节范围。下载并解析视频描述信息段,然后向服务器发送第四视频请求如另一个Fetch请求,这个Fetch请求的range字段的起始字节为清晰度切换指令对应的字节。
例如,完整的视频对应的字节范围为100~1899Byte,清晰度切换指令对应的字节为1200Byte,客户端可以向服务器发送新的Fetch请求,该Fetch请求的range字段的起始字节为1200Byte,例如“1200-”,即该Fetch请求用于向服务器请求1200~1899Byte范围的视频数据。
图4示意性示出了现有技术中视频播放方法的流程图。
如图4所示,现有技术中视频播放方法可以包括步骤S401~步骤S406,其中:
步骤S401,播放初始化。
步骤S402,解析MPD文件。
步骤S403,请求Initialization段和Index段。
步骤S404,解析Initialization段和Index段。
步骤S405,请求下一个视频分段。
步骤S406,解析视频分段。
需要说明的是,DASH会将内容分解成一系列小型的基于HTTP的文件分段,每个分段包含视频信息或很短长度的可播放视频内容,客户端将选择可及时下载的最高比特率视频内容片段进行播放,从而避免播放卡顿或重新缓冲事件。分段有三种类型,Initialization段、Index段、视频分段,Initialization段里包含了呈现视频必需的metadata信息,Index段里包含了对应视频中所有视频分段的分段信息,视频分段包含可播放的视频内容,Initialization段和Index段的范围信息在MPD信息里已知。
现有技术中使用的XMLHttpRequest请求只能在请求完成后读取数据。具体地,现有技术中,客户端首先请求Index段和Initialization段,请求并解析完成后,可以从Index段的数据获取到视频分段的分段信息,对每个视频分段都使用一个新的XMLHttpRequest请求,请求地址是视频地址,请求头的range字段指定需要的字节范围,例如“100-299”,服务端返回range字段指定范围的字节数据。例如,根据分段信息请求第一个视频分段,第一个视频分段请求并解析完成再请求第二个视频分段,依此类推。
图5示意性示出了根据本公开另一实施例的视频播放方法的流程图。
如图5所示,该视频播放方法可以包括步骤S501~步骤S508,其中:
步骤S501,播放初始化。
步骤S502,解析MPD文件。
步骤S503,发起Fetch请求。
步骤S504,读取并解析Initialization段和Index段。
步骤S505,读取并解析下一个视频分段
步骤S506,判断是否超过稳定缓冲区,若是执行步骤S507,若否执行步骤S505。
步骤S507,中断请求。
步骤S508,缓冲结束。
在本公开的实施例中,使用Fetch请求可以在请求过程中循环读取字节流,所以只需要建立一次连接就可以请求所有视频分段。客户端先主动对视频地址发起没有请求头的Fetch请求,这时服务端会返回完整的视频数据,客户端持续下载视频数据,在下载过程中循环读取字节流。Index段和Initialization段在字节流开头的位置,且范围已知,会被客户端首先下载并读取到,取到完整的Index段和Initialization段数据后交给解析模块解析,解析完Index段的数据可以获取到分段信息,拿到分段信息后才可以识别哪些字节是一个完整的视频分段。解析完Index段和Initialization段数据再继续读取字节流,每读取到一个完整的视频分段后交给解析模块解析。已下载视频的字节长度超过预设的稳定缓冲区对应的字节长度(又称为第一预设字节长度)时主动断开Fetch请求。
播放会引起剩余缓冲区(又称为未播放视频的字节长度)减小,如果剩余缓冲区小于最小缓冲区长度(又称为第二预设字节长度),则发起新的Fetch请求,此请求以剩余缓冲区结尾对应的字节为起点,请求头的range字段形如“1000-”。
seek时,如果有未结束的Fetch请求,seek时间在缓冲区(又称为已下载视频的范围)外时中断当前请求,重新发起以seek时间对应的字节为起点的新的Fetch请求,seek时间在缓冲区内时不需要执行额外操作;如果没有未结束的Fetch请求,同上述播放场景。
切换清晰度时会先对新清晰度视频地址发起一个Fetch请求,range字段的范围为Index段和Initialization段两个段的字节范围,形如“0-1000”,得到新清晰度的分段信息后再发起另一个Fetch请求,range字段开头为视频切换指令对应的字节,形如“1000-”。
图6示意性示出了根据本公开实施例的视频解析系统的框图。
如图6所示,该视频解析系统600可以包括第一发送模块610、解析模块620和播放模块630,其中:
第一发送模块610用于响应于视频播放指令,向服务器发送第一视频请求,其中,服务器根据第一视频请求返回视频描述信息段和对应的完整的视频,视频包括多个视频分段,视频描述信息段用于描述各个视频分段。
解析模块620用于解析视频描述信息段。
播放模块630用于在下载视频的过程中,根据解析后的视频描述信息段,对视频进行分段播放。
本公开提供的视频请求系统,在接收到视频播放指令后,客户端会向服务器发送一个第一视频请求,服务器会向客户端返回字节流,这个字节流包括视频描述信息段和与第一视频请求对应的所有按顺序排列的视频分段,客户端会先下载并解析这个视频描述信息段,然后开始下载视频,并且在下载视频的过程中,下载完一个视频分段就可以对该视频分段进行解析然后按序播放,整个过程中只需要发送一次第一视频请求就可以观看完整的视频,即本公开的实施例避免了现有技术中对一个视频发送多次请求会耗费时间、降低视频拉流效率以及多个请求之间被其他程序插入后严重影响解析效果的缺陷,实现了减少请求时间、提高视频拉流效率的技术效果,并且本公开实施例的视频拉流是一个持续的过程,因此不会被其他程序插入影响。
作为一种可选的实施例,该视频请求系统还可以包括:获取模块,用于在向服务器发送第一视频请求之前,获取并解析视频的MPD文件,以获知视频描述信息段对应的字节范围;以及下载模块,用于在向服务器发送第一视频请求之后,根据字节范围,下载视频描述信息段。
作为一种可选的实施例,该视频请求系统还可以包括:第一确定模块,用于确定与第一视频请求对应的已下载视频的字节长度;第一判断模块,用于判断已下载视频的字节长度是否大于等于第一预设字节长度;以及断开模块,用于在已下载视频的字节长度大于等于第一预设字节长度的情况下,断开第一视频请求。
作为一种可选的实施例,该视频请求系统还可以包括:第二确定模块,用于确定已下载视频中未播放视频的字节长度;第二判断模块,用于判断未播放视频的字节长度是否小于等于第二预设字节长度;以及第二发送模块,用于在未播放视频的字节长度小于等于第二预设字节长度的情况下,向服务器发送第二视频请求,其中,第二视频请求用于请求视频中除已下载视频之外的剩余视频。
作为一种可选的实施例,该视频请求系统还可以包括:第三确定模块,用于响应于跳播指令,确定跳播指令对应的视频节点;第三判断模块,用于判断视频节点是否在已下载视频的范围内;以及处理模块,用于在视频节点不在已下载视频的范围内的情况下,断开第一视频请求,并向服务器发送第三视频请求,其中,第三视频请求用于请求视频中以视频节点对应的字节为起点的剩余视频。
作为一种可选的实施例,该视频请求系统还可以包括:第四确定模块,用于响应于清晰度切换指令,确定清晰度切换指令对应的字节;以及第三发送模块,用于向服务器发送第四视频请求,其中,第四视频请求用于请求新清晰度视频中以清晰度切换指令对应的字节为起点的剩余视频,新清晰度视频的内容与视频的内容相同,新清晰度视频的清晰度与视频的清晰度不同。
图7示意性示出了根据本公开实施例的适于实现视频播放方法的计算机设备的硬件架构示意图。本实施例中,计算机设备700是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图7所示,计算机设备700至少包括但不限于:可通过系统总线相互通信连接存储器710、处理器720、网络接口730。其中:
存储器710至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器710可以是计算机设备700的内部存储模块,例如该计算机设备700的硬盘或内存。在另一些实施例中,存储器710也可以是计算机设备700的外部存储设备,例如该计算机设备700上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器710还可以既包括计算机设备700的内部存储模块也包括其外部存储设备。本实施例中,存储器710通常用于存储安装于计算机设备700的操作系统和各类应用软件,例如视频播放方法的程序代码等。此外,存储器710还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器720在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器720通常用于控制计算机设备700的总体操作,例如执行与计算机设备700进行数据交互或者通信相关的控制和处理等。本实施例中,处理器720用于运行存储器710中存储的程序代码或者处理数据。
网络接口730可包括无线网络接口或有线网络接口,该网络接口730通常用于在计算机设备700与其他计算机设备之间建立通信连接。例如,网络接口730用于通过网络将计算机设备700与外部终端相连,在计算机设备700与外部终端之间的建立数据传输通道和通信连接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图7仅示出了具有部件710-730的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器710中的视频播放方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器720)所执行,以完成本发明。
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的视频播放方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的视频播放方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (14)
1.一种视频请求方法,其特征在于,所述方法包括:
响应于视频播放指令,向服务器发送第一视频请求,其中,所述服务器根据所述第一视频请求返回视频描述信息段和对应的完整的视频,所述视频包括多个视频分段,所述视频描述信息段用于描述各个所述视频分段;
解析所述视频描述信息段;以及
在下载所述视频的过程中,根据解析后的所述视频描述信息段,对所述视频进行分段播放。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述向服务器发送第一视频请求之前,获取并解析所述视频的MPD文件,以获知所述视频描述信息段对应的字节范围;以及
在所述向服务器发送第一视频请求之后,根据所述字节范围,下载所述视频描述信息段。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定与所述第一视频请求对应的已下载视频的字节长度;
判断所述已下载视频的字节长度是否大于等于第一预设字节长度;以及
若所述已下载视频的字节长度大于等于所述第一预设字节长度,则断开所述第一视频请求。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定所述已下载视频中未播放视频的字节长度;
判断所述未播放视频的字节长度是否小于等于第二预设字节长度;以及
若所述未播放视频的字节长度小于等于所述第二预设字节长度,则向所述服务器发送第二视频请求,其中,所述第二视频请求用于请求所述视频中除所述已下载视频之外的剩余视频。
5.根据权利要求3的方法,其特征在于,所述方法还包括:
响应于跳播指令,确定所述跳播指令对应的视频节点;
判断所述视频节点是否在所述已下载视频的范围内;以及
若所述视频节点不在所述已下载视频的范围内,则断开所述第一视频请求,并向所述服务器发送第三视频请求,其中,所述第三视频请求用于请求所述视频中以所述视频节点对应的字节为起点的剩余视频。
6.根据权利要求1的方法,其特征在于,所述方法还包括:
响应于清晰度切换指令,确定所述清晰度切换指令对应的字节;以及
向所述服务器发送第四视频请求,其中,所述第四视频请求用于请求新清晰度视频中以所述清晰度切换指令对应的字节为起点的剩余视频,所述新清晰度视频的内容与所述视频的内容相同,所述新清晰度视频的清晰度与所述视频的清晰度不同。
7.一种视频请求系统,其特征在于,所述系统包括:
第一发送模块,用于响应于视频播放指令,向服务器发送第一视频请求,其中,所述服务器根据所述第一视频请求返回视频描述信息段和对应的完整的视频,所述视频包括多个视频分段,所述视频描述信息段用于描述各个所述视频分段;
解析模块,用于解析所述视频描述信息段;以及
播放模块,用于在下载所述视频的过程中,根据解析后的所述视频描述信息段,对所述视频进行分段播放。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:
获取模块,用于在所述向服务器发送第一视频请求之前,获取并解析所述视频的MPD文件,以获知所述视频描述信息段对应的字节范围;以及
下载模块,用于在所述向服务器发送第一视频请求之后,根据所述字节范围,下载所述视频描述信息段。
9.根据权利要求7所述的系统,其特征在于,所述系统还包括:
第一确定模块,用于确定与所述第一视频请求对应的已下载视频的字节长度;
第一判断模块,用于判断所述已下载视频的字节长度是否大于等于第一预设字节长度;以及
断开模块,用于在所述已下载视频的字节长度大于等于所述第一预设字节长度的情况下,断开所述第一视频请求。
10.根据权利要求9所述的系统,其特征在于,所述系统还包括:
第二确定模块,用于确定所述已下载视频中未播放视频的字节长度;
第二判断模块,用于判断所述未播放视频的字节长度是否小于等于第二预设字节长度;以及
第二发送模块,用于在所述未播放视频的字节长度小于等于所述第二预设字节长度的情况下,向所述服务器发送第二视频请求,其中,所述第二视频请求用于请求所述视频中除所述已下载视频之外的剩余视频。
11.根据权利要求9的系统,其特征在于,所述系统还包括:
第三确定模块,用于响应于跳播指令,确定所述跳播指令对应的视频节点;
第三判断模块,用于判断所述视频节点是否在所述已下载视频的范围内;以及
处理模块,用于在所述视频节点不在所述已下载视频的范围内的情况下,断开所述第一视频请求,并向所述服务器发送第三视频请求,其中,所述第三视频请求用于请求所述视频中以所述视频节点对应的字节为起点的剩余视频。
12.根据权利要求7的系统,其特征在于,所述系统还包括:
第四确定模块,用于响应于清晰度切换指令,确定所述清晰度切换指令对应的字节;以及
第三发送模块,用于向所述服务器发送第四视频请求,其中,所述第四视频请求用于请求新清晰度视频中以所述清晰度切换指令对应的字节为起点的剩余视频,所述新清晰度视频的内容与所述视频的内容相同,所述新清晰度视频的清晰度与所述视频的清晰度不同。
13.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至6任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现权利要求1至6任一项所述方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910092651.0A CN111510790B (zh) | 2019-01-30 | 2019-01-30 | 视频请求方法、系统、计算机设备及计算机可读存储介质 |
EP19912500.6A EP3883251A4 (en) | 2019-01-30 | 2019-12-25 | VIDEO REQUEST PROCESS AND SYSTEM, COMPUTER DEVICE AND COMPUTER READABLE INFORMATION MEDIA |
PCT/CN2019/128454 WO2020155961A1 (zh) | 2019-01-30 | 2019-12-25 | 视频请求方法、系统、计算机设备及计算机可读存储介质 |
US17/304,732 US11496536B2 (en) | 2019-01-30 | 2021-06-24 | Method of requesting video, computing device, and computer-program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910092651.0A CN111510790B (zh) | 2019-01-30 | 2019-01-30 | 视频请求方法、系统、计算机设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111510790A true CN111510790A (zh) | 2020-08-07 |
CN111510790B CN111510790B (zh) | 2021-10-15 |
Family
ID=71840822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910092651.0A Active CN111510790B (zh) | 2019-01-30 | 2019-01-30 | 视频请求方法、系统、计算机设备及计算机可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11496536B2 (zh) |
EP (1) | EP3883251A4 (zh) |
CN (1) | CN111510790B (zh) |
WO (1) | WO2020155961A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113301095A (zh) * | 2020-12-08 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 提供云端对象的数据的方法以及装置 |
CN113347471A (zh) * | 2021-06-01 | 2021-09-03 | 咪咕文化科技有限公司 | 视频播放方法、装置、设备及存储介质 |
CN113794898A (zh) * | 2021-08-13 | 2021-12-14 | 网宿科技股份有限公司 | Dash媒体流传输方法、电子设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857794A (zh) * | 2011-06-28 | 2013-01-02 | 上海聚力传媒技术有限公司 | 一种用于合并视频分段的方法与设备 |
CN103384236A (zh) * | 2012-05-04 | 2013-11-06 | 华为技术有限公司 | 获取流媒体数据的方法、装置及系统 |
CN103974147A (zh) * | 2014-03-07 | 2014-08-06 | 北京邮电大学 | 一种基于mpeg-dash协议的带有码率切换控制和静态摘要技术的在线视频播控系统 |
CN104604241A (zh) * | 2012-07-09 | 2015-05-06 | Vid拓展公司 | 功率感知视频解码和串流 |
US20150296274A1 (en) * | 2014-04-10 | 2015-10-15 | Wowza Media Systems, LLC | Manifest generation and segment packetization |
US20160112953A1 (en) * | 2014-10-16 | 2016-04-21 | Samsung Electronics Co., Ltd. | Method and Apparatus for HTTP Adaptive Streaming in Wireless Network Environment |
US20160366617A1 (en) * | 2014-05-22 | 2016-12-15 | Huawei Technologies Co., Ltd. | HTTP-Based Buffer Status Updating Method and Device, and Buffer Status Processor |
CN106921865A (zh) * | 2017-05-11 | 2017-07-04 | 腾讯科技(深圳)有限公司 | 视频处理方法及装置 |
CN106961630A (zh) * | 2017-03-24 | 2017-07-18 | 西安理工大学 | 一种基于dash优化的p2p流媒体视频播放方法 |
CN106993237A (zh) * | 2017-04-13 | 2017-07-28 | 中北大学 | 基于mpeg‑dash协议的动态自适应码率选择方法 |
CN107113454A (zh) * | 2014-10-29 | 2017-08-29 | Dlvr公司 | 配置引用用于自适应流式传输视频的基础设施服务提供商的清单文件 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911332B (zh) * | 2009-11-04 | 2021-01-08 | 阿莫泰克有限公司 | 媒体内容流播的方法、系统和计算机可读介质 |
US9386058B2 (en) * | 2012-02-27 | 2016-07-05 | Qualcomm Incorporated | DASH client and receiver with playback rate selection |
CN104105012B (zh) * | 2013-04-03 | 2018-04-20 | 华为技术有限公司 | 流媒体的片段准备方法和装置 |
CN104244079B (zh) * | 2013-06-07 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 一种视频下载方法及装置 |
IL231685A (en) * | 2014-03-24 | 2015-09-24 | Giraffic Technologies Ltd | A system and method for predicting memory reduction and network design |
WO2017100769A1 (en) * | 2015-12-11 | 2017-06-15 | Vid Scale, Inc. | Scheduling multiple-layer video segments |
US9426543B1 (en) * | 2015-12-18 | 2016-08-23 | Vuclip (Singapore) Pte. Ltd. | Server-based video stitching |
CN106534946A (zh) * | 2016-10-26 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 视频播放的控制方法和装置 |
-
2019
- 2019-01-30 CN CN201910092651.0A patent/CN111510790B/zh active Active
- 2019-12-25 WO PCT/CN2019/128454 patent/WO2020155961A1/zh active Application Filing
- 2019-12-25 EP EP19912500.6A patent/EP3883251A4/en not_active Ceased
-
2021
- 2021-06-24 US US17/304,732 patent/US11496536B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857794A (zh) * | 2011-06-28 | 2013-01-02 | 上海聚力传媒技术有限公司 | 一种用于合并视频分段的方法与设备 |
CN103384236A (zh) * | 2012-05-04 | 2013-11-06 | 华为技术有限公司 | 获取流媒体数据的方法、装置及系统 |
CN104604241A (zh) * | 2012-07-09 | 2015-05-06 | Vid拓展公司 | 功率感知视频解码和串流 |
CN103974147A (zh) * | 2014-03-07 | 2014-08-06 | 北京邮电大学 | 一种基于mpeg-dash协议的带有码率切换控制和静态摘要技术的在线视频播控系统 |
US20150296274A1 (en) * | 2014-04-10 | 2015-10-15 | Wowza Media Systems, LLC | Manifest generation and segment packetization |
US20160366617A1 (en) * | 2014-05-22 | 2016-12-15 | Huawei Technologies Co., Ltd. | HTTP-Based Buffer Status Updating Method and Device, and Buffer Status Processor |
US20160112953A1 (en) * | 2014-10-16 | 2016-04-21 | Samsung Electronics Co., Ltd. | Method and Apparatus for HTTP Adaptive Streaming in Wireless Network Environment |
CN107113454A (zh) * | 2014-10-29 | 2017-08-29 | Dlvr公司 | 配置引用用于自适应流式传输视频的基础设施服务提供商的清单文件 |
CN106961630A (zh) * | 2017-03-24 | 2017-07-18 | 西安理工大学 | 一种基于dash优化的p2p流媒体视频播放方法 |
CN106993237A (zh) * | 2017-04-13 | 2017-07-28 | 中北大学 | 基于mpeg‑dash协议的动态自适应码率选择方法 |
CN106921865A (zh) * | 2017-05-11 | 2017-07-04 | 腾讯科技(深圳)有限公司 | 视频处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
HAMID AZWAR等: "H.265 video delivery using dynamic adaptive streaming over HTTP (DASH) on LAN network", 《2014 8TH INTERNATIONAL CONFERENCE ON TELECOMMUNICATION SYSTEMS SERVICES AND APPLICATIONS (TSSA)》 * |
李常宝: "基于索引的web服务发现研究", 《中国博士学位论文全文数据库(信息科技辑)》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113301095A (zh) * | 2020-12-08 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 提供云端对象的数据的方法以及装置 |
CN113301095B (zh) * | 2020-12-08 | 2024-05-10 | 阿里巴巴集团控股有限公司 | 提供云端对象的数据的方法以及装置 |
CN113347471A (zh) * | 2021-06-01 | 2021-09-03 | 咪咕文化科技有限公司 | 视频播放方法、装置、设备及存储介质 |
CN113347471B (zh) * | 2021-06-01 | 2023-05-02 | 咪咕文化科技有限公司 | 视频播放方法、装置、设备及存储介质 |
CN113794898A (zh) * | 2021-08-13 | 2021-12-14 | 网宿科技股份有限公司 | Dash媒体流传输方法、电子设备及存储介质 |
CN113794898B (zh) * | 2021-08-13 | 2023-03-07 | 网宿科技股份有限公司 | Dash媒体流传输方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3883251A1 (en) | 2021-09-22 |
US20210320957A1 (en) | 2021-10-14 |
US11496536B2 (en) | 2022-11-08 |
CN111510790B (zh) | 2021-10-15 |
EP3883251A4 (en) | 2021-12-15 |
WO2020155961A1 (zh) | 2020-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2537319B1 (en) | Method and arrangement for adaption in http streaming | |
US9060207B2 (en) | Adaptive video streaming over a content delivery network | |
US20210320957A1 (en) | Method of requesting video, computing device, and computer-program product | |
US11303949B2 (en) | Method of switching resolution, computing device, and computer-readable storage medium | |
US11503347B2 (en) | Method of playing video, computing device, and computer program product | |
CN110933517B (zh) | 码率切换方法、客户端和计算机可读存储介质 | |
CN112511871B (zh) | 用于分段器流动性的打包器 | |
US11863841B2 (en) | Video playing control method and system | |
JP6314252B2 (ja) | ネットワークビデオ再生方法及び装置 | |
EP3866481A1 (en) | Audio/video switching method and apparatus, and computer device and readable storage medium | |
CN109089174B (zh) | 一种多媒体数据流的处理方法及装置、计算机存储介质 | |
EP2903260A1 (en) | Multi-speed playing method, device and system | |
US11095699B1 (en) | Streaming media file management | |
WO2020155956A1 (zh) | 首帧均衡限流方法、装置、计算机设备及可读存储介质 | |
US11825165B2 (en) | Method of determining video resolution, computing device, and computer-program product | |
CN113727189A (zh) | 支持多种流媒体传输协议的媒体播放方法和系统 | |
CN113079386A (zh) | 一种视频在线播放方法、装置、电子设备及存储介质 | |
US20230388590A1 (en) | Playback optimization method and system | |
CN113691886A (zh) | 流媒体文件的下载方法和装置 | |
CN115190338B (zh) | 视频预加载的方法和系统 | |
CN116389787A (zh) | 一种音视频转码播放方法 | |
EP3896988A1 (en) | Method and apparatus of playing audio and video, computer program product, and computer-readable storage medium | |
CN117278769A (zh) | 直播回放视频生成方法、装置、直播平台、计算机设备及存储介质 | |
CN114866815A (zh) | 音视频数据的播放方法、装置、电子设备及系统 | |
CN115883936A (zh) | 一种hls流媒体的播放方法、系统、设备及存储介质 |
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 |