CN111510761B - 首帧均衡限流方法、装置、计算机设备及可读存储介质 - Google Patents

首帧均衡限流方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN111510761B
CN111510761B CN201910092901.0A CN201910092901A CN111510761B CN 111510761 B CN111510761 B CN 111510761B CN 201910092901 A CN201910092901 A CN 201910092901A CN 111510761 B CN111510761 B CN 111510761B
Authority
CN
China
Prior art keywords
audio
capacity
video
code stream
cache region
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.)
Active
Application number
CN201910092901.0A
Other languages
English (en)
Other versions
CN111510761A (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 CN201910092901.0A priority Critical patent/CN111510761B/zh
Priority to PCT/CN2019/128418 priority patent/WO2020155956A1/zh
Priority to EP19912992.5A priority patent/EP3863293A4/en
Publication of CN111510761A publication Critical patent/CN111510761A/zh
Priority to US17/329,716 priority patent/US11463494B2/en
Application granted granted Critical
Publication of CN111510761B publication Critical patent/CN111510761B/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/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/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/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
    • 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
    • H04L65/765Media network packet handling intermediate
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® 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/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • 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)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种首帧均衡限流方法、装置、计算机设备及可读存储介质,该方法包括:当使用DASH播放流媒体内容时,从服务器获取待播放的流媒体内容的视频数据文件和音频数据文件;从所述视频数据文件中获取视频码流,并从所述音频数据文件中获取音频码流;根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小。本发明能够提高下载视频内容的下载速度,并可以实现快速起播,从而提高了用户体验度。

Description

首帧均衡限流方法、装置、计算机设备及可读存储介质
技术领域
本发明涉及音视频播放技术领域,具体涉及一种首帧均衡限流方法、装置、计算机设备及可读存储介质。
背景技术
随着互联网和智能终端的不断发展,越来越多的用户选择使用智能终端(例如,手机、电脑)播放音频、视频等流媒体;用户可以通过智能终端从网络服务器上获取视频内容和音频内容,并在智能终端上播放。为了达到更好的播放效果,在播放音频、视频等流媒体时,如何快速获取首帧内容及快速起播成为急需解决的技术问题。
发明内容
本发明的目的在于提供一种首帧均衡限流方法、装置、计算机设备及可读存储介质,能够提高下载视频内容的下载速度,并可以实现快速起播,从而提高了用户体验度。
根据本发明的一个方面,提供了一种首帧均衡限流方法,该方法包括如下步骤:
当使用DASH播放流媒体内容时,从服务器获取待播放的流媒体内容的视频数据文件和音频数据文件;
从所述视频数据文件中获取视频码流,并从所述音频数据文件中获取音频码流;
根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小。
可选的,所述根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小,具体包括:
根据所述视频码流,计算出播放第一设定数量的视频帧所需要的第一容量大小,并将所述第一容量大小设置为所述视频缓存区的容量大小;
根据所述音频码流,计算出播放所述第一设定数量的音频帧所需要的第二容量大小,并将所述第二容量大小设定为所述音频缓存区的容量大小。
可选的,所述根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小,具体包括:
根据所述视频码流和音频码流确定出音视频码流比例,并按照所述音视频码流比例,将预设的初始缓存总容量大小划分为视频缓存区的容量大小和音频缓存区的容量大小。
可选的,在所述确定出视频缓存区的容量大小和音频缓存区的容量大小之后,所述方法还包括:
在播放所述流媒体内容的过程中,每当播放第二设定数量的视频帧之后,将所述视频缓存区的容量大小扩大一倍,直至所述视频缓存区的容量大小达到预设的最大缓存总容量大小的一半;以及,每当播放所述第二设定数量的音频帧之后,将所述音频缓存区的容量大小扩大一倍,直至所述音频缓存区的容量大小达到预设的最大缓存总容量大小的一半。
可选的,在所述确定出视频缓存区的容量大小和音频缓存区的容量大小之后,所述方法还包括:
获取所述流媒体内容的首帧视频,并将所述首帧视频缓存在所述视频缓存区中;
获取所述流媒体内容的首帧音频,并将所述首帧音频缓存在所述音频缓存区中。
为了实现上述目的,本发明还提供一种首帧均衡限流装置,该装置具体包括以下组成部分:
第一获取模块,用于当使用DASH播放流媒体内容时,从服务器获取待播放的流媒体内容的视频数据文件和音频数据文件;
第二获取模块,用于从所述视频数据文件中获取视频码流,并从所述音频数据文件中获取音频码流;
容量确定模块,用于根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小。
可选的,所述容量确定模块,具体用于:
根据所述视频码流,计算出播放第一设定数量的视频帧所需要的第一容量大小,并将所述第一容量大小设置为所述视频缓存区的容量大小;
根据所述音频码流,计算出播放所述第一设定数量的音频帧所需要的第二容量大小,并将所述第二容量大小设定为所述音频缓存区的容量大小。
可选的,所述装置还包括:
动态调整模块,用于在所述确定出视频缓存区的容量大小和音频缓存区的容量大小之后,在播放所述流媒体内容的过程中,每当播放第二设定数量的视频帧之后,将所述视频缓存区的容量大小扩大一倍,直至所述视频缓存区的容量大小达到预设的最大缓存总容量大小的一半;以及,每当播放所述第二设定数量的音频帧之后,将所述音频缓存区的容量大小扩大一倍,直至所述音频缓存区的容量大小达到预设的最大缓存总容量大小的一半。
为了实现上述目的,本发明还提供一种计算机设备,该计算机设备具体包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述介绍的首帧均衡限流方法的步骤。
为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述介绍的首帧均衡限流方法的步骤。
本发明提供的首帧均衡限流方法、装置、计算机设备及可读存储介质,根据视频码流和音频码流的比例关系配置视频缓存区的容量大小和音频缓存区的容量大小,使得视频缓存区的容量大小大于音频缓存区的容量大小,从而导致视频内容在缓存的过程中可以占用更多的带宽,提高下载视频内容的下载速度,并使得在相同的时间内,可以下载同样帧数的视频内容和音频内容。此外,为了达到快速输出首帧流媒体内容效果,限制初始的缓存区的容量大小,以使初始的视频缓存区的容量大小和初始的音频缓存区的容量大小可以缓存首帧视频内容和首帧音频内容即可。在音视频的播放过程中,动态扩大音频缓存区的容量大小和视频缓存区的容量大小。通过扩大音频缓存区的容量大小和视频缓存区的容量大小,可以减少请求缓存的次数,避免了网络拥堵。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为实施例一提供的首帧均衡限流方法的一种可选的流程示意图;
图2为实施例二提供的首帧均衡限流装置的一种可选的程序模块示意图;
图3为实施例三提供的计算机设备的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
下面结合附图对本发明提供的首帧均衡限流方法进行说明。
图1为本发明首帧均衡限流方法的一种可选的流程示意图,该方法应用于DASH客户端,如图1所示,该方法具体包括以下步骤:
步骤S101:当使用DASH播放流媒体内容时,从服务器获取待播放的流媒体内容的视频数据文件和音频数据文件。
其中,DASH(Dynamic Adaptive Streaming over HTTP,基于HTTP的动态自适应流)是一种自适应比特率流技术,使得高质量流媒体可以通过传统的HTTP网络服务器以互联网传递。在传统的音视频播放技术中,音频内容和视频内容被包含在一个流媒体文件中,客户端从服务器获取该流媒体文件,并通过解析该流媒体文件以进行音视频的播放;而在DASH技术中,将音频内容和视频内容分离开来,客户端需要从服务器分别获取视频数据文件和音频数据文件,并通过解析该视频数据文件和音频数据文件以进行音视频的播放。此外,DASH将一个流媒体内容分解为多个分片,每个分片包含一定长度(例如,10秒)的可播放内容,且每个分片对应有多个码流可供使用,客户端可以根据当前网络条件选择下载和播放指定码流的分片。与传统的音视频播放技术相比,使用DASH技术可以在播放流媒体内容的过程中随时切换至不同码流的流媒体内容。
具体的,步骤S101,包括:
向服务器发送获取视频数据文件和音频数据文件的请求,并接收由所述服务器反馈回的视频数据文件和音频数据文件。
步骤S102:从所述视频数据文件中获取视频码流,并从所述音频数据文件中获取音频码流。
具体的,步骤S102,包括:
对所述视频数据文件进行解析,以得到文件头部区域中的视频码流信息;并对所述音频数据文件进行解析,以得到文件头部区域中的音频码流信息。
在实际应用中,视频内容的视频码流是音频内容的音频码流的十倍,例如,视频内容的视频码流为2M/s,音频内容的音频码流为200k/s。
步骤S103:根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小。
其中,所述视频缓存区是预设的用于缓存视频内容的内存,所述音频缓存区是预设的用于缓存音频内容的内存;在本实施例中,所述视频缓存区和音频缓存区的容量大小是可以动态调整的。
具体的,在步骤S103中,可以按照以下两种方式中的一种确定出视频缓存区的容量大小和音频缓存区的容量大小:
方式1:
根据所述视频码流,计算出播放第一设定数量的视频帧所需要的第一容量大小,并将所述第一容量大小设置为所述视频缓存区的容量大小;
根据所述音频码流,计算出播放所述第一设定数量的音频帧所需要的第二容量大小,并将所述第二容量大小设定为所述音频缓存区的容量大小。
优选的,根据所述视频码流计算出播放前两帧视频内容所需的容量大小和根据所述音频码流计算出播放前两帧音频内容所需的容量大小,以分别作为视频缓存区的容量大小和音频缓存区的容量大小。
由于在利用DASH播放音视频的过程中,是以帧作为最小单位进行音视频的播放的;即,当一帧视频内容缓存完成后,就对该帧视频内容进行播放。因此,在本实施例中,为了得到快速起播的技术效果,以播放前两帧视频内容和前两帧音频内容所需的容量大小分别作为初始的视频缓存区的容量大小和音频缓存区的容量大小。需要说明的是,为了达到快速起播的技术效果,在本实施例中,将最初的视频缓存区和音频缓存区的容量大小设置为最小值,并由于视频码流远远大于音频码流,所以设置后的视频缓存区的容量也将远远大于音频缓存区的容量,从而导致视频内容在缓存的过程中可以占用更多的带宽,并使得在相同的时间内,可以下载同样帧数的视频内容和音频内容。
方式2:
根据所述视频码流和音频码流确定出音视频码流比例,并按照所述音视频码流比例,将预设的初始缓存总容量大小划分为视频缓存区的容量大小和音频缓存区的容量大小。
需要说明的是,在现有技术中,视频缓存区的容量大小和音频缓存区的容量大小通常被设置为一样的,例如,将视频缓存区的容量大小和音频缓存区的容量大小分别设置为2M;因此,视频内容和音频内容在缓存过程中占用的带宽一样,从而导致在相同的下载时间内,已缓存的音频内容远远大于已缓存的音频内容。此外,在现有技术中,视频缓存区的容量大小和音频缓存区的容量大小为固定不变的。
在本实施例中,按照视频码流和音频码流的比例大小,划分预设的初始缓存总容量;例如,视频码流与音频码流的比例为10:1,则将预设的初始缓存总容量按照10:1的比例划分为两份,其中一份的容量大小是另一份的容量大小的10倍。此外,为了达到快速输出首帧流媒体内容效果,限制初始缓存总容量,以使初始的视频缓存区的容量大小和初始的音频缓存区的容量大小可以缓存首帧视频内容和首帧音频内容即可。
在本实施例中,无论采用上述哪种方式,都是根据视频码流和音频码流的比例关系配置视频缓存区的容量大小和音频缓存区的容量大小,使得视频缓存区的容量大小大于音频缓存区的容量大小。由于无法直接对带宽进行分配,但可以通过缓存区的容量大小的差异达到为缓存视频内容分配更多的带宽的效果。此外,为了能够快速的输出首帧流媒体内容,降低初始配置的视频缓存区的容量大小和音频缓存区的容量大小。
进一步的,在所述确定出视频缓存区的容量大小和音频缓存区的容量大小之后,所述方法还包括:
在播放所述流媒体内容的过程中,每当播放第二设定数量的视频帧之后,将所述视频缓存区的容量大小扩大一倍,直至所述视频缓存区的容量大小达到预设的最大缓存总容量大小的一半;以及,每当播放所述第二设定数量的音频帧之后,将所述音频缓存区的容量大小扩大一倍,直至所述音频缓存区的容量大小达到预设的最大缓存总容量大小的一半。
优选的,每当播放10帧视频内容后,将视频缓存区的容量大小扩大一倍,直至视频缓存区的容量大小达到2M;以及,每当播放10帧音频内容后,将音频缓存区的容量大小扩大一倍,直至音频缓存区的容量大小达到2M。
在本实施例中,在音视频的播放过程中,动态扩大音频缓存区的容量大小和视频缓存区的容量大小。通过扩大音频缓存区的容量大小和视频缓存区的容量大小,可以减少请求缓存的次数,避免了网络拥堵。
更进一步的,在所述确定出视频缓存区的容量大小和音频缓存区的容量大小之后,所述方法还包括:
获取所述流媒体内容的首帧视频,并将所述首帧视频缓存在所述视频缓存区中;
获取所述流媒体内容的首帧音频,并将所述首帧音频缓存在所述音频缓存区中。
在本实施例中,在首帧音频内容被缓存在音频缓存区以及首帧视频内容被缓存在视频缓存区之后,即可将首帧音频内容和首帧视频内容同步播放,以进行音视频起播。由于起播时只需要快速的将首帧音频内容和首帧视频内容同步播放出来,所以用于缓存首帧音频内容的音频缓存区的容量大小和用于缓存首帧视频内容的视频缓存区的容量大小不必设置过大;在音视频的播放过程中,再逐渐的扩大音频缓存区的容量大小以及视频缓存区的容量大小。
实施例二
基于上述实施例一中提供的首帧均衡限流方法,本实施例中提供一种首帧均衡限流装置,具体地,图2示出了该首帧均衡限流装置的可选的结构框图,该首帧均衡限流装置被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合描述首帧均衡限流装置在存储介质中的执行过程,以下描述将具体介绍本实施例各程序模块的功能。
如图2所示,应用于DASH客户端的首帧均衡限流装置具体包括以下组成部分:
第一获取模块201,用于当使用DASH播放流媒体内容时,从服务器获取待播放的流媒体内容的视频数据文件和音频数据文件。
具体的,第一获取模块201,用于:
向服务器发送获取视频数据文件和音频数据文件的请求,并接收由所述服务器反馈回的视频数据文件和音频数据文件。
第二获取模块202,用于从所述视频数据文件中获取视频码流,并从所述音频数据文件中获取音频码流。
具体的,第二获取模块202,用于:
对所述视频数据文件进行解析,以得到文件头部区域中的视频码流信息;并对所述音频数据文件进行解析,以得到文件头部区域中的音频码流信息。
容量确定模块203,用于根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小。
其中,所述视频缓存区是预设的用于缓存视频内容的内存,所述音频缓存区是预设的用于缓存音频内容的内存;在本实施例中,所述视频缓存区和音频缓存区的容量大小是可以动态调整的。
具体的,容量确定模块203,用于:
根据所述视频码流,计算出播放第一设定数量的视频帧所需要的第一容量大小,并将所述第一容量大小设置为所述视频缓存区的容量大小;根据所述音频码流,计算出播放所述第一设定数量的音频帧所需要的第二容量大小,并将所述第二容量大小设定为所述音频缓存区的容量大小;或者,
根据所述视频码流和音频码流确定出音视频码流比例,并按照所述音视频码流比例,将预设的初始缓存总容量大小划分为视频缓存区的容量大小和音频缓存区的容量大小。
进一步的,所述装置还包括:
动态调整模块,用于在所述确定出视频缓存区的容量大小和音频缓存区的容量大小之后,在播放所述流媒体内容的过程中,每当播放第二设定数量的视频帧之后,将所述视频缓存区的容量大小扩大一倍,直至所述视频缓存区的容量大小达到预设的最大缓存总容量大小的一半;以及,每当播放所述第二设定数量的音频帧之后,将所述音频缓存区的容量大小扩大一倍,直至所述音频缓存区的容量大小达到预设的最大缓存总容量大小的一半。
更进一步的,所述装置还包括:
获取缓存模块,用于在所述确定出视频缓存区的容量大小和音频缓存区的容量大小之后,获取所述流媒体内容的首帧视频,并将所述首帧视频缓存在所述视频缓存区中;获取所述流媒体内容的首帧音频,并将所述首帧音频缓存在所述音频缓存区中。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,本实施例的计算机设备30至少包括但不限于:可通过系统总线相互通信连接的存储器301、处理器302。需要指出的是,图3仅示出了具有组件301-302的计算机设备30,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器301(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器301可以是计算机设备30的内部存储单元,例如该计算机设备30的硬盘或内存。在另一些实施例中,存储器301也可以是计算机设备30的外部存储设备,例如该计算机设备30上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器301还可以既包括计算机设备30的内部存储单元也包括其外部存储设备。在本实施例中,存储器301通常用于存储安装于计算机设备30的操作系统和各类应用软件,例如实施例二的首帧均衡限流装置的程序代码等。此外,存储器301还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器302在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器302通常用于控制计算机设备30的总体操作。
具体的,在本实施例中,处理器302用于执行处理器302中存储的首帧均衡限流方法的程序,所述首帧均衡限流方法的程序被执行时实现如下步骤:
当使用DASH播放流媒体内容时,从服务器获取待播放的流媒体内容的视频数据文件和音频数据文件;
从所述视频数据文件中获取视频码流,并从所述音频数据文件中获取音频码流;
根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
当使用DASH播放流媒体内容时,从服务器获取待播放的流媒体内容的视频数据文件和音频数据文件;
从所述视频数据文件中获取视频码流,并从所述音频数据文件中获取音频码流;
根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
本实施例提供的首帧均衡限流方法、装置、计算机设备及可读存储介质,根据视频码流和音频码流的比例关系配置视频缓存区的容量大小和音频缓存区的容量大小,使得视频缓存区的容量大小大于音频缓存区的容量大小,从而导致视频内容在缓存的过程中可以占用更多的带宽,提高下载视频内容的下载速度,并使得在相同的时间内,可以下载同样帧数的视频内容和音频内容。此外,为了达到快速输出首帧流媒体内容效果,限制初始的缓存区的容量大小,以使初始的视频缓存区的容量大小和初始的音频缓存区的容量大小可以缓存首帧视频内容和首帧音频内容即可。在音视频的播放过程中,动态扩大音频缓存区的容量大小和视频缓存区的容量大小。通过扩大音频缓存区的容量大小和视频缓存区的容量大小,可以减少请求缓存的次数,避免了网络拥堵。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (5)

1.一种首帧均衡限流方法,其特征在于,所述方法包括:
当使用基于HTTP的动态自适应流DASH播放流媒体内容时,从服务器获取待播放的流媒体内容的视频数据文件和音频数据文件;
从所述视频数据文件中获取视频码流,并从所述音频数据文件中获取音频码流;
根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小;
其中,所述根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小,具体包括:
根据所述视频码流,计算出播放第一设定数量的视频帧所需要的第一容量大小,并将所述第一容量大小设置为所述视频缓存区的容量大小;根据所述音频码流,计算出播放所述第一设定数量的音频帧所需要的第二容量大小,并将所述第二容量大小设定为所述音频缓存区的容量大小;或者,
根据所述视频码流和音频码流确定出音视频码流比例,并按照所述音视频码流比例,将预设的初始缓存总容量大小划分为视频缓存区的容量大小和音频缓存区的容量大小;
在所述确定出视频缓存区的容量大小和音频缓存区的容量大小之后,所述方法还包括:
在播放所述流媒体内容的过程中,每当播放第二设定数量的视频帧之后,将所述视频缓存区的容量大小扩大一倍,直至所述视频缓存区的容量大小达到预设的最大缓存总容量大小的一半;以及,每当播放所述第二设定数量的音频帧之后,将所述音频缓存区的容量大小扩大一倍,直至所述音频缓存区的容量大小达到预设的最大缓存总容量大小的一半。
2.根据权利要求1所述的首帧均衡限流方法,其特征在于,在所述确定出视频缓存区的容量大小和音频缓存区的容量大小之后,所述方法还包括:
获取所述流媒体内容的首帧视频,并将所述首帧视频缓存在所述视频缓存区中;
获取所述流媒体内容的首帧音频,并将所述首帧音频缓存在所述音频缓存区中。
3.一种首帧均衡限流装置,其特征在于,所述装置包括:
第一获取模块,用于当使用基于HTTP的动态自适应流DASH播放流媒体内容时,从服务器获取待播放的流媒体内容的视频数据文件和音频数据文件;
第二获取模块,用于从所述视频数据文件中获取视频码流,并从所述音频数据文件中获取音频码流;
容量确定模块,用于根据所述视频码流和音频码流,确定出视频缓存区的容量大小和音频缓存区的容量大小;
其中,所述容量确定模块,用于:
根据所述视频码流,计算出播放第一设定数量的视频帧所需要的第一容量大小,并将所述第一容量大小设置为所述视频缓存区的容量大小;根据所述音频码流,计算出播放所述第一设定数量的音频帧所需要的第二容量大小,并将所述第二容量大小设定为所述音频缓存区的容量大小;或者,
根据所述视频码流和音频码流确定出音视频码流比例,并按照所述音视频码流比例,将预设的初始缓存总容量大小划分为视频缓存区的容量大小和音频缓存区的容量大小;
所述装置还包括:
动态调整模块,用于在播放所述流媒体内容的过程中,每当播放第二设定数量的视频帧之后,将所述视频缓存区的容量大小扩大一倍,直至所述视频缓存区的容量大小达到预设的最大缓存总容量大小的一半;以及,每当播放所述第二设定数量的音频帧之后,将所述音频缓存区的容量大小扩大一倍,直至所述音频缓存区的容量大小达到预设的最大缓存总容量大小的一半。
4.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至2中任一项的所述首帧均衡限流方法的步骤。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至2中任一项的所述首帧均衡限流方法的步骤。
CN201910092901.0A 2019-01-30 2019-01-30 首帧均衡限流方法、装置、计算机设备及可读存储介质 Active CN111510761B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910092901.0A CN111510761B (zh) 2019-01-30 2019-01-30 首帧均衡限流方法、装置、计算机设备及可读存储介质
PCT/CN2019/128418 WO2020155956A1 (zh) 2019-01-30 2019-12-25 首帧均衡限流方法、装置、计算机设备及可读存储介质
EP19912992.5A EP3863293A4 (en) 2019-01-30 2019-12-25 FIRST FRAME CURRENT LIMITING METHOD AND DEVICE, COMPUTER DEVICE AND READABLE STORAGE MEDIA
US17/329,716 US11463494B2 (en) 2019-01-30 2021-05-25 Balance of initial frame and limitation of traffic

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910092901.0A CN111510761B (zh) 2019-01-30 2019-01-30 首帧均衡限流方法、装置、计算机设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111510761A CN111510761A (zh) 2020-08-07
CN111510761B true CN111510761B (zh) 2021-06-04

Family

ID=71840701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910092901.0A Active CN111510761B (zh) 2019-01-30 2019-01-30 首帧均衡限流方法、装置、计算机设备及可读存储介质

Country Status (4)

Country Link
US (1) US11463494B2 (zh)
EP (1) EP3863293A4 (zh)
CN (1) CN111510761B (zh)
WO (1) WO2020155956A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112616088A (zh) * 2020-11-26 2021-04-06 北京乐学帮网络技术有限公司 渲染方法及装置、电子设备和计算机可读存储介质
CN113179377B (zh) * 2021-03-17 2022-11-08 青岛小鸟看看科技有限公司 一种vr设备的信号切换方法和一种vr设备
CN114866814B (zh) * 2022-06-09 2024-04-30 上海哔哩哔哩科技有限公司 网络带宽分配方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011031853A1 (en) * 2009-09-09 2011-03-17 Netflix, Inc. Accelerated playback of streaming media
CN102724584A (zh) * 2012-06-18 2012-10-10 Tcl集团股份有限公司 网络视频在线播放方法、视频在线播放装置及智能电视
CN104780422A (zh) * 2014-01-13 2015-07-15 北京兆维电子(集团)有限责任公司 流媒体播放方法及流媒体播放器
CN107438192A (zh) * 2017-07-26 2017-12-05 武汉烽火众智数字技术有限责任公司 音视频播放同步的方法及相关系统和多媒体播放终端
CN107517400A (zh) * 2016-06-15 2017-12-26 成都鼎桥通信技术有限公司 流媒体播放方法及流媒体播放器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070195735A1 (en) * 2006-02-22 2007-08-23 Rosen Eric C Method of buffering to reduce media latency in group communications on a wireless communication network
US7379653B2 (en) * 2002-02-20 2008-05-27 The Directv Group, Inc. Audio-video synchronization for digital systems
US20050071881A1 (en) * 2003-09-30 2005-03-31 Deshpande Sachin G. Systems and methods for playlist creation and playback
US9197684B2 (en) * 2010-05-27 2015-11-24 Ineoquest Technologies, Inc. Streaming media delivery composite
US9615126B2 (en) * 2011-06-24 2017-04-04 Google Technology Holdings LLC Intelligent buffering of media streams delivered over internet
US9276989B2 (en) * 2012-03-30 2016-03-01 Adobe Systems Incorporated Buffering in HTTP streaming client
US9402114B2 (en) * 2012-07-18 2016-07-26 Cisco Technology, Inc. System and method for providing randomization in adaptive bitrate streaming environments
CN106303562B (zh) * 2016-09-20 2019-03-01 天津大学 基于pi控制的多视点视频自适应传输控制算法
CN107371061B (zh) * 2017-08-25 2021-03-19 普联技术有限公司 一种视频流播放方法、装置及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011031853A1 (en) * 2009-09-09 2011-03-17 Netflix, Inc. Accelerated playback of streaming media
CN102724584A (zh) * 2012-06-18 2012-10-10 Tcl集团股份有限公司 网络视频在线播放方法、视频在线播放装置及智能电视
CN104780422A (zh) * 2014-01-13 2015-07-15 北京兆维电子(集团)有限责任公司 流媒体播放方法及流媒体播放器
CN107517400A (zh) * 2016-06-15 2017-12-26 成都鼎桥通信技术有限公司 流媒体播放方法及流媒体播放器
CN107438192A (zh) * 2017-07-26 2017-12-05 武汉烽火众智数字技术有限责任公司 音视频播放同步的方法及相关系统和多媒体播放终端

Also Published As

Publication number Publication date
EP3863293A1 (en) 2021-08-11
US11463494B2 (en) 2022-10-04
EP3863293A4 (en) 2022-07-27
WO2020155956A1 (zh) 2020-08-06
US20210281624A1 (en) 2021-09-09
CN111510761A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
US11463494B2 (en) Balance of initial frame and limitation of traffic
US11374843B2 (en) Method for measuring network speed, computing device, and computer-program product
US11490173B2 (en) Switch of audio and video
US20140052846A1 (en) Adaptive video streaming over a content delivery network
US11303949B2 (en) Method of switching resolution, computing device, and computer-readable storage medium
JP6314252B2 (ja) ネットワークビデオ再生方法及び装置
CN107147921A (zh) 基于切片与智能cdn调度的视频播放加速方法和设备
US20150134846A1 (en) Method and apparatus for media segment request retry control
CN109067816B (zh) 一种游戏资源推送方法、服务器及客户端
CN111431813A (zh) 访问限流方法、设备及存储介质
CN106657182B (zh) 云端文件处理方法和装置
CN111510791B (zh) 播放音视频的方法、装置、计算机设备及可读存储介质
CN114040245A (zh) 视频播放方法、装置、计算机存储介质和电子设备
US8648870B1 (en) Method and apparatus for performing frame buffer rendering of rich internet content on display devices
CN111510771B (zh) 清晰度切换算法的选择方法、系统、设备及介质
WO2023083213A1 (zh) 一种数据解码方法、装置、电子设备及可读存储介质
CN111510747B (zh) 视频清晰度确定方法、系统、计算机设备及存储介质
CN115190338B (zh) 视频预加载的方法和系统
CN113835789A (zh) 渲染方法、装置、电子设备及计算机存储介质
CN109889608B (zh) 一种动态资源加载方法、装置、电子设备及存储介质
CN113905248A (zh) 直播视频数据传输方法、装置、设备以及存储介质
CN111953739B (zh) 一种资源下载的方法、装置及介质
CN112600760B (zh) 一种应用层流量限速方法、终端设备及存储介质
CN112506980B (zh) 基于推荐场景的流式数据处理控频方法及系统
WO2024125249A1 (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