CN111510790A - 视频请求方法、系统、计算机设备及计算机可读存储介质 - Google Patents

视频请求方法、系统、计算机设备及计算机可读存储介质 Download PDF

Info

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
Application number
CN201910092651.0A
Other languages
English (en)
Other versions
CN111510790B (zh
Inventor
范文杰
谭兆歆
丁建强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201910092651.0A priority Critical patent/CN111510790B/zh
Priority to EP19912500.6A priority patent/EP3883251A4/en
Priority to PCT/CN2019/128454 priority patent/WO2020155961A1/zh
Publication of CN111510790A publication Critical patent/CN111510790A/zh
Priority to US17/304,732 priority patent/US11496536B2/en
Application granted granted Critical
Publication of CN111510790B publication Critical patent/CN111510790B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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/47202End-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/262Content 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/26258Content 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel 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/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content 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任一项所述方法的步骤。
CN201910092651.0A 2019-01-30 2019-01-30 视频请求方法、系统、计算机设备及计算机可读存储介质 Active CN111510790B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 腾讯科技(深圳)有限公司 视频播放的控制方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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