CN107302533A - 流媒体直播方法、系统及装置 - Google Patents

流媒体直播方法、系统及装置 Download PDF

Info

Publication number
CN107302533A
CN107302533A CN201710469462.1A CN201710469462A CN107302533A CN 107302533 A CN107302533 A CN 107302533A CN 201710469462 A CN201710469462 A CN 201710469462A CN 107302533 A CN107302533 A CN 107302533A
Authority
CN
China
Prior art keywords
delay window
resource
unit
request
delay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710469462.1A
Other languages
English (en)
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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201710469462.1A priority Critical patent/CN107302533A/zh
Priority to PCT/CN2017/092834 priority patent/WO2018232800A1/zh
Priority to US15/574,717 priority patent/US20180367585A1/en
Priority to EP17844610.0A priority patent/EP3447991B1/en
Publication of CN107302533A publication Critical patent/CN107302533A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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/80Responding to QoS
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种流媒体直播方法、系统及装置,该方法、系统及装置包括初始化延时窗口,根据延时窗口,请求延时窗口范围内资源片段,判断延时窗口范围内资源片段的首次请求结果是否成功,累计连续请求延时窗口范围内资源片段失败次数,若失败次数达到预设阀值时,滑动延时窗口以限制播放端请求速度。本发明提供的技术方案能够及时感知播放环境的延迟,通过滑动延时窗口,限制播放端请求速度从而避免播放卡顿的现象。

Description

流媒体直播方法、系统及装置
技术领域
本发明涉及互联网技术领域,特别涉及一种流媒体直播方法、及使用该方法的流媒体直播系统和装置。
背景技术
所谓流媒体是指采用流式传输的方式在英特网上播放的媒体格式。由于它具有边传边播放的特点使得内容播放更实时和便捷,从而被人们广泛使用。
目前的流媒体技术分为直播和点播,对于现有的流媒体直播,由于复杂的网络环境,给直播流的传播带来许多失误,例如可能导致直播流丢帧,从而使得直播源延迟越来越低。在现有技术中,播放端是无法感知到直播流已丢帧,从而会使得播放缓存越来越少,播放位置变得越来越靠前。这样,在播放端就会表现为播放频繁卡顿,导致用户体验变差。
发明内容
为了解决现有技术的问题,本发明一方面提供了一种流媒体直播方法,方法如下:
初始化延时窗口,根据该延时窗口,请求延时窗口范围内资源片段,判断该延时窗口资源片段的首次请求结果是否成功,累计首次请求该延时窗口资源片段连续失败的次数,若该失败次数达到预设阀值时,滑动延时窗口以限制播放端请求速度。
进一步地,该判断该延时窗口资源片段的首次请求是否成功的方法,包括:设置用于累计请求连续失败次数的计数器,获取该延时窗口资源片段首次请求的响应状态码,通过该资源片段首次请求的响应状态码来识别该资源片段的请求是否成功。
进一步地,该累计首次请求该延时窗口资源片段连续失败的次数,若该失败次数达到预设阀值时,滑动延时窗口以限制播放端请求速度的方法,包括:通过该资源片段首次请求的响应状态码来识别该资源片段的请求是否成功。若该响应状态码表示请求失败,则该计数器值加1,继续请求该延时窗口范围内的资源片段以累计首次请求该延时窗口资源片段连续失败的次数,当该计数器值达到预设阀值,则向后滑动该延时窗口以限制播放端请求速度;若该响应状态码表示请求成功,则将该计数器置零。
进一步地,该滑动延时窗口以限制播放端请求速度的方法,包括:将该延时窗口向后滑动一个单位时间,且将该计数器置零。
进一步地,在初始化延时窗口之前,还包括:服务器以单位时间间隔为依据对直播资源进行切片,并且对该切片进行编号,该资源片段为直播资源的切片。
进一步地,该服务器以单位时间间隔为依据对直播资源进行切片,并且对该切片进行编号,包括:该切片编号是以该资源切片的时间戳为依据进行编号。
进一步地,该初始化延时窗口包括:获取延迟参数,根据延迟参数定义延时窗口大小,且根据延时窗口大小从服务端中获取目标流媒体资源的起始编号及最新编号,并且定时维护延时窗口。
本发明另一方面提供了一种流媒体直播系统,系统包括如下:
资源请求单元,该资源请求单元用于根据初始化后的该延时窗口,请求延时窗口范围内资源片段;判断单元,该判断单元用于判断该延时窗口资源片段的首次请求结果是否成功;失败次数累计单元,该失败次数累计单元用于累计首次请求该延时窗口资源片段连续失败的次数,若该失败次数达到预设阀值时,滑动延时窗口以限制播放端请求速度。
进一步地,该判断单元还包括:用于累计首次请求连续失败次数的计数器;状态码获取单元,该状态码获取单元用于获取该延时窗口资源片段首次请求的响应状态码;状态码识别处理单元,该状态码识别单元用于通过该资源片段首次请求的响应状态码来识别该资源片段的请求是否成功。若该响应状态码表示请求失败,则该计数器值加1,继续请求该延时窗口范围内的资源片段以累计首次请求该延时窗口资源片段连续失败的次数,当该计数器值达到预设阀值,则向后滑动该延时窗口以限制播放端请求速度;若该响应状态码表示请求成功,则将该计数器置零。
进一步地,还包括延迟处理单元,该延迟处理单元用于当该计数器值达到预设阀值时,将该延时窗口向后滑动一个单位时间,且将该计数器置零。
进一步地,还包括切片单元,该切片单元设置在服务端,用于以单位时间间隔为依据对流媒体资源进行切片。
进一步地,还包括切片编号单元,该切片编号单元用于对该资源切片以该资源切片的时间戳为依据进行编号。
进一步地,还包括延时窗口初始化单元,延时窗口初始化单元用于初始化延时窗口;其中,获取延迟参数,依据延迟参数定义延时窗口大小,且根据延时窗口大小从服务端中获取目标流媒体资源的起始编号及最新编号,并且定时维护延时窗口。
本发明的另一方面提供了一种流媒体直播装置,包括资源请求单元、判断单元和失败次数累计单元;其中,资源请求单元用于根据初始化后的延时窗口,请求延时窗口范围内资源片段;判断单元用于判断延时窗口资源片段的首次请求结果是否成功;失败次数累计单元用于累计首次请求延时窗口资源片段连续失败的次数,若连续失败的次数达到预设阀值时,滑动延时窗口以限制播放端请求速度。
由上可见,本发明提供的技术方案,在初始化延时窗口后,通过探测请求延时窗口范围内的资源切片的响应状态码,识别该响应状态码,且对首次请求连续失败次数通过对应的失败响应状态码累计,当达到预设阀值时,系统判断为资源下载延迟,从而滑动延时窗口,以限制播放端的请求速度,从而避免播放端向服务器频繁请求却得不到成功响应而导致播放卡顿的情况。这就提高了用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一服务端流媒体资源切片及编号的方法流程图;
图2是本发明实施例一中流媒体直播方法流程图;
图3是本发明实施例一种步骤S205的子步骤流程图;
图4是本发明实施例一种步骤S206的子步骤流程图;
图5是本发明实施例二中流媒体直播系统功能模块图;
图6是本发明实施例三中流媒体直播装置功能模块图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明提供一种流媒体直播方法,请参阅图1,图1表示服务端流媒体资源切片及编号的方法流程图,包括如下步骤:
S101,服务端通过推流或拉流下载目标流媒体资源。
S103,服务端对目标流媒体资源按照一定规则进行切片;从而使得流媒体资源片段以资源切片的形式存在。
具体而言,例如,可以按照单位时间为间隔进行切片;这里说的单位时间为间隔是指流媒体资源片段时间戳的间隔。
S105,所述服务端对每个资源切片进行编号。
具体而言,对资源切片进行编号的目的是为了区分和识别不同时间戳的资源切片,因此为了使系统读取该编号的资源切片时,能够识别出该资源切片对应的时间戳,优选地,可以以资源切片的时间戳为依据对资源切片进行编号。例如,可以从0开始,或以某个值为起始编号,然后以单位时间为间隔递增作为下一个资源切片的编号;这就使得该资源切片的编号正好为该资源切片的时间戳。此外,还可以用自然数对该资源切片进行编号,为了使资源切片编号与对应资源切片的时间戳关联,可以建立该资源切片编号及对应资源切片时间戳的关系式或映射表,通过换算或查表的方式读取该资源切片编号对应的资源切片的时间戳。
图2表示本实施例中流媒体直播方法的工作流程图,其直播方法具体步骤如下:
S201,初始化延时窗口;
具体而言,设置在播放端的播放器获取延迟参数,并根据延迟参数设置延时窗口大小。
S202,根据所述延时窗口,从服务器获取S201中定义的延时窗口范围内的起始编号以及最新编号。
具体而言,播放端在启动时,根据延迟参数初始化延时窗口,即播放端从服务端获取流媒体资源的起始编号以及最新编号。这里所说的起始编号为流媒体资源的起始播放位置切片的编号。而最新编号为从起始编号位置起算,间隔延迟参数的资源切片的编号。
S203,播放端定时维护针对同一流媒体请求的延时窗口。
具体而言,由于延时窗口用来约束播放端可以向服务端获取的资源切片范围;因此随着播放端以时间顺序播放了已请求到的资源切片,势必要不断请求延时窗口中未播放的资源切片,这就使得系统通过推进延时窗口向前滑动,即同步递增起始编号及最新编号,以使得播放端能从该延时窗口中不断地获得未请求的资源编号。优选的,系统可以设置定时器,定时启动延时窗口范围内起始编号和最新编号同步递增单位时间的操作。
S204,根据该延时窗口,请求延时窗口范围内资源切片。
具体而言,播放端依据延时窗口定义的起始编号及最新编号,排除已请求成功的资源切片记录,从延时窗口中获得下一个未请求成功资源切片的编号,并以该未请求成功资源切片的编号向服务端请求资源切片。
请参考图3,S205,播放端判断延时窗口范围内资源切片的首次请求结果是否成功;
具体而言,播放端判断延时窗口范围内资源切片的首次请求结果是否成功的步骤包括:
S2051,在播放端设置用于累计请求连续失败次数的计数器;
S2053,获取所述延时窗口资源切片首次请求的响应状态码;
S2055,通过该资源切片首次请求的响应状态码来识别该资源切片的请求是否成功。
具体而言,假如该资源切片首次请求的响应状态码为200,则认为该资源切片的首次请求成功。而假如该资源切片的首次请求的响应状态码为404,则认为该资源切片的首次请求失败。当然,除了404状态码,还可能出现其他表示请求失败的响应状态码,例如当请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体时响应的状态码406;或者当服务器拒绝处理当前请求时响应的状态码为413等等。
请参考图4,S206,累计首次请求所述延时窗口资源片段连续失败的次数。
具体而言,累计首次请求所述延时窗口资源片段连续失败次数的具体步骤包括如下:
S2061,若所述响应状态码表示请求失败,则所述计数器值加1;
具体而言,根据S2055中所说的通过所述该资源片段首次请求的响应状态码来识别该资源片段的首次请求是否成功;若所述响应状态码表示请求失败,则S2051中设置的计数器值加1;
S2063,并且播放端继续请求所述延时窗口范围内的资源切片以累计首次请求所述延时窗口资源片段连续失败的次数,当所述计数器值达到预设阀值,则向后滑动所述延时窗口以限制播放端请求速度;
具体而言,包括步骤如下:
步骤1,播放端继续请求所述延时窗口范围内的资源切片,该资源切片可以
为首次请求失败的资源切片或尚未被请求的资源切片。
步骤2,若下一个尚未被请求的资源切片首次请求的响应状态码依然是表示
请求失败,则S2051中设置的计数器值再加1。
步骤3,判断S2051中设置的计数器值是否达到预设阀值,这里所说的预设
阀值是根据以往播放经验设置的丢帧容忍值。如果S2051中设置的计数器
值达到了预设阀值,则播放端则可以认为此时播放环境出现延迟现象,即
服务端无法及时响应播放端的内容请求。若S2051中设置的计数器值尚未
达到预设阀值,则循环执行步骤1到步骤3。
S2065,若所述响应状态码表示请求成功,则将S2051中设置的计数器值置零。
S207,滑动延时窗口以限制播放端请求速度的步骤包括:
首先,将所述延时窗口向后滑动一个单位时间。
具体而言,当播放端每次识别出播放环境出现延迟的情况时,将当前的延
时窗口中的起始编号和最新编号同时递减单位时间。
然后,将S2051中设置的计数器值置零。
S208,播放端等待延时窗口的定时维护和调整结果,继续根据延时窗口向服务端请求资源切片。
实施例二
本发明还提供一种流媒体直播系统,请参阅图5,图5是本发明实施例二中流媒体直播系统功能模块图。
该流媒体直播系统包括播放端和服务端,该流媒体直播系统还包括以下单元:
切片单元301,该切片单元301设置在服务端,用于以单位时间间隔为依据对流媒体资源进行切片。
切片编号单元302,该切片编号单元302设置在服务端,该切片编号单元302用于对该资源切片以该资源切片的时间戳为依据进行编号。
具体而言,切片编号单元302以资源切片的时间戳为依据对资源切片进行编号。例如,可以从0开始,也可以以某个值为起始编号,然后以单位时间为间隔递增作为下一个资源切片的编号;这就使得该资源切片的编号正好为该资源切片的时间戳。此外,还可以用自然数对该资源切片进行编号,为了使资源切片编号与对应资源切片的时间戳关联,可以建立该资源切片编号及对应资源切片时间戳的关系式或映射表,通过换算或查表的方式读取该资源切片编号对应的资源切片的时间戳。
延时窗口初始化单元303,该延时窗口初始化单元303设置在播放端。该延时窗口初始化单元303根据播放业务的需求获得延迟参数,并根据延迟参数设置延时窗口大小。播放端在启动时,根据延迟参数初始化延时窗口,即播放端从服务端获取流媒体资源的起始编号以及最新编号。这里所说的起始编号为流媒体资源的起始播放位置切片对应的编号。而最新编号为从起始编号位置起算,间隔延迟参数的资源切片的编号。
延时窗口维护单元304,该延时窗口维护单元304用于播放端定时维护针对同一流媒体请求的延时窗口。从而使得系统通过推进延时窗口向前滑动,即同步递增起始编号及最新编号,以使得播放端能从该延时窗口中不断地获得未请求的资源编号。优选的,该系统可以设置定时器,定时启动延时窗口向前滑动单位时间,即延时窗口范围内起始编号和最新编号同步增加单位时间的操作。
资源请求单元305,该资源请求单元305用于根据初始化后的该延时窗口,向服务端请求延时窗口范围内资源切片
具体而言,播放端依据延时窗口定义的起始编号及最新编号,排除已请求成功的资源切片记录,从延时窗口中获得下一个未请求成功资源切片的编号,并以该未请求成功资源切片的编号向服务端请求资源切片。
判断单元306,该判断单元306用于判断该延时窗口资源切片的首次请求结果是否成功。
该判断单元306还包括用于累计首次请求连续失败次数的计数器,以及状态码获取单元,该状态码获取单元用于获取该延时窗口资源切片首次请求的响应状态码。以及状态码识别处理单元,该状态码识别单元用于通过该资源切片首次请求的响应状态码来识别该资源切片的请求是否成功。
失败次数累计单元307,该失败次数累计单元307用于累计连续请求该延时窗口资源切片失败次数。
具体而言,若该响应状态码表示请求失败,则该计数器值加1;继续请求该延时窗口范围内的资源切片以累计首次请求该延时窗口资源切片连续失败的次数。
此外,若该响应状态码表示请求成功,则将该计数器置零。
延迟处理单元308,该延迟处理单元308用于当该计数器值达到预设阀值时,将该延时窗口向后滑动一个单位时间,且将该计数器置零。
具体而言,当播放端每次识别出播放环境出现延迟的情况时,将当前的延
时窗口中的起始编号和最新编号同时递减单位时间。
实施例三
参见图6,本发明实施例提供了一种流媒体直播装置,包括资源请求单元401、判断单元402和失败次数累计单元403。其中,资源请求单元401用于根据初始化后的延时窗口,请求延时窗口范围内资源片段;判断单元402用于判断延时窗口资源片段的首次请求结果是否成功;失败次数累计单元403用于累计首次请求延时窗口资源片段连续失败的次数,若连续失败的次数达到预设阀值时,滑动延时窗口以限制播放端请求速度。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
综上所述,本发明提供的技术方案,在初始化延时窗口后,通过探测请求延时窗口范围内的资源切片的响应状态码,识别该响应状态码,且对首次请求连续失败次数通过对应的失败响应状态码累计,当达到预设阀值时,系统判断为资源下载延迟,从而向后滑动延时窗口,以限制播放端的请求速度。从而避免播放端向服务器频繁请求却得不到成功响应而导致播放卡顿的情况。此外系统定时维护延时窗口向前滑动,这就确保了播放端请求编号的更新速度,从而避免播放端出现卡顿,因此提高了用户的视听体验。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对装置的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所描述的系统实施例仅仅是示意性的,其中该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分该的方法。
以上该仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种流媒体播放方法,其特征在于,
初始化延时窗口;
根据所述延时窗口,请求延时窗口范围内的资源片段;
判断所述延时窗口范围内资源片段的首次请求结果是否成功;
累计首次请求所述延时窗口范围内资源片段连续失败的次数,若所述失败次数达到预设阀值时,滑动延时窗口以限制播放端请求速度。
2.根据权利要求1所述流媒体播放方法,其特征在于,判断所述延时窗口资源片段的首次请求是否成功,包括:
设置用于累计请求连续失败次数的计数器;
获取所述延时窗口资源片段首次请求的响应状态码;
通过所述该资源片段首次请求的响应状态码来识别该资源片段的请求是否成功。
3.根据权利要求2所述的流媒体播放方法,其特征在于,所述累计首次请求所述延时窗口资源片段连续失败的次数,若所述失败次数达到预设阀值时,滑动延时窗口以限制播放端请求速度,包括:
通过所述该资源片段首次请求的响应状态码来识别该资源片段的请求是否成功;
若所述响应状态码表示请求失败,则所述计数器值加1;
继续请求所述延时窗口范围内的资源片段以累计首次请求所述延时窗口资源片段连续失败的次数,当所述计数器值达到预设阀值,则向后滑动所述延时窗口以限制播放端请求速度;
若所述响应状态码表示请求成功,则将所述计数器置零。
4.根据权利要求3所述的流媒体播放方法,其特征在于,所述滑动延时窗口以限制播放端请求速度,包括:
将所述延时窗口向后滑动一个单位时间;
且将所述计数器置零。
5.根据权利要求1至4所述的流媒体播放方法,其特征在于,在初始化延时窗口之前,还包括:
服务器以单位时间间隔为依据对流媒体资源进行切片,并且对所述切片进行编号;所述资源片段为流媒体资源的切片。
6.根据权利要求5所述的流媒体播放方法,其特征在于,所述服务器以单位时间间隔为依据对目标流媒体资源进行切片,并且对所述切片进行编号,包括:
所述切片编号是以所述资源切片的时间戳为依据进行编号。
7.根据权利要求5所述的流媒体播放方法,其特征在于,所述初始化延时窗口包括:
获取延迟参数,依据所述延迟参数定义所述延时窗口大小,且根据所述延时窗口大小从服务端中获取所述目标流媒体资源的起始编号及最新编号,并且定时维护所述延时窗口。
8.一种流媒体直播系统,设有播放端和服务端,其特征在于,还包括:资源请求单元、判断单元和失败次数累计单元,所述资源请求单元、判断单元和失败次数累计单元设置在播放端;其中,
资源请求单元,所述资源请求单元用于根据初始化后的所述延时窗口,请求延时窗口范围内资源片段;
判断单元,所述判断单元用于判断所述延时窗口资源片段的首次请求结果是否成功;
失败次数累计单元,所述失败次数累计单元用于累计首次请求所述延时窗口资源片段连续失败的次数,若所述连续失败的次数达到预设阀值时,滑动延时窗口以限制播放端请求速度。
9.根据权利要求8所述的流媒体直播系统,其特征在于,所述判断单元还包括用于累计首次请求连续失败次数的计数器,以及
状态码获取单元,所述状态码获取单元用于获取所述延时窗口资源片段首次请求的响应状态码;
状态码识别处理单元,所述状态码识别单元用于通过所述该资源片段首次请求的响应状态码来识别该资源片段的请求是否成功:
若所述响应状态码表示请求失败,则所述计数器值加1;
继续请求所述延时窗口范围内的资源片段以累计首次请求所述延时窗口资源片段连续失败的次数,当所述计数器值达到预设阀值,则向后滑动所述延时窗口以限制播放端请求速度;
若所述响应状态码表示请求成功,则将所述计数器置零。
10.根据权利要求9所述的流媒体直播系统,其特征在于,
还包括延迟处理单元,所述延迟处理单元用于当所述计数器值达到预设阀值时,将所述延时窗口向后滑动一个单位时间,且将所述计数器置零。
11.根据权利要求8所述的流媒体直播系统,其特征在于,该系统还包括延时窗口初始化单元,所述延时窗口初始化单元用于初始化延时窗口;其中,
获取延迟参数,依据所述延迟参数定义所述延时窗口大小,且根据所述延时窗口大小从服务端中获取所述目标流媒体资源的起始编号及最新编号,并且定时维护所述延时窗口。
12.根据权利要求8所述的流媒体直播系统,其特征在于,还包括切片单元,所述切片单元设置在服务端,用于以单位时间间隔为依据对目标流媒体资源进行切片。
13.根据权利要求12所述的流媒体直播系统,其特征在于:还包括切片编号单元,所述切片单元设置在服务端,所述切片编号单元用于对所述资源切片以所述资源切片的时间戳为依据进行编号。
14.一种流媒体直播装置,其特征在于,包括资源请求单元、判断单元和失败次数累计单元;其中,
所述资源请求单元用于根据初始化后的所述延时窗口,请求延时窗口范围内资源片段;
所述判断单元用于判断所述延时窗口资源片段的首次请求结果是否成功;
所述失败次数累计单元用于累计首次请求所述延时窗口资源片段连续失败的次数,若所述连续失败的次数达到预设阀值时,滑动延时窗口以限制播放端请求速度。
CN201710469462.1A 2017-06-19 2017-06-19 流媒体直播方法、系统及装置 Pending CN107302533A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710469462.1A CN107302533A (zh) 2017-06-19 2017-06-19 流媒体直播方法、系统及装置
PCT/CN2017/092834 WO2018232800A1 (zh) 2017-06-19 2017-07-13 流媒体直播方法、系统及装置
US15/574,717 US20180367585A1 (en) 2017-06-19 2017-07-13 Method, apparatus, and system for live streaming
EP17844610.0A EP3447991B1 (en) 2017-06-19 2017-07-13 Streaming media live broadcast method, system, and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710469462.1A CN107302533A (zh) 2017-06-19 2017-06-19 流媒体直播方法、系统及装置

Publications (1)

Publication Number Publication Date
CN107302533A true CN107302533A (zh) 2017-10-27

Family

ID=60136326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710469462.1A Pending CN107302533A (zh) 2017-06-19 2017-06-19 流媒体直播方法、系统及装置

Country Status (3)

Country Link
EP (1) EP3447991B1 (zh)
CN (1) CN107302533A (zh)
WO (1) WO2018232800A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109068147A (zh) * 2018-09-18 2018-12-21 腾讯科技(深圳)有限公司 一种多媒体数据传输方法、装置以及相关设备
CN109819310A (zh) * 2019-01-25 2019-05-28 青岛海信传媒网络技术有限公司 一种流媒体数据播放方法及装置
CN110971916A (zh) * 2018-09-28 2020-04-07 武汉斗鱼网络科技有限公司 一种直播流畅度监控方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114268677A (zh) * 2021-12-28 2022-04-01 厦门安胜网络科技有限公司 一种基于弱网络环境下的数据传输方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1848162A1 (en) * 2006-04-19 2007-10-24 Siemens S.p.A. Method to reduce the transmission latency in GSM/EDGE delay-sensitive applications
CN102088396A (zh) * 2009-12-02 2011-06-08 腾讯科技(深圳)有限公司 数据传输控制方法和装置
CN102364439A (zh) * 2011-10-19 2012-02-29 广东威创视讯科技股份有限公司 分布式处理系统的窗口快速移动方法及装置
CN103428240A (zh) * 2012-05-18 2013-12-04 深圳市腾讯计算机系统有限公司 数据传输方法和数据传输终端
CN105991469A (zh) * 2015-02-06 2016-10-05 上海交通大学 一种异构网络传输下的动态时间窗口及缓存机制

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1319316C (zh) * 2004-04-19 2007-05-30 华为技术有限公司 无线链路数据传输中接收端发送窗口大小调整信息的方法
US8094557B2 (en) * 2008-07-09 2012-01-10 International Business Machines Corporation Adaptive fast retransmit threshold to make TCP robust to non-congestion events
CN101841691B (zh) * 2010-03-04 2011-11-16 中国科学院计算技术研究所 一种流媒体数据交换方法与装置
US8699339B2 (en) * 2012-02-17 2014-04-15 Apple Inc. Reducing interarrival delays in network traffic

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1848162A1 (en) * 2006-04-19 2007-10-24 Siemens S.p.A. Method to reduce the transmission latency in GSM/EDGE delay-sensitive applications
CN102088396A (zh) * 2009-12-02 2011-06-08 腾讯科技(深圳)有限公司 数据传输控制方法和装置
CN102364439A (zh) * 2011-10-19 2012-02-29 广东威创视讯科技股份有限公司 分布式处理系统的窗口快速移动方法及装置
CN103428240A (zh) * 2012-05-18 2013-12-04 深圳市腾讯计算机系统有限公司 数据传输方法和数据传输终端
CN105991469A (zh) * 2015-02-06 2016-10-05 上海交通大学 一种异构网络传输下的动态时间窗口及缓存机制

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FABIO PIANESE: "PULSE: An Adaptive, Incentive-Based, Unstructured P2P Live Streaming System", 《IEEE TRANSACTIONS ON MULTIMEDIA》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109068147A (zh) * 2018-09-18 2018-12-21 腾讯科技(深圳)有限公司 一种多媒体数据传输方法、装置以及相关设备
CN110971916A (zh) * 2018-09-28 2020-04-07 武汉斗鱼网络科技有限公司 一种直播流畅度监控方法及系统
CN110971916B (zh) * 2018-09-28 2022-02-08 武汉斗鱼网络科技有限公司 一种直播流畅度监控方法及系统
CN109819310A (zh) * 2019-01-25 2019-05-28 青岛海信传媒网络技术有限公司 一种流媒体数据播放方法及装置
CN109819310B (zh) * 2019-01-25 2021-07-27 青岛海信传媒网络技术有限公司 一种流媒体数据播放方法及装置

Also Published As

Publication number Publication date
EP3447991A1 (en) 2019-02-27
EP3447991B1 (en) 2020-01-22
EP3447991A4 (en) 2019-02-27
WO2018232800A1 (zh) 2018-12-27

Similar Documents

Publication Publication Date Title
CN107302533A (zh) 流媒体直播方法、系统及装置
US9278288B2 (en) Automatic generation of a game replay video
KR101422527B1 (ko) 데이터 하이라이팅 및 추출
CN104602102B (zh) 视频截取内容的传输响应方法、装置、服务器和系统
US20140031960A1 (en) System and method for presenting advertisements in association with media streams
CN105187950B (zh) 一种视频文件播放的方法、设备和系统
CN111010587A (zh) 直播控制方法、装置及系统
US20120233254A1 (en) Communication system and communication method
KR20180098323A (ko) 미디어 정보 디스플레이 방법, 서버 및 데이터 저장 매체
CN107454454A (zh) 信息显示方法及装置
CN110196805B (zh) 数据处理方法、装置、存储介质和电子装置
CN112785333B (zh) 广告投放方法、电子设备、存储介质及装置
CN110169075B (zh) 在直播中智能插入次要内容
US20230336829A1 (en) Rating Video-Download Quality
CN109005423A (zh) 一种视频播放方法及装置
US20160379510A1 (en) System and method for adjusting the difficulty of a computer-implemented quiz
US9348903B2 (en) Methods, devices and computer readable mediums for a music recognition game
CN109299325A (zh) 一种基于用户兴趣的电影推荐方法及其装置
CN105025369B (zh) 一种确定组合频道中推荐资源的方法及装置
CN110139160B (zh) 一种预测系统及方法
KR102328287B1 (ko) 서버 장치, 및 그것에 사용되는 컴퓨터 프로그램
KR101996034B1 (ko) 게임 프로그램의 친구 추천 방법 및 서버
US10225595B2 (en) Incentivizing insertion forecast validation in intelligent insertion of secondary content in live streaming
US10681411B2 (en) Individualized dynamic insertion of secondary content in live streaming
EP3607723B1 (en) Systems and methods for improving accuracy of device maps using media viewing data

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171027

RJ01 Rejection of invention patent application after publication