CN111510770A - 切换清晰度的方法、装置、计算机设备及可读存储介质 - Google Patents
切换清晰度的方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN111510770A CN111510770A CN201910091813.9A CN201910091813A CN111510770A CN 111510770 A CN111510770 A CN 111510770A CN 201910091813 A CN201910091813 A CN 201910091813A CN 111510770 A CN111510770 A CN 111510770A
- Authority
- CN
- China
- Prior art keywords
- definition
- switching
- played
- audio
- video
- 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 55
- 239000012634 fragment Substances 0.000 claims abstract description 63
- 230000008569 process Effects 0.000 claims abstract description 18
- 230000003139 buffering effect Effects 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006870 function Effects 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/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/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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- 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/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network 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/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- 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/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/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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- 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/442—Monitoring 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/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
Abstract
本发明公开了一种切换清晰度的方法、装置、计算机设备及可读存储介质,该方法包括:当使用DASH播放音频和/或视频时,获取媒体介绍说明MPD文件,并通过解析所述MPD文件得到清晰度信息;在播放音频和/或视频的过程中,按照设定时间间隔定期确定出当前的安全下载速度,并根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换;在需要进行清晰度的切换的情况下,根据当前播放的分片的已播放时长以及预设的安全缓冲时长,确定出切换时间点,以在所述切换时间点进行清晰度的切换。本发明能够根据当前的下载速度自动的进行清晰度切换,且不会出现卡顿现象。
Description
技术领域
本发明涉及音视频播放技术领域,具体涉及一种切换清晰度的方法、装置、计算机设备及可读存储介质。
背景技术
为了让音视频播放的更加流畅,越来越多的视频网站开始采用DASH(DynamicAdaptive Streaming over HTTP,基于HTTP的动态自适应流)技术,DASH是一种自适应比特率流技术,使得高质量流媒体可以通过传统的HTTP网络服务器以互联网传递;DASH将一个流媒体内容分解为多个分片,每个分片包含一定长度(例如,10秒)的可播放内容,且每个分片对应有多个清晰度(例如,1080P、720P、480P、360P),客户端可以根据当前网络条件选择下载和播放指定清晰度的分片。与传统的音视频播放技术相比,在进行清晰度的切换时不需要重新加载播放器。但是,目前在使用DASH时,是根据用户端的选择进行清晰度的切换,不够智能;此外,由于仍需对分片进行下载缓冲,在进行清晰度的切换的过程中会出现当前分片已播放完而下个分片还未下载完成的情况,从而导致播放卡顿,影响用户体验度。
发明内容
本发明的目的在于提供一种切换清晰度的方法、装置、计算机设备及可读存储介质,能够根据当前的下载速度自动的进行清晰度切换,且不会出现卡顿现象。
根据本发明的一个方面,提供了一种切换清晰度的方法,该方法包括如下步骤:
当使用DASH播放音频和/或视频时,获取MPD(Media Presentation Description,媒体介绍说明)文件,并通过解析所述MPD文件得到清晰度信息;
在播放音频和/或视频的过程中,按照设定时间间隔定期确定出当前的安全下载速度,并根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换;
在需要进行清晰度的切换的情况下,根据当前播放的分片的已播放时长以及预设的安全缓冲时长,确定出切换时间点,以在所述切换时间点进行清晰度的切换。
可选的,所述清晰度信息包括:多个可使用的清晰度以及与每个清晰度所对应的带宽。
可选的,所述按照设定时间间隔定期确定出当前的安全下载速度,具体包括:
获取在当前播放的分片之前的N个分片的播放信息;
根据每个分片的播放信息,计算出每个分片的实际下载速度,并根据N个分片的实际下载速度计算出平均下载速度;
将所述平均下载速度乘以预设的安全系数以及占分比,得到当前的安全下载速度。
可选的,所述播放信息包括:建连时长、下载时长、下载总字节数;
所述根据每个分片的播放信息,计算出每个分片的实际下载速度,具体包括:
实际下载速度=(8×下载总字节数)/(建连时长+下载时长)。
可选的,所述安全系数为0.8;
所述占分比K按照如下公式计算得到:
K=(D-L)/D;
其中,D为一个分片的播放时长;
L是根据N个分片的建连时长计算得到的平均建连时长。
可选的,所述根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换,包括:
将之后播放的分片的清晰度调整为刚好小于所述安全下载速度的带宽所对应的清晰度。
可选的,所述根据当前播放的分片的已播放时长以及预设的安全缓冲时长,确定出切换时间点,以在所述切换时间点进行清晰度的切换,具体包括:
按照如下公式计算出切换时间点T:
其中,ceil()为向上取整;
C为当前播放的分片的已播放时长;
Q为安全缓冲时长,且Q等于一个分片的播放时长的1.5倍;
当播放在当前分片之后的第T个分片时,进行清晰度的切换。
为了实现上述目的,本发明还提供一种切换清晰度的装置,该装置具体包括以下组成部分:
解析模块,用于当使用DASH播放音频和/或视频时,获取媒体介绍说明MPD文件,并通过解析所述MPD文件得到清晰度信息;
判断模块,用于在播放音频和/或视频的过程中,按照设定时间间隔定期确定出当前的安全下载速度,并根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换;
切换模块,用于在需要进行清晰度的切换的情况下,根据当前播放的分片的已播放时长以及预设的安全缓冲时长,确定出切换时间点,以在所述切换时间点进行清晰度的切换。
为了实现上述目的,本发明还提供一种计算机设备,该计算机设备具体包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述介绍的切换清晰度的方法的步骤。
为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述介绍的切换清晰度的方法的步骤。
本发明提供的切换清晰度的方法、装置、计算机设备及可读存储介质,能够按照预设的时间间隔,周期性的根据当前的安全下载速度判断是否需要进行清晰度的切换,并自动的在计算出的切换时间点处进行清晰度的切换;由于在计算安全下载速度时考虑到了获取分片的建连时间以及网络抖动,能够保证当前的网络速度足以满足切换后的清晰度的带宽要求;此外,在切换时间点处进行清晰度的切换可以避免出现切换后的清晰度对应的分片未下载完成而当前清晰度的分片已播放结束的情况,从而保证了音频和/或视频的无缝切换,不会出现切换卡顿的现象。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为实施例一提供的切换清晰度的方法的一种可选的流程示意图;
图2为实施例一中的MPD文件的内容结构示意图;
图3为实施例二提供的切换清晰度的装置的一种可选的程序模块示意图;
图4为实施例三提供的计算机设备的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
下面结合附图对本发明提供的切换清晰度的方法进行说明。
图1为本发明切换清晰度的方法的一种可选的流程示意图,该方法应用于DASH客户端,如图1所示,该方法可以包括以下步骤:
步骤S101:当使用DASH播放音频和/或视频时,获取MPD文件,并通过解析所述MPD文件得到清晰度信息。
具体的,所述清晰度信息包括:多个可使用的清晰度以及与每个清晰度所对应的带宽。
进一步的,MPD文件是视频和/或视频的描述文件,可以用于描述整个MPEG DASH(又称为DASH)码流的构成,相当于HLS(HTTP Live Streaming)协议的M3U8(M3U8是视频的一种格式)文件,MPD文件是一个XML(Extensible Markup Language,可扩展标记语言)Document(Document是计算机专业术语,每个载入浏览器的HTML(Hyper Text MarkupLanguage,超级文本标记语言)文档都会成为Document对象),通过MPD文件的内容可以构造出用于HTTP GET请求(HTTP GET请求是HTTP请求的一种方式)下载的URL(UniformResource Locator,统一资源定位符)。
如图2所示,为XML格式的MPD文件的内容结构示意图,在一个XML格式的MPD文件中包括多个片段Period文件;而在每个Period文件中都有对应的应用描述AdaptationSet文件;在一个AdaptationSet文件中包含不同清晰度/码流的分辨率描述Representation文件,每个Representation文件对应一个清晰度,且在每个Representation文件中包含对应清晰度所需的带宽要求;在一个Representation文件中包括多个分片Segment,每个Segment对应一定时间长度的视频内容或音频内容。
在XML格式的MPD文件中,一个流媒体内容放入一个Period段中;并将流媒体内容中的视频数据和音频数据分别存入不同的AdaptationSet段中;不同清晰度的视频或音频用不同的Representation段表示;在一个Representation段中包括视频属性信息或音频属性信息。
更进一步的,所述通过解析所述MPD文件得到清晰度信息,具体包括:
通过解析MPD文件中的Representation文件,得到可使用的清晰度,以及与每个清晰度对应的带宽。
优选的,在实际应用中,可以通过解析所述MPD文件得到清晰度列表,在所述清晰度列表中包括:索引值、清晰度信息、清晰度对应的带宽信息、以及音频或视频的URL(Uniform Resource Locator,统一资源定位符)信息。
步骤S102:在播放音频和/或视频的过程中,按照设定时间间隔定期确定出当前的安全下载速度,并根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换。
具体的,所述按照设定时间间隔定期确定出当前的安全下载速度,具体包括:
步骤A1:获取在当前播放的分片之前的N个分片的播放信息;其中,N为正整数;
进一步的,所述播放信息包括:建连时长、下载时长、下载总字节数;
其中,建连时长为,从DASH客户端向HTTP服务器发送请求到DASH客户端接收到HTTP服务器反馈回的响应的时长;
下载时长为,从DASH客户端根据接收到的响应开始下载音频和/或视频到下载结束的时间;
下载总字节数为,下载音频和/或视频所消耗的总字节数。
在本实施例中,每当下载一个分片时,DASH客户端会从分片文件的文件头部获取到下载总字节数,并统计出一个分片的建连时长和下载时长,并将一个分片的下载总字节数、建连时长和下载时长进行存储,以供后期计算安全下载速度时使用。
步骤A2:根据每个分片的播放信息,计算出每个分片的实际下载速度;并根据N个分片的实际下载速度计算出平均下载速度;
进一步的,所述根据每个分片的播放信息,计算出每个分片的实际下载速度,具体包括:
实际下载速度=(8×下载总字节数)/(建连时长+下载时长)。
所述根据N个分片的实际下载速度计算出平均下载速度,具体包括:
平均下载速度=(实际下载速度1+实际下载速度2+……+实际下载速度N)/N。
步骤A3:将所述平均下载速度乘以预设的安全系数以及占分比,得到当前的安全下载速度。
进一步的,所述占分比K按照如下公式计算得到:
K=(D-L)/D;
其中,D为一个分片的播放时长;
L是根据N个分片的建连时长计算得到的平均建连时长,且L<D。
所述步骤A3,具体包括:
安全下载速度=平均下载速度×P×K;
其中,P为安全系数;优选的,P为0.8。
在本实施例中,在计算安全下载速度时考虑了平均建连时长在下载一个分片过程中的影响;由于从DASH客户端向HTTP服务器发送分片的下载请求至该分片下载完成的时长包括建连时长和下载时长,所以下载一个分片的总耗时为建连时长与下载时长之和;由于下载一个分片的总耗时不能超过一个分片的播放时长,所以一个分片的最大的下载时长为一个分片的播放时长与该分片的建连时长之差;因此,通过占分比K可以表示一个分片的最大的下载时长占一个分片的播放时长的比例。此外,在本实施例中,在计算安全下载速度时还考虑了网络的抖动,通过安全系数P保障当前的下载速度足以满足一定清晰度的带宽要求。
进一步的,所述根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换,包括:
将之后播放的分片的清晰度调整为刚好小于所述安全下载速度的带宽所对应的清晰度。
在实际应用中,可以将计算出的安全下载速度与清晰度列表中的各个清晰度的带宽要求进行比对,判断出当前安全下载速度所能支持的最大清晰度。例如,当前的安全下载速度为120Mbps,而根据清晰度信息可知,可使用的清晰度包括1080P、720P、480P、360P;1080P的带宽要求为150Mbps、720P的带宽要求为100Mbps、480P的带宽要求为50Mbps、360P的带宽要求为25Mbps;由于当前的安全下载速度可以满足720P的带宽要求,所以讲之后播放的分片的清晰度调整为720P。
更进一步的,在步骤S102之前,所述方法还包括:
根据在当前播放的分片之前的N个分片的建连时长,计算出平均建连时长;
判断所述平均建连时长是否大于一个分片的播放时长;
若是,则将之后播放的音频和/或视频的清晰度调整为最低;
若否,则执行步骤S102。
如果平均建连时长大于播放时长,则说明无法在当前分片播放完之前下载完下个分片,即无法流畅的播放当前清晰度的音频和/或视频;此时,DASH客户端会将当前播放的音频和/或视频的清晰度调至最低。
在本实施例中,按照设定时间间隔,定期进行清晰度切换的判断(例如,每500秒进行一次清晰度切换的判断);在进行判断时,会根据距离当前分片最近的N个分片(例如,N为10)的实际下载速度,计算出平均下载速度,并在考虑了建连时长和网络抖动之后计算出一个安全下载速度;根据安全下载速度,将之后播放的音频和/或视频的清晰度整为该安全下载速度足以支持的清晰度。
步骤S103:在需要进行清晰度的切换的情况下,根据当前播放的分片的已播放时长以及预设的安全缓冲时长,确定出切换时间点,以在所述切换时间点进行清晰度的切换。
具体的,步骤S103,包括:
按照如下公式计算出切换时间点T:
其中,ceil()为向上取整;
C为当前播放的分片的已播放时长;
Q为安全缓冲时长,且Q等于一个分片的播放时长的1.5倍;
当播放在当前分片之后的第T个分片时,进行清晰度的切换。
例如,当(C+Q)/D的值为3.4时,T的值则为4;那么在播放完当前分片之后,当播放第4个分片时,进行清晰度的切换。
在本实施例中,为了避免出现当前分片已播放结束但切换清晰度后的分片未下载完成的情况出现,通过计算切换时间点,以保证为切换清晰度后的分片留出充足的下载时间,从而保证了音频和/或视频的无缝切换,不会出现切换卡顿的现象。
实施例二
基于上述实施例一中提供的切换清晰度的方法,本实施例中提供一种切换清晰度的装置,具体地,图3示出了该切换清晰度的装置的可选的结构框图,该切换清晰度的装置被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合描述切换清晰度的装置在存储介质中的执行过程,以下描述将具体介绍本实施例各程序模块的功能。
如图3所示,应用于DASH客户端的切换清晰度的装置具体包括以下组成部分:
解析模块301,用于当使用DASH播放音频和/或视频时,获取媒体介绍说明MPD文件,并通过解析所述MPD文件得到清晰度信息。
具体的,所述清晰度信息包括:多个可使用的清晰度以及与每个清晰度所对应的带宽。
进一步的,解析模块301,具体用于:
通过解析MPD文件中的Representation文件,得到可使用的清晰度,以及与每个清晰度对应的带宽。
判断模块302,用于在播放音频和/或视频的过程中,按照设定时间间隔定期确定出当前的安全下载速度,并根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换。
具体的,判断模块302,包括:
获取单元,用于获取在当前播放的分片之前的N个分片的播放信息;
计算单元,用于根据每个分片的播放信息,计算出每个分片的实际下载速度,并根据N个分片的实际下载速度计算出平均下载速度;
处理单元,用于将所述平均下载速度乘以预设的安全系数以及占分比,得到当前的安全下载速度;
切换单元:将之后播放的分片的清晰度调整为刚好小于所述安全下载速度的带宽所对应的清晰度。
进一步的,所述播放信息包括:建连时长、下载时长、下载总字节数。
所述计算单元,具体用于:
按照如下公式计算出每个分片的实际下载速度:
实际下载速度=(8×下载总字节数)/(建连时长+下载时长);
按照如下公式计算出N个分片的平均下载速度:
平均下载速度=(实际下载速度1+实际下载速度2+……+实际下载速度N)/N。
更进一步的,处理单元,具体用于:
按照如下公式计算得到所述占分比K:
K=(D-L)/D;
其中,D为一个分片的播放时长;
L是根据N个分片的建连时长计算得到的平均建连时长;
按照如下公式计算得到安全下载速度:
安全下载速度=平均下载速度×P×K;
其中,P为安全系数;优选的,P为0.8。
切换模块303,用于在需要进行清晰度的切换的情况下,根据当前播放的分片的已播放时长以及预设的安全缓冲时长,确定出切换时间点,以在所述切换时间点进行清晰度的切换。
具体的,切换模块303,用于:
按照如下公式计算出切换时间点T:
其中,ceil()为向上取整;
C为当前播放的分片的已播放时长;
Q为安全缓冲时长,且Q等于一个分片的播放时长的1.5倍;
当播放在当前分片之后的第T个分片时,进行清晰度的切换。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,本实施例的计算机设备40至少包括但不限于:可通过系统总线相互通信连接的存储器401、处理器402。需要指出的是,图4仅示出了具有组件401-402的计算机设备40,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器401(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器401可以是计算机设备40的内部存储单元,例如该计算机设备40的硬盘或内存。在另一些实施例中,存储器401也可以是计算机设备40的外部存储设备,例如该计算机设备40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器401还可以既包括计算机设备40的内部存储单元也包括其外部存储设备。在本实施例中,存储器401通常用于存储安装于计算机设备40的操作系统和各类应用软件,例如实施例二的切换清晰度的装置的程序代码等。此外,存储器401还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器402在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器402通常用于控制计算机设备40的总体操作。
具体的,在本实施例中,处理器402用于执行处理器402中存储的切换清晰度的方法的程序,所述切换清晰度的方法的程序被执行时实现如下步骤:
当使用DASH播放音频和/或视频时,获取媒体介绍说明MPD文件,并通过解析所述MPD文件得到清晰度信息;
在播放音频和/或视频的过程中,按照设定时间间隔定期确定出当前的安全下载速度,并根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换;
在需要进行清晰度的切换的情况下,根据当前播放的分片的已播放时长以及预设的安全缓冲时长,确定出切换时间点,以在所述切换时间点进行清晰度的切换。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
当使用DASH播放音频和/或视频时,获取媒体介绍说明MPD文件,并通过解析所述MPD文件得到清晰度信息;
在播放音频和/或视频的过程中,按照设定时间间隔定期确定出当前的安全下载速度,并根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换;
在需要进行清晰度的切换的情况下,根据当前播放的分片的已播放时长以及预设的安全缓冲时长,确定出切换时间点,以在所述切换时间点进行清晰度的切换。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
本实施例提供的切换清晰度的方法、装置、计算机设备及可读存储介质,能够按照预设的时间间隔,周期性的根据当前的安全下载速度判断是否需要进行清晰度的切换,并自动的在计算出的切换时间点处进行清晰度的切换;由于在计算安全下载速度时考虑到了获取分片的建连时间以及网络抖动,能够保证当前的网络速度足以满足切换后的清晰度的带宽要求;此外,在切换时间点处进行清晰度的切换可以避免出现切换后的清晰度对应的分片未下载完成而当前清晰度的分片已播放结束的情况,从而保证了音频和/或视频的无缝切换,不会出现切换卡顿的现象。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种切换清晰度的方法,其特征在于,所述方法包括:
当使用DASH播放音频和/或视频时,获取媒体介绍说明MPD文件,并通过解析所述MPD文件得到清晰度信息;
在播放音频和/或视频的过程中,按照设定时间间隔定期确定出当前的安全下载速度,并根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换;
在需要进行清晰度的切换的情况下,根据当前播放的分片的已播放时长以及预设的安全缓冲时长,确定出切换时间点,以在所述切换时间点进行清晰度的切换。
2.根据权利要求1所述的切换清晰度的方法,其特征在于,所述清晰度信息包括:多个可使用的清晰度以及与每个清晰度所对应的带宽。
3.根据权利要求1所述的切换清晰度的方法,其特征在于,所述按照设定时间间隔定期确定出当前的安全下载速度,具体包括:
获取在当前播放的分片之前的N个分片的播放信息;
根据每个分片的播放信息,计算出每个分片的实际下载速度,并根据N个分片的实际下载速度计算出平均下载速度;
将所述平均下载速度乘以预设的安全系数以及占分比,得到当前的安全下载速度。
4.根据权利要求3所述的切换清晰度的方法,其特征在于,所述播放信息包括:建连时长、下载时长、下载总字节数;
所述根据每个分片的播放信息,计算出每个分片的实际下载速度,具体包括:
实际下载速度=(8×下载总字节数)/(建连时长+下载时长)。
5.根据权利要求3所述的切换清晰度的方法,其特征在于,所述安全系数为0.8;
所述占分比K按照如下公式计算得到:
K=(D-L)/D;
其中,D为一个分片的播放时长;
L是根据N个分片的建连时长计算得到的平均建连时长。
6.根据权利要求2所述的切换清晰度的方法,其特征在于,所述根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换,包括:
将之后播放的分片的清晰度调整为刚好小于所述安全下载速度的带宽所对应的清晰度。
8.一种切换清晰度的装置,其特征在于,所述装置包括:
解析模块,用于当使用DASH播放音频和/或视频时,获取媒体介绍说明MPD文件,并通过解析所述MPD文件得到清晰度信息;
判断模块,用于在播放音频和/或视频的过程中,按照设定时间间隔定期确定出当前的安全下载速度,并根据所述安全下载速度以及所述清晰度信息判断是否需要对当前播放的音频和/或视频进行清晰度的切换;
切换模块,用于在需要进行清晰度的切换的情况下,根据当前播放的分片的已播放时长以及预设的安全缓冲时长,确定出切换时间点,以在所述切换时间点进行清晰度的切换。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910091813.9A CN111510770B (zh) | 2019-01-30 | 2019-01-30 | 切换清晰度的方法、装置、计算机设备及可读存储介质 |
PCT/CN2019/128448 WO2020155959A1 (zh) | 2019-01-30 | 2019-12-25 | 切换清晰度的方法、装置、计算机设备及可读存储介质 |
EP19912438.9A EP3879840B1 (en) | 2019-01-30 | 2019-12-25 | Definition switching method and apparatus, computer device, and readable storage medium |
US17/342,293 US11303949B2 (en) | 2019-01-30 | 2021-06-08 | Method of switching resolution, computing device, and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910091813.9A CN111510770B (zh) | 2019-01-30 | 2019-01-30 | 切换清晰度的方法、装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111510770A true CN111510770A (zh) | 2020-08-07 |
CN111510770B CN111510770B (zh) | 2021-08-24 |
Family
ID=71840795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910091813.9A Active CN111510770B (zh) | 2019-01-30 | 2019-01-30 | 切换清晰度的方法、装置、计算机设备及可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11303949B2 (zh) |
EP (1) | EP3879840B1 (zh) |
CN (1) | CN111510770B (zh) |
WO (1) | WO2020155959A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112087646A (zh) * | 2020-08-26 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、计算机设备和存储介质 |
CN116781951A (zh) * | 2023-08-24 | 2023-09-19 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种清晰度调节方法、装置和服务器 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112752152B (zh) * | 2020-12-28 | 2022-11-25 | 海信视像科技股份有限公司 | 投送视频播放方法及显示设备 |
CN113315810B (zh) * | 2021-04-29 | 2023-04-07 | 上海探寻信息技术有限公司 | 一种在线音频播放方法及设备 |
CN114416013A (zh) * | 2022-01-04 | 2022-04-29 | 深圳Tcl新技术有限公司 | 数据发送方法、装置、电子设备及计算机可读存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070044123A1 (en) * | 2005-08-16 | 2007-02-22 | Alcatel | System and method for smoothing channel changing in internet protocol television systems |
CN101267538A (zh) * | 2007-03-15 | 2008-09-17 | 华为技术有限公司 | 一种切换网络电视频道的方法和系统以及缓存实体 |
WO2011084755A1 (en) * | 2009-12-21 | 2011-07-14 | Qualcomm Incorporated | Switching between media broadcast streams having varying levels of quality |
CN103702219A (zh) * | 2013-12-16 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种视频播放的控制方法及设备 |
CN104602044A (zh) * | 2015-02-05 | 2015-05-06 | 秦永红 | 一种rtmp流媒体公网直播系统及其设计方法 |
CN105100830A (zh) * | 2015-07-23 | 2015-11-25 | 中国科学院声学研究所 | 一种基于视频聚合服务的快速切换视频源的装置和方法 |
EP2705671B1 (en) * | 2011-06-03 | 2015-12-16 | Apple Inc. | Playlists for real-time or near real-time streaming |
CN107197371A (zh) * | 2016-03-15 | 2017-09-22 | 广州市动景计算机科技有限公司 | 视频清晰度的切换方法及装置 |
US20180191801A1 (en) * | 2016-12-30 | 2018-07-05 | Facebook, Inc. | Adaptively updating content delivery network link in a manifest file |
CN108271048A (zh) * | 2018-02-09 | 2018-07-10 | 北京邮电大学 | 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法 |
CN108574860A (zh) * | 2017-03-07 | 2018-09-25 | 合网络技术(北京)有限公司 | 多媒体资源播放方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9432433B2 (en) * | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US8589583B2 (en) * | 2010-09-08 | 2013-11-19 | Hulu, Inc. | Method and apparatus for adaptive bit rate switching |
US20140019635A1 (en) * | 2012-07-13 | 2014-01-16 | Vid Scale, Inc. | Operation and architecture for dash streaming clients |
US9462021B2 (en) * | 2012-09-24 | 2016-10-04 | Google Technology Holdings LLC | Methods and devices for efficient adaptive bitrate streaming |
US10200725B2 (en) * | 2015-06-15 | 2019-02-05 | Intel Corporation | Adaptive data streaming based on virtual screen size |
CN106375836A (zh) * | 2016-09-27 | 2017-02-01 | 广东小天才科技有限公司 | 一种视频的分辨率切换方法及装置 |
CN106993237B (zh) * | 2017-04-13 | 2019-05-10 | 中北大学 | 基于mpeg-dash协议的动态自适应码率选择方法 |
US10986001B2 (en) * | 2018-01-25 | 2021-04-20 | Nokia Solutions And Networks Oy | System and method for quality of service detection of encrypted packet flows |
CN109040855B (zh) * | 2018-09-03 | 2021-01-29 | 重庆邮电大学 | 一种无线dash流媒体码率平滑自适应传输方法 |
-
2019
- 2019-01-30 CN CN201910091813.9A patent/CN111510770B/zh active Active
- 2019-12-25 EP EP19912438.9A patent/EP3879840B1/en active Active
- 2019-12-25 WO PCT/CN2019/128448 patent/WO2020155959A1/zh unknown
-
2021
- 2021-06-08 US US17/342,293 patent/US11303949B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070044123A1 (en) * | 2005-08-16 | 2007-02-22 | Alcatel | System and method for smoothing channel changing in internet protocol television systems |
CN101267538A (zh) * | 2007-03-15 | 2008-09-17 | 华为技术有限公司 | 一种切换网络电视频道的方法和系统以及缓存实体 |
WO2011084755A1 (en) * | 2009-12-21 | 2011-07-14 | Qualcomm Incorporated | Switching between media broadcast streams having varying levels of quality |
EP2705671B1 (en) * | 2011-06-03 | 2015-12-16 | Apple Inc. | Playlists for real-time or near real-time streaming |
CN103702219A (zh) * | 2013-12-16 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种视频播放的控制方法及设备 |
CN104602044A (zh) * | 2015-02-05 | 2015-05-06 | 秦永红 | 一种rtmp流媒体公网直播系统及其设计方法 |
CN105100830A (zh) * | 2015-07-23 | 2015-11-25 | 中国科学院声学研究所 | 一种基于视频聚合服务的快速切换视频源的装置和方法 |
CN107197371A (zh) * | 2016-03-15 | 2017-09-22 | 广州市动景计算机科技有限公司 | 视频清晰度的切换方法及装置 |
US20180191801A1 (en) * | 2016-12-30 | 2018-07-05 | Facebook, Inc. | Adaptively updating content delivery network link in a manifest file |
CN108574860A (zh) * | 2017-03-07 | 2018-09-25 | 合网络技术(北京)有限公司 | 多媒体资源播放方法及装置 |
CN108271048A (zh) * | 2018-02-09 | 2018-07-10 | 北京邮电大学 | 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法 |
Non-Patent Citations (1)
Title |
---|
方宏俊: "适配智能电视分辨率动态变化的视频后处理技术研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112087646A (zh) * | 2020-08-26 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置、计算机设备和存储介质 |
CN116781951A (zh) * | 2023-08-24 | 2023-09-19 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种清晰度调节方法、装置和服务器 |
CN116781951B (zh) * | 2023-08-24 | 2023-12-05 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种清晰度调节方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
EP3879840B1 (en) | 2023-03-22 |
US11303949B2 (en) | 2022-04-12 |
US20210329319A1 (en) | 2021-10-21 |
EP3879840A1 (en) | 2021-09-15 |
WO2020155959A1 (zh) | 2020-08-06 |
CN111510770B (zh) | 2021-08-24 |
EP3879840A4 (en) | 2021-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111510770B (zh) | 切换清晰度的方法、装置、计算机设备及可读存储介质 | |
US9060207B2 (en) | Adaptive video streaming over a content delivery network | |
US11503347B2 (en) | Method of playing video, computing device, and computer program product | |
CN111510777B (zh) | 测量网速的方法、装置、计算机设备及可读存储介质 | |
US11706498B2 (en) | Playback method, system, device and readable storage medium of live broadcast content | |
US11463494B2 (en) | Balance of initial frame and limitation of traffic | |
US10419798B2 (en) | Method and apparatus for just-in-time transcoding | |
US20150268808A1 (en) | Method, Device and System for Multi-Speed Playing | |
CN107690093B (zh) | 一种视频播放方法及装置 | |
CN113485972A (zh) | 一种多媒体共享方法、装置、移动终端及存储介质 | |
US11496536B2 (en) | Method of requesting video, computing device, and computer-program product | |
CN108769830B (zh) | 一种缓存视频的方法以及相关设备 | |
CN114040245A (zh) | 视频播放方法、装置、计算机存储介质和电子设备 | |
Lazic et al. | One Implementation of adaptive streaming over HTTP on Android DTV platform | |
GB2501271A (en) | Determining download times for a sequence of multimedia data segments obtained from a plurality of data sources | |
CN111510791B (zh) | 播放音视频的方法、装置、计算机设备及可读存储介质 | |
CN114866815A (zh) | 音视频数据的播放方法、装置、电子设备及系统 | |
CN114339267A (zh) | 文件轮播推流方法、装置及直播推流服务器 | |
CN110545459A (zh) | 一种缓存视频的方法以及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |