CN107071529A - 一种hls视频播放方法、终端及服务器 - Google Patents
一种hls视频播放方法、终端及服务器 Download PDFInfo
- Publication number
- CN107071529A CN107071529A CN201710199102.4A CN201710199102A CN107071529A CN 107071529 A CN107071529 A CN 107071529A CN 201710199102 A CN201710199102 A CN 201710199102A CN 107071529 A CN107071529 A CN 107071529A
- Authority
- CN
- China
- Prior art keywords
- video
- code check
- network bandwidth
- sequence number
- video segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- 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
Abstract
本发明公开了一种HLS视频播放方法,所述方法包括:通过第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态;根据所述网络带宽状态向服务器发送调节码率请求;接收服务器响应所述调节码率请求所反馈的新码率视频切片。本发明还公开了一种HLS视频播放终端及服务器。采用本发明提供的HLS视频播放方法、终端及服务器,在自动码率调节时避免了网络抖动导致的码率频繁切换。
Description
技术领域
本发明涉及通信和信息传播技术领域,尤其涉及一种HLS视频播放方法、终端及服务器。
背景技术
实时流传输(HLS,HTTP Live Streaming)是苹果公司制定的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播服务,目前已经广泛应用到众多提供视频流服务的领域。
相对于RTMP协议、RTSP协议、MMS协议等常见的流媒体直播协议,HLS直播协议最大的不同为直播终端获取到的不是一个完整的数据流。HLS协议在服务器端将直播数据流存储为连续的、很短时长的MPEG-TS格式的媒体文件,终端持续按顺序播放从服务器获取到的这些分段媒体文件,就实现了直播。其中,服务器端和终端的交互示意图如图1所示。由此可以认为,HLS是以点播的技术方式来实现直播。由于HLS直播数据通过HTTP协议传输,所以完全不用考虑防火墙或者代理的问题,同时,这些分段文件的时长很短,终端可以快速地选择和切换码率,以适应不同带宽条件下的播放。
终端选择或切换码率时,可以由用户自行选择码率,也可以通过HTTP下载传输流(TS)视频切片速度来近似估算当前网络带宽值后根据网络宽带值选择;根据网络宽带值选择时,网速出现抖动时会出现码率频繁切换的情况。
发明内容
为解决上述技术问题,本发明实施例提供一种HLS视频播放方法、终端及服务器,以在自动码率调节时避免网络抖动导致的码率频繁切换。
本发明实施例的技术方案是这样实现的:
本发明实施例提供的一种HLS视频播放方法,包括:
通过第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态;
根据所述网络带宽状态向服务器发送调节码率请求;
接收服务器响应所述调节码率请求所反馈的新码率视频切片。
上述方案中,所述新码率视频切片由所述服务器获取第一时间间隔内的终端对所述视频切片的平均下载速度,根据所述平均下载速度确定新码率后得到,其中,所述第一时间间隔小于所述第一统计周期。
上述方案中,所述第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态,包括:
在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递增时,所述网络带宽状态为网络带宽充足;
在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递减时,所述网络带宽状态为网络带宽不足;其中,所述第一统计周期内包含多个第二时间间隔。
上述方案中,所述接收服务器响应所述调节码率请求所反馈的新码率视频切片,包括:
根据当前播放的视频切片的第一序列号和当前下载的视频切片的第二序列号的关系确定需下载的下一个视频切片的第三序列号;
从所述服务器下载序列号为所述第三序列号的视频切片,并清除缓冲区中序列号大于等于所述第三序列号的视频切片。
上述方案中,所述根据所述网络带宽状态向服务器发送调节码率请求,包括:
在网络带宽充足时,发出向上调节码率请求;在网络带宽不足时,发出向下调节码率请求。
上述方案中,所述根据当前播放的视频切片的第一序列号和当前下载的视频切片的第二序列号的关系确定需下载的下一个视频切片的第三序列号,包括:
所述第一序列号大于所述第二序列号时,确定所述第三序列号等于所述第一序列号加一;
所述第一序列号小于所述第二序列号时,确定所述第三序列号等于所述第一序列号加二。
上述方案中,所述对缓冲区视频时长进行采样,包括:获取所述缓冲区中视频切片的数量,根据所述缓冲区中视频切片的数量对所述缓冲区视频时长进行采样。
本发明实施例提供的另一种HLS视频播放方法,包括:
接收所述调节码率请求;所述调节码率请求由终端通过第一统计周期内多次对缓冲区视频时长进行采样获取的网络带宽状态后,根据所述网络带宽状态发出;
获取第一时间间隔内的所述终端对所述视频切片的平均下载速度,并根据所述平均下载速度确定新码率,得到新码率视频切片;其中,所述第一时间间隔小于所述第一统计周期;
将所述新码率视频切片向所述终端发送。
上述方案中,所述方法还包括:设定不同码率的相同序列号的视频切片内容相同;设定每个所述视频切片均以关键帧开始。
本发明实施例提供的HLS视频播放终端,包括:
获取单元,用于通过第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态;
第一发送单元,用于根据所述网络带宽状态向服务器发送调节码率请求;
第一接收单元,用于接收服务器响应所述调节码率请求所反馈的新码率视频切片。
上述方案中,所述新码率视频切片由所述服务器获取第一时间间隔内的所述终端对所述视频切片的平均下载速度,根据所述平均下载速度确定新码率后得到;其中,所述第一时间间隔小于所述第一统计周期。
上述方案中,所述获取单元,还用于:
在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递增时,所述网络带宽状态为网络带宽充足;
在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递减时,所述网络带宽状态为网络带宽不足;其中,所述第一统计周期内包含多个第二时间间隔。
上述方案中,所述第一接收单元,还用于:
根据当前播放的视频切片的第一序列号和当前下载的视频切片的第二序列号的关系确定需下载的下一个视频切片的第三序列号;
从所述服务器下载序列号为所述第三序列号的视频切片,并清除缓冲区中序列号大于等于所述第三序列号的视频切片。
上述方案中,所述第一发送单元,还用于:
在网络带宽充足时,发出向上调节码率请求;在网络带宽不足时,发出向下调节码率请求。
上述方案中,所述第一接收单元,还用于:
在所述第一序列号大于所述第二序列号时,确定所述第三序列号等于所述第一序列号加一;
在所述第一序列号小于所述第二序列号时,确定所述第三序列号等于所述第一序列号加二。
上述方案中,所述获取单元,还用于:获取所述缓冲区中视频切片的数量,根据所述缓冲区中视频切片的数量对所述缓冲区视频时长进行采样。
本发明实施例提供的HLS视频播放服务器,包括:
第二接收单元,用于接收所述调节码率请求;所述调节码率请求由终端通过第一统计周期内多次对缓冲区视频时长进行采样获取的网络带宽状态后,根据所述网络带宽状态发出;
确定单元,用于获取第一时间间隔内的所述终端对所述视频切片的平均下载速度,并根据所述平均下载速度确定新码率,得到新码率视频切片;其中,所述第一时间间隔小于所述第一统计周期;
第二发送单元,用于将所述新码率视频切片向所述终端发送。
上述方案中,所述服务器还包括设定单元,用于设定不同码率的相同序列号的视频切片内容相同;设定每个所述视频切片均以关键帧开始。
本发明实施例所提供的HLS视频播放方法、终端及服务器,第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态,并根据所述网络带宽状态向服务器发送调节码率请求;接收服务器响应所述调节码率请求所反馈的新码率视频切片。该技术方案以多次采样的方式获取网络带宽状态以根据网络带宽状态进行自动码率调节,相比较现有技术,在自动码率调节时避免了网络抖动导致的码率频繁切换。
附图说明
图1为服务器端和终端间交互的示意图;
图2为本发明实施例中HLS视频播放方法的实现流程图;
图3为本发明实施例中HLS视频播放终端的组成结构示意图;
图4为本发明实施例中HLS视频播放服务器的组成结构示意图。
具体实施方式
为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
图2为本发明实施例HLS视频播放方法的实现流程图,如图2所示,本发明实施例提供的HLS视频播放方法,包括:
步骤201,通过第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态。
步骤202,根据网络带宽状态向服务器发送调节码率请求。
步骤203,接收服务器响应调节码率请求所反馈的新码率视频切片。
在本发明实施例中,在步骤201中获取的网络带宽状态作为步骤202中终端向服务器发送调节码率请求的依据。其中,在网络带宽充足时,发出向上调节码率请求;在网络带宽不足时,发出向下调节码率请求。
进行网络带宽获取时,终端第一统计周期内多次获取缓冲区中视频切片的数量,并根据缓冲区中视频切片的数量对缓冲区视频时长进行采样。例如,在第一统计周期内,终端以2s为时间间隔对缓冲区中视频切片时长进行多次采样。
具体来说,终端在缓冲区缓冲视频的同时,也会不停地播放视频,消耗缓冲区的视频时长;如果网络速度较快,则缓冲区视频时长的增速大于播放速度,缓冲区域的视频时长成递增态势,如果网络速度较慢,则缓冲区视频时长的增速小于播放速度,则缓冲区域的视频时长成递减态势。因此,可以在一个统计周期内通过判断多个视频时长采样点形成的曲线的状态来判断网络带宽状态:当采样点形成递增曲线认为网络带宽充足,反之当采样点形成递减曲线认为网络带宽不足。
由此,得出以下网络带宽状态判断条件:在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递增时,网络带宽状态为网络带宽充足;在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递减时,网络带宽状态为网络带宽不足其中,第一统计周期内包含多个第二时间间隔。
在本发明实施例中,第二时间间隔即两次视频时长采样之间的时间间隔,第二时间间隔和第一统计周期的大小可以根据需要设置,例如,可以取第二时间间隔为2s,第一统计周期为10s。此时,终端在10s内每隔2s对缓冲区内视频切片时长进行采样,在这10s内,如果缓冲区内视频切片时长递增,则认为网络带宽充足;如果缓冲区内视频切片时长递减,则认为网络带宽不足;缓冲区内视频切片时长不变或者波动时,不予判断。
延长采样周期可以更准确的对带宽变化趋势进行预测,但降低了码率切换的及时性,在实际应用中需要根据经验进行平衡选择。
采用以上方案,可以得到稳定变换的网络带宽状态,以该网络带宽状态为依据进行码率切换时,可以减少网络抖动造成的码率频繁切换的可能性。
服务器接收上述向上调节码率请求或向下调节码率请求后,服务器获取第一时间间隔内终端对视频切片的平均下载速度,根据平均下载速度确定新码率,得到新码率视频切片后将新码率视频切片向终端反馈;其中,第一时间间隔小于第一统计周期。
其中,该第一时间间隔可以设定为8s。在8s的时间间隔内,服务器多次获取终端对视频切片的下载速度,并根据多次获取的下载速度确定平均下载速度。服务器多次获取终端对视频切片的下载速度时,可以每隔固定的时间间隔获取依次终端对视频切片的下载速度。例如,服务器可以每隔2s获取一次终端对视频切片的下载速度,并根据8s内获取的4次下载速度确定8s内的平均下载速度。
在进行HLS视频播放时,服务器将获得的视频数据进行编码并压缩成不同固定码率的视频文件,之后根据用户请求将不同固定码率的视频流发送到不同的终端。当服务器接收到终端的调节码率请求时,服务器获取终端对视频切片的平均下载速度,根据该平均下载速度确定相应的固定码率,并将该相应的固定码率确定为新码率。
例如,该不同的固定码率由低至高为第一码率、第二码率、第三码率、第四码率时,如果服务器在将第三码率的视频流发送发到终端时,接收到该终端的向上调节码率请求,则判断平均下载速度是否大于第四码率值,并在平均下载速度大于等于第四码率值时,将第四码率确定为新码率,在平均下载速度小于第四码率值时,仍然将第三码率确定为新码率。
如果服务器在将第三码率的视频流发送发到终端时,接收到该终端的向下调节码率请求,则判断平均下载速度是否大于第二码率值,并在平均下载速度大于等于第二码率值时,将第二码率确定为新码率,在平均下载速度小于第二码率值时,将第一码率确定为新码率。
确定新码率后,服务器将使用新码率的新码率视频切片向终端发送。
为了实现无缝平缓的切换体验,服务器设定不同码率的相同序列号的视频切片内容相同,即不同码率的视频切片序列号是对齐;服务器还设定每个视频切片均以关键帧开始。满足上述两个条件,终端播放器切换码率后解码器可以正常解码,并且画面平滑过渡,提供给用户无缝切换的观感体验。
终端的播放器在下载视频切片时候会将音视频数据包存储到缓冲区队列中,在此过程中将视频切片的序列号和每个音视频数据包进行绑定,便于在缓冲队列中找到某个序列号对应到的音视频数据;
播放器解码时从缓冲区队列中取到原始音视频数据及对应的序列号,将解码后的数据和对应的序列号进行绑定。这样可以获取到当前播放画面的序列号。
终端接收新码率视频切片时,首先根据当前播放的视频切片的第一序列号和当前下载的视频切片的第二序列号的关系确定需下载的下一个视频切片的第三序列号;然后从服务器下载序列号为第三序列号的视频切片,并清除缓冲区中序列号大于等于第三序列号的视频切片。
其中,第三序列号的确定过称为:
第一序列号大于第二序列号时,确定第三序列号等于第一序列号加一;第一序列号小于第二序列号时,确定第三序列号等于第一序列号加二。
采用该方案,可以使切换过程不中断当前播放,给用户提供无缝平滑切换体验。
本发明实施例所提供的HLS视频播放方法,第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态,并根据网络带宽状态向服务器发送调节码率请求;接收服务器响应调节码率请求所反馈的新码率视频切片。该技术方案以多次采样的方式获取网络带宽状态以根据网络带宽状态进行自动码率调节,相比较现有技术,在自动码率调节时避免了网络抖动导致的码率频繁切换。
如图3所示,本发明实施例提供的HLS视频播放终端包括:
获取单元301,用于通过第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态;
第一发送单元302,用于根据网络带宽状态向服务器发送调节码率请求;
第一接收单元303,用于接收服务器响应调节码率请求所反馈的新码率视频切片。
其中,该新码率视频切片由服务器获取第一时间间隔内终端对视频切片的平均下载速度,并根据平均下载速度确定新码率后得到;其中,第一时间间隔小于第一统计周期。
在本发明实施例中,获取单元301获取的网络带宽状态作为第一发送单元302向服务器发送调节码率请求的依据。其中,在网络带宽充足时,发出向上调节码率请求;在网络带宽不足时,发出向下调节码率请求。
进行网络带宽获取时,获取单元301每隔第二时间间隔获取缓冲区中视频切片的数量,根据缓冲区中视频切片的数量对缓冲区视频时长进行采样;其中,第一统计周期内包含多个第二时间间隔。例如,取第二时间间隔为2s,即每隔2s终端对缓冲区中视频切片时长采样一次。
获取单元301在获取网络带宽状态时,在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递增时,网络带宽状态为网络带宽充足;在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递减时,网络带宽状态为网络带宽不足。
在本发明实施例中,第二时间间隔和第一统计周期的大小可以设置,例如,可以取第二时间间隔为2s,第一统计周期为10s。此时,获取单元301在10s内每隔2s对缓冲区内视频切片时长进行采样,如果缓冲区内视频切片时长递增,则认为网络带宽充足;如果缓冲区内视频切片时长递减,则认为网络带宽不足;缓冲区内视频切片时长不变或者波动时,不予判断。。
采用以上方案,可以得到稳定变换的网络带宽状态,以该网络带宽状态为依据进行码率切换时,可以减少网络抖动造成的码率频繁切换的可能性。
服务器接收上述向上调节码率请求或向下调节码率请求时,获取第一时间间隔内终端对视频切片的平均下载速度,并根据平均下载速度确定新码率;其中,第一时间间隔小于第一统计周期。
其中,该第一时间间隔可以设定为8s。在8s的时间间隔内,服务器多次获取终端对视频切片的下载速度,并根据多次获取的下载速度确定平均下载速度。服务器多次获取终端对视频切片的下载速度时,可以每隔固定的时间间隔获取依次终端对视频切片的下载速度。例如,服务器可以每隔2s获取一次终端对视频切片的下载速度,并根据8s内获取的5次下载速度确定8s内的平均下载速度。
在进行HLS视频播放时,服务器将获得的视频数据进行编码并压缩成不同固定码率的视频文件,之后根据用户请求将不同固定码率的视频流发送到不同的终端。当服务器接收到终端的调节码率请求时,服务器获取终端对视频切片的平均下载速度,根据该平均下载速度确定相应的固定码率,并将该相应的固定码率确定为新码率。
例如,该不同的固定码率由低至高为第一码率、第二码率、第三码率、第四码率时,如果服务器在将第三码率的视频流发送发到终端时,接收到该终端的向上调节码率请求,则判断平均下载速度是否大于第四码率值,并在平均下载速度大于等于第四码率值时,将第四码率确定为新码率,在平均下载速度小于第四码率值时,仍然将第三码率确定为新码率。
如果服务器在将第三码率的视频流发送发到终端时,接收到该终端的向下调节码率请求,则判断平均下载速度是否大于第二码率值,并在平均下载速度大于等于第二码率值时,将第二码率确定为新码率,在平均下载速度小于第二码率值时,将第一码率确定为新码率。
第一接收单元303接收新码率视频切片时,首先根据当前播放的视频切片的第一序列号和当前下载的视频切片的第二序列号的关系确定需下载的下一个视频切片的第三序列号;然后从服务器下载序列号为第三序列号的视频切片,并清除缓冲区中序列号大于等于第三序列号的视频切片。
其中,第三序列号的确定过称为:第一序列号大于第二序列号时,确定第三序列号等于第一序列号加一;第一序列号小于第二序列号时,确定第三序列号等于第一序列号加二。采用该方案,可以使切换过程不中断当前播放,给用户提供无缝平滑切换体验。
如图4所示,本发明实施例提供的服务器侧HLS视频播放服务器,包括:
第二接收单元401,用于接收调节码率请求;调节码率请求由终端通过第一统计周期内多次对缓冲区视频时长进行采样获取的网络带宽状态后,根据网络带宽状态发出。
确定单元402,用于获取第一时间间隔内终端对视频切片的平均下载速度,并根据平均下载速度确定新码率,得到新码率视频切片。
第二发送单元403,用于将新码率视频切片向终端发送。
第二接收单元401接收上述向上调节码率请求或向下调节码率请求后,确定单元402获取第一时间间隔内终端对视频切片的平均下载速度,并根据平均下载速度确定新码率;其中,第一时间间隔小于第一统计周期。
其中,该第一时间间隔可以设定为8s。在8s的时间间隔内,确定单元402多次获取终端对视频切片的下载速度,并根据多次获取的下载速度确定平均下载速度。确定单元402多次获取终端对视频切片的下载速度时,可以每隔固定的时间间隔获取依次终端对视频切片的下载速度。例如,确定单元402可以每隔2s获取一次终端对视频切片的下载速度,并根据8s内获取的5次下载速度确定8s内的平均下载速度。
在进行HLS视频播放时,服务器将获得的视频数据进行编码并压缩成不同固定码率的视频文件,之后根据用户请求将不同固定码率的视频流发送到不同的终端。当服务器的第二接收单元401接收到终端的调节码率请求时,确定单元402获取终端对视频切片的平均下载速度,根据该平均下载速度确定相应的固定码率,并将该相应的固定码率确定为新码率。
例如,该不同的固定码率由低至高为第一码率、第二码率、第三码率、第四码率时,如果服务器在将第三码率的视频流发送发到终端时,接收到该终端的向上调节码率请求,确定单元402判断平均下载速度是否大于第四码率值,并在平均下载速度大于等于第四码率值时,将第四码率确定为新码率,在平均下载速度小于第四码率值时,仍然将第三码率确定为新码率。
如果服务器在将第三码率的视频流发送发到终端时,接收到该终端的向下调节码率请求,确定单元402判断平均下载速度是否大于第二码率值,并在平均下载速度大于等于第二码率值时,将第二码率确定为新码率,在平均下载速度小于第二码率值时,将第一码率确定为新码率。
第二发送单元403将使用新码率的新码率视频切片向终端发送。
为了实现无缝平缓的切换体验,本发明实施例提供的服务器侧HLS视频播放服务器还包括设定单元404,用于设定不同码率的相同序列号的视频切片内容相同,即不同码率的视频切片序列号是对齐;设定单元还设定每个视频切片均以关键帧开始。满足上述两个条件,终端播放器切换码率后解码器可以正常解码,并且画面平滑过渡,提供给用户无缝切换的观感体验。
本发明实施例所提供的HLS视频播放终端及服务器,第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态,并根据网络带宽状态向服务器发送调节码率请求;接收服务器响应调节码率请求所反馈的新码率视频切片。该技术方案以多次采样的方式获取网络带宽状态以根据网络带宽状态进行自动码率调节,相比较现有技术,在自动码率调节时避免了网络抖动导致的码率频繁切换。
实际应用中,获取单元210、第一发送单元220、第一接收单元230、第二接收单元401、确定单元402、第二发送单元403以及设定单元404均可由位于HLS视频播放终端及服务器上的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (18)
1.一种HLS视频播放方法,其特征在于,所述方法包括:
通过第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态;
根据所述网络带宽状态向服务器发送调节码率请求;
接收所述服务器响应所述调节码率请求所反馈的新码率视频切片。
2.根据权利要求1所述的方法,其特征在于,所述新码率视频切片由所述服务器获取第一时间间隔内的终端对所述视频切片的平均下载速度,根据所述平均下载速度确定新码率后得到,其中,所述第一时间间隔小于所述第一统计周期。
3.根据权利要求1或2所述的方法,其特征在于,所述第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态,包括:
在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递增时,所述网络带宽状态为网络带宽充足;
在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递减时,所述网络带宽状态为网络带宽不足;其中,所述第一统计周期内包含多个第二时间间隔。
4.根据权利要求3所述的方法,其特征在于,所述接收服务器响应所述调节码率请求所反馈的新码率视频切片,包括:
根据当前播放的视频切片的第一序列号和当前下载的视频切片的第二序列号的关系确定需下载的下一个视频切片的第三序列号;
从所述服务器下载序列号为所述第三序列号的视频切片,并清除缓冲区中序列号大于等于所述第三序列号的视频切片。
5.根据权利要求3所述的方法,其特征在于,所述根据所述网络带宽状态向服务器发送调节码率请求,包括:
在网络带宽充足时,发出向上调节码率请求;在网络带宽不足时,发出向下调节码率请求。
6.根据权利要求4所述的方法,其特征在于,所述根据当前播放的视频切片的第一序列号和当前下载的视频切片的第二序列号的关系确定需下载的下一个视频切片的第三序列号,包括:
所述第一序列号大于所述第二序列号时,确定所述第三序列号等于所述第一序列号加一;
所述第一序列号小于所述第二序列号时,确定所述第三序列号等于所述第一序列号加二。
7.根据权利要求3所述的方法,其特征在于,所述对缓冲区视频时长进行采样,包括:获取所述缓冲区中视频切片的数量,根据所述缓冲区中视频切片的数量对所述缓冲区视频时长进行采样。
8.一种HLS视频播放方法,其特征在于,所述方法包括:
接收所述调节码率请求;所述调节码率请求由终端通过第一统计周期内多次对缓冲区视频时长进行采样获取的网络带宽状态后,根据所述网络带宽状态发出;
获取第一时间间隔内的所述终端对所述视频切片的平均下载速度,并根据所述平均下载速度确定新码率,得到新码率视频切片;其中,所述第一时间间隔小于所述第一统计周期;
将所述新码率视频切片向所述终端发送。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:设定不同码率的相同序列号的视频切片内容相同;设定每个所述视频切片均以关键帧开始。
10.一种HLS视频播放终端,其特征在于,所述终端包括:
获取单元,用于通过第一统计周期内多次对缓冲区视频时长进行采样获取网络带宽状态;
第一发送单元,用于根据所述网络带宽状态向服务器发送调节码率请求;
第一接收单元,用于接收所述服务器响应所述调节码率请求所反馈的新码率视频切片。
11.根据权利要求10所述的终端,其特征在于,所述新码率视频切片由所述服务器获取第一时间间隔内的所述终端对所述视频切片的平均下载速度,根据所述平均下载速度确定新码率后得到;其中,所述第一时间间隔小于所述第一统计周期。
12.根据权利要求10或11所述的终端,其特征在于,所述获取单元,还用于:
在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递增时,所述网络带宽状态为网络带宽充足;
在第一统计周期内,每隔第二时间间隔采样得到的缓冲区视频时长递减时,所述网络带宽状态为网络带宽不足;其中,所述第一统计周期内包含多个第二时间间隔。
13.根据权利要求12所述的终端,其特征在于,所述第一接收单元,还用于:
根据当前播放的视频切片的第一序列号和当前下载的视频切片的第二序列号的关系确定需下载的下一个视频切片的第三序列号;
从所述服务器下载序列号为所述第三序列号的视频切片,并清除缓冲区中序列号大于等于所述第三序列号的视频切片。
14.根据权利要求12所述的终端,其特征在于,所述第一发送单元,还用于:
在网络带宽充足时,发出向上调节码率请求;在网络带宽不足时,发出向下调节码率请求。
15.根据权利要求13所述的终端,其特征在于,所述第一接收单元,还用于:
在所述第一序列号大于所述第二序列号时,确定所述第三序列号等于所述第一序列号加一;
在所述第一序列号小于所述第二序列号时,确定所述第三序列号等于所述第一序列号加二。
16.根据权利要求12所述的终端,其特征在于,所述获取单元,还用于:获取所述缓冲区中视频切片的数量,根据所述缓冲区中视频切片的数量对所述缓冲区视频时长进行采样。
17.一种HLS视频播放服务器,其特征在于,所述服务器包括:
第二接收单元,用于接收所述调节码率请求;所述调节码率请求由终端通过第一统计周期内多次对缓冲区视频时长进行采样获取的网络带宽状态后,根据所述网络带宽状态发出;
确定单元,用于获取第一时间间隔内的所述终端对所述视频切片的平均下载速度,并根据所述平均下载速度确定新码率,得到新码率视频切片;其中,所述第一时间间隔小于所述第一统计周期;
第二发送单元,用于将所述新码率视频切片向所述终端发送。
18.根据权利要求17所述的服务器,其特征在于,所述服务器还包括设定单元,用于设定不同码率的相同序列号的视频切片内容相同;设定每个所述视频切片均以关键帧开始。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710199102.4A CN107071529B (zh) | 2017-03-29 | 2017-03-29 | 一种hls视频播放方法、终端及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710199102.4A CN107071529B (zh) | 2017-03-29 | 2017-03-29 | 一种hls视频播放方法、终端及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107071529A true CN107071529A (zh) | 2017-08-18 |
CN107071529B CN107071529B (zh) | 2018-10-26 |
Family
ID=59620892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710199102.4A Active CN107071529B (zh) | 2017-03-29 | 2017-03-29 | 一种hls视频播放方法、终端及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107071529B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769760A (zh) * | 2018-05-23 | 2018-11-06 | 中国联合网络通信集团有限公司 | 一种码率调整方法、ue、mec及网络系统 |
CN109982110A (zh) * | 2017-12-28 | 2019-07-05 | 华为技术有限公司 | 用于视频播放的方法和装置 |
CN110022498A (zh) * | 2018-01-08 | 2019-07-16 | 深圳市中兴微电子技术有限公司 | 一种实现码率切换的方法及装置 |
CN110087141A (zh) * | 2019-04-29 | 2019-08-02 | 北京金山云网络技术有限公司 | 视频数据传输方法、装置、客户端及服务器 |
CN110149560A (zh) * | 2019-06-05 | 2019-08-20 | 亦非云互联网技术(上海)有限公司 | 基于hls协议的播放器优化方法及系统、存储介质及终端 |
CN110149534A (zh) * | 2019-06-12 | 2019-08-20 | 深圳市大数据研究院 | 基于决策树的自适应视频流转码方法及装置 |
CN110198495A (zh) * | 2019-06-28 | 2019-09-03 | 广州市百果园信息技术有限公司 | 一种视频下载和播放的方法、装置、设备和存储介质 |
CN110267100A (zh) * | 2019-07-12 | 2019-09-20 | 北京达佳互联信息技术有限公司 | Flv视频的码率切换方法、装置、电子设备及存储介质 |
CN110536175A (zh) * | 2018-05-24 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 一种码率切换方法和装置 |
CN110611789A (zh) * | 2018-06-14 | 2019-12-24 | 杭州海康威视数字技术股份有限公司 | 视频流传输控制方法、装置、电子设备及存储介质 |
CN110798751A (zh) * | 2018-08-02 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 一种数据传输方法及设备 |
CN110933517A (zh) * | 2019-11-30 | 2020-03-27 | 咪咕视讯科技有限公司 | 码率切换方法、客户端和计算机可读存储介质 |
CN111757181A (zh) * | 2020-06-29 | 2020-10-09 | 海信电子科技(武汉)有限公司 | 一种减少网络媒体清晰度抖动的方法及显示设备 |
CN112162638A (zh) * | 2020-10-09 | 2021-01-01 | 咪咕视讯科技有限公司 | 一种虚拟现实vr观影中的信息处理方法及服务器 |
CN112383791A (zh) * | 2020-11-12 | 2021-02-19 | 咪咕视讯科技有限公司 | 一种媒体数据处理方法、装置、电子设备和存储介质 |
CN112911315A (zh) * | 2019-11-19 | 2021-06-04 | 中兴通讯股份有限公司 | 一种流媒体直播录制方法、网络设备及存储介质 |
WO2021258608A1 (zh) * | 2020-06-24 | 2021-12-30 | 北京达佳互联信息技术有限公司 | 带宽确定方法、装置、终端及存储介质 |
CN115396731A (zh) * | 2022-08-10 | 2022-11-25 | 北京势也网络技术有限公司 | 全景视频的播放方法、装置、电子设备及可读存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040156624A1 (en) * | 2003-02-10 | 2004-08-12 | Kent Larry G. | Video stream adaptive frame rate scheme |
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
CN102761741A (zh) * | 2012-06-26 | 2012-10-31 | 中国科学技术大学 | 基于编解码端缓存的视频编码码率控制系统和方法 |
CN102932670A (zh) * | 2012-11-29 | 2013-02-13 | 百视通网络电视技术发展有限责任公司 | 一种流媒体切片方法及系统 |
US20130219446A1 (en) * | 2010-08-13 | 2013-08-22 | Simon Fraser University | System and method for multiplexing of variable bit-rate video streams in mobile video systems |
CN103561283A (zh) * | 2013-10-30 | 2014-02-05 | 乐视致新电子科技(天津)有限公司 | 一种智能电视的码率切换方法及装置 |
CN103702237A (zh) * | 2012-09-28 | 2014-04-02 | 北京大学 | Http流媒体的速率自适方法及装置 |
CN104967884A (zh) * | 2015-04-17 | 2015-10-07 | 北京奇艺世纪科技有限公司 | 一种码流切换方法和装置 |
CN105451099A (zh) * | 2014-08-19 | 2016-03-30 | 北京大学 | 视频码率调整方法和装置 |
CN105451075A (zh) * | 2014-08-27 | 2016-03-30 | 北京大学 | 视频质量控制方法和装置 |
CN105744308A (zh) * | 2014-12-08 | 2016-07-06 | 深圳Tcl数字技术有限公司 | 流媒体数据的下载方法及装置 |
CN105847941A (zh) * | 2016-03-17 | 2016-08-10 | 央广视讯传媒股份有限公司 | 一种基于hls协议的音视频流直播方法 |
-
2017
- 2017-03-29 CN CN201710199102.4A patent/CN107071529B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040156624A1 (en) * | 2003-02-10 | 2004-08-12 | Kent Larry G. | Video stream adaptive frame rate scheme |
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
US20130219446A1 (en) * | 2010-08-13 | 2013-08-22 | Simon Fraser University | System and method for multiplexing of variable bit-rate video streams in mobile video systems |
CN102761741A (zh) * | 2012-06-26 | 2012-10-31 | 中国科学技术大学 | 基于编解码端缓存的视频编码码率控制系统和方法 |
CN103702237A (zh) * | 2012-09-28 | 2014-04-02 | 北京大学 | Http流媒体的速率自适方法及装置 |
CN102932670A (zh) * | 2012-11-29 | 2013-02-13 | 百视通网络电视技术发展有限责任公司 | 一种流媒体切片方法及系统 |
CN103561283A (zh) * | 2013-10-30 | 2014-02-05 | 乐视致新电子科技(天津)有限公司 | 一种智能电视的码率切换方法及装置 |
CN105451099A (zh) * | 2014-08-19 | 2016-03-30 | 北京大学 | 视频码率调整方法和装置 |
CN105451075A (zh) * | 2014-08-27 | 2016-03-30 | 北京大学 | 视频质量控制方法和装置 |
CN105744308A (zh) * | 2014-12-08 | 2016-07-06 | 深圳Tcl数字技术有限公司 | 流媒体数据的下载方法及装置 |
CN104967884A (zh) * | 2015-04-17 | 2015-10-07 | 北京奇艺世纪科技有限公司 | 一种码流切换方法和装置 |
CN105847941A (zh) * | 2016-03-17 | 2016-08-10 | 央广视讯传媒股份有限公司 | 一种基于hls协议的音视频流直播方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109982110A (zh) * | 2017-12-28 | 2019-07-05 | 华为技术有限公司 | 用于视频播放的方法和装置 |
CN109982110B (zh) * | 2017-12-28 | 2021-03-30 | 华为技术有限公司 | 用于视频播放的方法和装置 |
CN110022498A (zh) * | 2018-01-08 | 2019-07-16 | 深圳市中兴微电子技术有限公司 | 一种实现码率切换的方法及装置 |
CN110022498B (zh) * | 2018-01-08 | 2021-04-27 | 深圳市中兴微电子技术有限公司 | 一种实现码率切换的方法及装置 |
CN108769760A (zh) * | 2018-05-23 | 2018-11-06 | 中国联合网络通信集团有限公司 | 一种码率调整方法、ue、mec及网络系统 |
CN110536175A (zh) * | 2018-05-24 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 一种码率切换方法和装置 |
CN110611789A (zh) * | 2018-06-14 | 2019-12-24 | 杭州海康威视数字技术股份有限公司 | 视频流传输控制方法、装置、电子设备及存储介质 |
CN110798751B (zh) * | 2018-08-02 | 2022-09-02 | 阿里巴巴集团控股有限公司 | 一种数据传输方法及设备 |
CN110798751A (zh) * | 2018-08-02 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 一种数据传输方法及设备 |
CN110087141A (zh) * | 2019-04-29 | 2019-08-02 | 北京金山云网络技术有限公司 | 视频数据传输方法、装置、客户端及服务器 |
CN110149560A (zh) * | 2019-06-05 | 2019-08-20 | 亦非云互联网技术(上海)有限公司 | 基于hls协议的播放器优化方法及系统、存储介质及终端 |
CN110149560B (zh) * | 2019-06-05 | 2021-11-16 | 亦非云互联网技术(上海)有限公司 | 基于hls协议的播放器优化方法及系统、存储介质及终端 |
CN110149534A (zh) * | 2019-06-12 | 2019-08-20 | 深圳市大数据研究院 | 基于决策树的自适应视频流转码方法及装置 |
CN110149534B (zh) * | 2019-06-12 | 2021-06-08 | 深圳市大数据研究院 | 基于决策树的自适应视频流转码方法及装置 |
CN110198495A (zh) * | 2019-06-28 | 2019-09-03 | 广州市百果园信息技术有限公司 | 一种视频下载和播放的方法、装置、设备和存储介质 |
CN110198495B (zh) * | 2019-06-28 | 2022-03-22 | 广州市百果园信息技术有限公司 | 一种视频下载和播放的方法、装置、设备和存储介质 |
CN110267100A (zh) * | 2019-07-12 | 2019-09-20 | 北京达佳互联信息技术有限公司 | Flv视频的码率切换方法、装置、电子设备及存储介质 |
CN112911315A (zh) * | 2019-11-19 | 2021-06-04 | 中兴通讯股份有限公司 | 一种流媒体直播录制方法、网络设备及存储介质 |
CN110933517A (zh) * | 2019-11-30 | 2020-03-27 | 咪咕视讯科技有限公司 | 码率切换方法、客户端和计算机可读存储介质 |
WO2021258608A1 (zh) * | 2020-06-24 | 2021-12-30 | 北京达佳互联信息技术有限公司 | 带宽确定方法、装置、终端及存储介质 |
CN111757181A (zh) * | 2020-06-29 | 2020-10-09 | 海信电子科技(武汉)有限公司 | 一种减少网络媒体清晰度抖动的方法及显示设备 |
CN112162638A (zh) * | 2020-10-09 | 2021-01-01 | 咪咕视讯科技有限公司 | 一种虚拟现实vr观影中的信息处理方法及服务器 |
CN112162638B (zh) * | 2020-10-09 | 2023-09-19 | 咪咕视讯科技有限公司 | 一种虚拟现实vr观影中的信息处理方法及服务器 |
CN112383791A (zh) * | 2020-11-12 | 2021-02-19 | 咪咕视讯科技有限公司 | 一种媒体数据处理方法、装置、电子设备和存储介质 |
CN115396731A (zh) * | 2022-08-10 | 2022-11-25 | 北京势也网络技术有限公司 | 全景视频的播放方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107071529B (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107071529B (zh) | 一种hls视频播放方法、终端及服务器 | |
CN104967872B (zh) | 基于动态自适应码率传输协议hls流媒体的直播方法和服务器 | |
Ge et al. | QoE-assured 4K HTTP live streaming via transient segment holding at mobile edge | |
CN104412253B (zh) | 用于在超文本传输协议上的质量知晓自适应流传输的方法 | |
US7051110B2 (en) | Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions | |
CN104683884B (zh) | 一种流媒体直播方法及系统 | |
EP2364017B1 (en) | Method, system and user device for obtaining key frame in streaming media service | |
US10003830B1 (en) | Controller to manage streaming video of playback devices | |
CN106657143A (zh) | 一种流媒体传输方法、装置、服务器及终端 | |
CA2432158A1 (en) | Webcasting method and system for time-based synchronization of multiple, independent media streams | |
CN103548318B (zh) | 用于动态地适配接收比特率的方法和相关的接收器 | |
US11539777B2 (en) | Streaming and downloading of content | |
WO2006084503A1 (en) | On-demand multi-channel streaming session over packet-switched networks | |
US11621985B2 (en) | Chunk-based prediction adaptation logic | |
CN105025351A (zh) | 流媒体播放器缓冲的方法及装置 | |
CN107864402A (zh) | 直播视频播放方法及装置 | |
CN106791860A (zh) | 一种自适应视频编码控制系统及方法 | |
CN103873948A (zh) | 流媒体自适应匹配传输方法、系统和服务器 | |
US20030004992A1 (en) | Data reproduction apparatus and data reproduction method | |
Zhang et al. | Performance of low-latency HTTP-based streaming players | |
CN100544437C (zh) | 一种流媒体带宽适配系统 | |
WO2014110670A1 (en) | Media server | |
Kim et al. | Analysis and improvement of MPEG-DASH-based internet live broadcasting Services in Real-world Environments | |
GB2446195A (en) | Data Transmission | |
Nguyen et al. | An evaluation of segment duration effects in HTTP adaptive streaming over mobile networks |
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 |