CN112533067B - 一种超高清点播视频的快速起播方法与装置 - Google Patents
一种超高清点播视频的快速起播方法与装置 Download PDFInfo
- Publication number
- CN112533067B CN112533067B CN202011261066.8A CN202011261066A CN112533067B CN 112533067 B CN112533067 B CN 112533067B CN 202011261066 A CN202011261066 A CN 202011261066A CN 112533067 B CN112533067 B CN 112533067B
- Authority
- CN
- China
- Prior art keywords
- hard disk
- storage module
- disk storage
- definition video
- ultra
- 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
Links
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- 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/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/781—Television signal recording using magnetic recording on disks or drums
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开了一种超高清点播视频的快速起播方法与装置,方法包括:获取到超高清视频文件后,计算超高清视频文件中需要保存至高速小容量硬盘存储模块的GOP的个数n;将超高清视频文件的头部数据以及计算出的最初n个GOP存储至高速小容量硬盘存储模块,将完整视频文件存储至通用大容量硬盘存储模块;当接收到客户端的播放请求时,从高速小容量硬盘存储模块读取超高清视频文件的头部数据和最初n个GOP先发送至客户端,同时从通用大容量硬盘存储模块读取剩余的视频数据随后发送至客户端。本方案保证了客户端的视频快速起播,保证了视频内容从高速硬盘切换到通用大容量硬盘时预留足够的GOP缓冲,使视频播放流畅不卡顿。
Description
技术领域
本发明属于超高清视频的存储和播放领域,更具体地,涉及一种超高清点播视频的快速起播方法与装置。
背景技术
随着5G和互联网技术的大力发展,以及VR/AR(Virtual Reality/AugmentedReality,即虚拟现实/增强现实)技术的高速发展,使得超高清视频逐渐向8K、12K过渡,相应地,视频所要求的分辨率、帧率、色深等越来越高,相应的码率也跟着越来越大。例如,8K超高清视频的码率已达到50-260Mbps,8KVR超高清视频以及12K超高清视频的码率则可能达到500Mbps。因此,对应超高清视频的CDN(Content Delivery Network,即内容分发网络)也要求能够提供针对超高清视频的存储、分发等,并达到良好的体验效果。
终端请求视频播放时,只有当收到视频的所有头部数据以及第一个完整的GOP(Group of Pictures,即画面组)后,才能播放出清晰的画面。如果从硬盘读取速度过慢,就造成无法快速起播;而在终端播放完第一个GOP后,如果后续的GOP没有及时收到,则会造成播放卡顿。其中,此处所说的头部数据是指第一个GOP之前的数据。
当前通用的大容量硬盘虽然存储容量较大,但读取速度较慢,4TB、6TB、8TB的稳定读取速度一般是100MBps到200MBps,即使是10TB、12TB、14TB这样的大容量硬盘,读取速度也是在200MBps左右;例如希捷的企业级的4TB到14TB的SATA接口硬盘,读取速度基本是在200MBps左右。高速的NVMe(Non-Volatile Memory express,即非易失性内存主机控制器接口规范,是一种协议,能够使固态硬盘运行得更快)的存储容量不大,但是读取速度可达到2000-3000MBps。
如果超高清视频全部用NVMe存储会导致成本高,而如果用通用的大容量硬盘存储,在起播时由于把头部数据和开始一个GOP读取到发送完成可能耗时能达到2秒以上,容易造成用户体验差。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种超高清点播视频的快速起播方法与装置,其目的在于根据实际播放需求对超高清视频文件进行分类存储,由此解决超高清视频在终端无法快速起播以及播放卡顿的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种超高清点播视频的快速起播方法,包括:
获取到超高清视频文件后,计算所述超高清视频文件中需要保存至高速小容量硬盘存储模块的GOP的个数n;
将超高清视频文件的头部数据以及计算出的最初n个GOP存储至高速小容量硬盘存储模块,将完整视频文件存储至通用大容量硬盘存储模块;
当接收到客户端的播放请求时,从所述高速小容量硬盘存储模块读取超高清视频文件的头部数据和最初n个GOP先发送至客户端,同时从所述通用大容量硬盘存储模块读取剩余的视频数据随后发送至客户端。
优选地,所述计算所述超高清视频文件中需要保存至高速小容量硬盘存储模块的GOP的个数n,具体为:
根据所述超高清视频文件的码率和所述通用大容量硬盘存储模块的读取速度,计算出基数;
根据所述高速小容量硬盘存储模块和所述通用大容量硬盘存储模块的读取速度之比,计算出拉伸系数;
将计算出的所述基数和所述拉伸系数相乘,得到所述超高清视频文件中需要保存至高速小容量硬盘存储模块的视频秒数;
通过将计算出的所述视频秒数和所述超高清视频文件中每个GOP的实际秒数相除,并向上取整,计算出需要保存至高速小容量硬盘存储模块的GOP的个数n。
优选地,如果获取到所述超高清视频文件的码率为B Mbps,所述通用大容量硬盘存储模块的读取速度为SL MBps,则所述基数DB的计算方法具体为:
比较码率B与SL*8/m以及SL*8的大小关系;
如果B<=SL*8/m,则DB=k1秒;
如果SL*8/m<=B<=SL*8,则DB从k1秒到k2秒线性增加。
优选地,m=5±1,k1=1±0.5,k2=5±0.5。
优选地,如果获取到所述通用大容量硬盘存储模块的读取速度为SL MBps,所述高速小容量硬盘存储模块的读取速度为SH MBps,则所述拉伸系数a的计算方法具体为:
计算SH/SL,并比较SH/SL与常数b和常数c的大小关系;
如果SH/SL<=b,则a=p1;
如果b<=SH/SL<=c,则a从p1到p2线性增加;
如果SH/SL>c,则a=p2。
优选地,b=25±2,c=50±2,p1=1±0.05,p2=2±0.05。
优选地,所述超高清视频文件的格式为HLS、MP4或FLV。
优选地,所述高速小容量硬盘存储模块的容量小于4TB,读取速度大于2000MBps。
优选地,所述通用大容量硬盘存储模块的容量大于等于4TB,读取速度为200±100MBps。
按照本发明的另一方面,提供了一种超高清点播视频的快速起播装置,包括超高清视频分析模块、超高清视频存储模块、通用大容量硬盘存储模块、高速小容量硬盘存储模块和超高清视频发流模块;
所述超高清视频分析模块用于在获取到超高清视频文件后,计算所述超高清视频文件中需要保存至高速小容量硬盘存储模块的GOP的个数n;
所述超高清视频存储模块用于根据所述超高清视频分析模块的计算结果,将所述超高清视频文件的头部数据以及计算出的最初n个GOP存储至所述高速小容量硬盘存储模块,并将完整视频文件存储至所述通用大容量硬盘存储模块;
所述超高清视频发流模块用于在接收到客户端的播放请求时,从所述高速小容量硬盘存储模块读取超高清视频文件的头部数据和最初n个GOP先发送至客户端,同时从所述通用大容量硬盘存储模块读取剩余的视频数据随后发送至客户端。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:本发明提供的超高清点播视频的快速起播方案中,将超高清视频的头部数据和最初的部分GOP存储到高速硬盘中,完整视频文件存储到通用的大容量硬盘中;在起播时,优先从高速硬盘中读取头部数据和部分GOP并发送,同时从通用的大容量硬盘中读取剩余内容并随后发送。由于头部数据和最初的部分GOP读取很快,这样就保证了终端用户的视频快速起播,另保证了视频内容从高速硬盘切换到通用大容量硬盘时预留足够的GOP缓冲,使得视频播放流畅不卡顿。
附图说明
图1是本发明实施例提供的一种超高清点播视频的快速起播装置图;
图2是本发明实施例提供的一种超高清视频的分析和存储示意图;
图3是本发明实施例提供的一种超高清视频的读取和发流示意图;
图4是本发明实施例提供的一种超高清点播视频的快速起播方法的流程图;
图5是本发明实施例提供的一种某个MP4格式超高清视频的快速起播方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1
为解决超高清视频在终端无法快速起播以及播放卡顿的技术问题,本发明实施例提供了一种超高清点播视频的快速起播装置,如图1-图3所示,主要包括超高清视频分析模块、超高清视频存储模块、通用大容量硬盘存储模块、高速小容量硬盘存储模块和超高清视频发流模块,适用于MP4、HLS、FLV格式以及其他格式的超高清视频。
所述超高清视频分析模块主要负责分析视频内容,具体用于在获取到某个格式的超高清视频文件后,计算所述超高清视频文件中需要保存至所述高速小容量硬盘存储模块的GOP个数n。其中,GOP个数n的具体计算过程可参考实施例2和实施例3,在此不做赘述。
所述超高清视频存储模块用于根据所述超高清视频分析模块的分析计算结果,将所述超高清视频文件的头部数据以及计算出的最初n个GOP存储至所述高速小容量硬盘存储模块,同时将完整视频文件存储至所述通用大容量硬盘存储模块。其中,所述头部数据是指所述超高清视频文件中第一个GOP之前的视频数据。参考图2和图3,对于MP4和FLV格式的超高清视频来讲,所述头部数据就是指moov;对于HLS格式的超高清视频来讲,所述头部数据就是指索引数据;对于其他格式的超高清视频,所述头部数据具体与格式本有关,在此不一一说明。
所述超高清视频发流模块用于在接收到客户端的播放请求时,从所述高速小容量硬盘存储模块读取所述超高清视频文件的头部数据和最初n个GOP先发送至客户端,同时从所述通用大容量硬盘存储模块读取剩余的视频数据随后发送至客户端。具体地,所述超高清视频发流模块接收到客户端的播放请求后,从所述高速小容量硬盘存储模块中读取这次用户请求的超高清视频内容的头部数据和最初n个GOP,同时从所述通用大容量硬盘存储模块读取这次用户请求的超高清视频内容的剩余视频数据;先将从所述高速小容量硬盘存储模块中读取的头部数据和最初n个GOP发送至客户端,待头部数据和最初n个GOP发送完成后,再将从所述通用大容量硬盘存储模块读取的剩余视频数据发送至客户端。
其中,所述通用大容量硬盘存储模块需要存储所述超高清视频文件的完整视频文件,因此硬盘容量需较大,一般大于等于4TB;读取速度通常在200MBps左右,具体为200±100MBps。例如所述通用大容量硬盘存储模块具体可采用希捷银河的4TB到14TB的SATA接口企业级硬盘,读取速度基本在200MBps左右,满足使用需求;当然,此处只是举例说明,还可采用其他合适的大容量硬盘,在此不做具体限定。
所述高速小容量硬盘存储模块用于存储所述超高清视频文件的头部数据以及计算出的最初n个GOP(即图2和图3中的GOP1、...、GOPn),这部分视频数据需要很快进行读取,因此所述高速小容量硬盘存储模块的读取速度需较大,一般大于2000MBps;容量不限制,但通常小于4TB,这里的“小容量”也是相对于所述通用大容量硬盘存储模块而言的。例如,所述高速小容量硬盘存储模块具体可采用Kingston金士顿2000系列的M.2NVMe,其硬盘容量为500GB,平均读取速度大于2000MBps满足使用需求;当然,此处只是举例说明,还可采用其他合适的高速硬盘,在此不做具体限定。
进一步地,所述超高清视频分析模块按照如下过程计算需要保存至高速小容量硬盘存储模块的GOP的个数n:
1)根据所述超高清视频文件的码率和所述通用大容量硬盘存储模块的读取速度,计算出基数DB;其中,所述基数DB的单位是秒,表明需要存储到所述高速小容量硬盘存储模块中的视频有多少秒。如果获取到所述超高清视频文件的码率为B Mbps,所述通用大容量硬盘存储模块的读取速度为SL MBps,则所述基数DB的计算方法具体为:比较码率B与SL*8/m以及SL*8(*8是因为要将Mbps转成MBps,保持单位一致;其中,1MBps=8Mbps)的大小关系;如果B<=SL*8/m,则DB=k1秒;如果SL*8/m<=B<=SL*8,则DB从k1秒到k2秒线性增加;如果B>SL*8,则所述超高清视频文件中的视频数据不适合保存至该高速小容量硬盘存储模块,这种特殊情况通常不考虑。
其中,m、k1、k2均为经验数据,m=5±1,k1=1±0.5,k2=5±0.5,在算法中可以作为常数考虑,也可以作为超参数(即可以修改的参数)考虑。在一个具体的实施例中,m=5,k1=1,k2=5,则有:如果B<=SL*8/5,则DB=1秒;如果SL*8/5<=B<=SL*8,则DB从1秒到5秒线性增加。
2)根据所述高速小容量硬盘存储模块和所述通用大容量硬盘存储模块的读取速度之比,计算出拉伸系数a。如果获取到所述通用大容量硬盘存储模块的读取速度为SLMBps,所述高速小容量硬盘存储模块的读取速度为SH MBps,则所述拉伸系数a的计算方法具体为:计算两个硬盘的读取速度比SH/SL,并比较SH/SL与常数b和常数c的大小关系;如果SH/SL<=b,则a=p1;如果b<=SH/SL<=c,则a从p1到p2线性增加;如果SH/SL>c,则a=p2。
其中,b、c、p1、p2均为经验数据,b=25±2,c=50±2,p1=1±0.05,p2=2±0.05,b、c在算法中可以作为常数考虑;p1、p2在算法中可以作为常数考虑,也可以作为超参数考虑。在一个具体的实施例中,b=25,c=50,p1=1,p2=2,则有:如果SH/SL<=25,则a=1;如果25<=SH/SL<=50,则a从1到2线性增加;如果SH/SL>50,则a=2。
3)将计算出的所述基数DB和所述拉伸系数a相乘,得到所述超高清视频文件中需要保存至高速小容量硬盘存储模块的视频秒数,即DB*a。
4)根据计算出的所述视频秒数DB*a和所述超高清视频文件中每个GOP的实际秒数t,计算出需要保存至高速小容量硬盘存储模块的最初DB*a秒的GOP个数n,即n=DB*a/t并向上取整。
其中,上述计算GOP个数n的原理具体如下:为了达到快速起播的效果,至少把头部数据和第一个GOP存放到所述高速小容量硬盘存储模块中,终端收到第一个GOP后,就可以完整播放出画面。但是,为了保证后续播放不卡顿,后续的GOP也不能发送延迟。这样一来,对于视频码率越高的视频,就要求相应更多的媒体数据(也就是GOP)保存到所述高速小容量硬盘存储模块中。具体是保存多少GOP到所述高速小容量硬盘模块中,经验数据一般是1-10秒,计算过程分成上面四步。其中,在1)中,码率越高、通用大容量硬盘存储模块的读取速度越低,可存储至所述高速小容量硬盘存储模块的GOP秒数就越大,并以此为基数,设定为1-5秒;在2)中,高速小容量硬盘存储模块和通用大容量硬盘存储模块的读取速度比越大,可以保存到高速小容量硬盘存储模块的GOP秒数就越大,由于前面已经有基数,这里就作为拉伸系数a;在3)中,将前两步得到的两个数相乘,即可得到保存到高速小容量硬盘存储模块的GOP总秒数;在4)中,由于要保持GOP完整性,因此将GOP总秒数转为GOP的个数。
本发明实施例提供的上述装置中,同时设有通用大容量硬盘存储模块和高速小容量硬盘存储模块,利用超高清视频分析模块可计算出需要保存至高速小容量硬盘存储模块的GOP个数n,然后由超高清视频存储模块将头部数据以及计算出的最初n个GOP存储至高速小容量硬盘存储模块,将完整视频文件存储至通用大容量硬盘存储模块;在起播时,超高清视频发流模块可优先从高速小容量硬盘存储模块读取头部数据和最初n个GOP并发送,同时从通用大容量硬盘存储模块读取剩余的视频数据随后发送,不仅可保证视频的快速起播,还保证视频播放流畅不卡顿。
实施例2
为解决超高清视频在终端无法快速起播以及播放卡顿的技术问题,在上述实施例1的基础上,本发明实施例提供了一种超高清点播视频的快速起播方法,主要分为视频分析存储和视频读取发流两大步,可采用实施例1中的装置实现。如图4所示,所述方法主要包括以下步骤(其中,步骤101-102对应视频分析存储过程,步骤103对应视频读取发流过程):
步骤101,获取到超高清视频文件后,计算所述超高清视频文件中需要保存至高速小容量硬盘存储模块的GOP的个数n。
结合图2,所述超高清视频分析模块获取到超高清视频文件,具体可以是HLS、MP4、FLV格式的视频,也可以是其他格式的视频;然后计算所述超高清视频文件中需要保存至高速小容量硬盘存储模块的GOP的个数n,具体计算过程如下:
1)根据所述超高清视频文件的码率和所述通用大容量硬盘存储模块的读取速度,计算出基数DB;其中,所述基数DB的单位是秒,表明需要存储到所述高速小容量硬盘存储模块中的视频有多少秒。如果获取到所述超高清视频文件的码率为B Mbps,所述通用大容量硬盘存储模块的读取速度为SL MBps,则所述基数DB的计算方法具体为:比较码率B与SL*8/m以及SL*8(*8是因为要将Mbps转成MBps,保持单位一致;其中,1MBps=8Mbps)的大小关系;如果B<=SL*8/m,则DB=k1秒;如果SL*8/m<=B<=SL*8,则DB从k1秒到k2秒线性增加;如果B>SL*8,则所述超高清视频文件中的视频数据不适合保存至该高速小容量硬盘存储模块,这种特殊情况通常不考虑。
其中,m、k1、k2均为经验数据,m=5±1,k1=1±0.5,k2=5±0.5,在算法中可以作为常数考虑,也可以作为超参数(即可以修改的参数)考虑。在一个具体的实施例中,m=5,k1=1,k2=5,则有:如果B<=SL*8/5,则DB=1秒;如果SL*8/5<=B<=SL*8,则DB从1秒到5秒线性增加。
2)根据所述高速小容量硬盘存储模块和所述通用大容量硬盘存储模块的读取速度之比,计算出拉伸系数a。如果获取到所述通用大容量硬盘存储模块的读取速度为SLMBps,所述高速小容量硬盘存储模块的读取速度为SH MBps,则所述拉伸系数a的计算方法具体为:计算两个硬盘的读取速度比SH/SL,并比较SH/SL与常数b和常数c的大小关系;如果SH/SL<=b,则a=p1;如果b<=SH/SL<=c,则a从p1到p2线性增加;如果SH/SL>c,则a=p2。
其中,b、c、p1、p2均为经验数据,b=25±2,c=50±2,p1=1±0.05,p2=2±0.05,b、c在算法中可以作为常数考虑;p1、p2在算法中可以作为常数考虑,也可以作为超参数考虑。在一个具体的实施例中,b=25,c=50,p1=1,p2=2,则有:如果SH/SL<=25,则a=1;如果25<=SH/SL<=50,则a从1到2线性增加;如果SH/SL>50,则a=2。
3)将计算出的所述基数DB和所述拉伸系数a相乘,得到所述超高清视频文件中需要保存至高速小容量硬盘存储模块的视频秒数,即DB*a。
4)根据计算出的所述视频秒数DB*a和所述超高清视频文件中每个GOP的实际秒数t,计算出需要保存至高速小容量硬盘存储模块的最初DB*a秒的GOP个数n,即n=DB*a/t并向上取整。
其中,上述计算GOP个数n的原理具体如下:为了达到快速起播的效果,至少把头部数据和第一个GOP存放到所述高速小容量硬盘存储模块中,终端收到第一个GOP后,就可以完整播放出画面。但是,为了保证后续播放不卡顿,后续的GOP也不能发送延迟。这样一来,对于视频码率越高的视频,就要求相应更多的媒体数据(也就是GOP)保存到所述高速小容量硬盘存储模块中。具体是保存多少GOP到所述高速小容量硬盘模块中,经验数据一般是1-10秒,计算过程分成上面四步。其中,在1)中,码率越高、通用大容量硬盘存储模块的读取速度越低,可存储至所述高速小容量硬盘存储模块的GOP秒数就越大,并以此为基数,设定为1-5秒;在2)中,高速小容量硬盘存储模块和通用大容量硬盘存储模块的读取速度比越大,可以保存到高速小容量硬盘存储模块的GOP秒数就越大,由于前面已经有基数,这里就作为拉伸系数a;在3)中,将前两步得到的两个数相乘,即可得到保存到高速小容量硬盘存储模块的GOP总秒数;在4)中,由于要保持GOP完整性,因此将GOP总秒数转为GOP的个数。
步骤102,将超高清视频文件的头部数据以及计算出的最初n个GOP存储至高速小容量硬盘存储模块,将完整视频文件存储至通用大容量硬盘存储模块。
如图2所示,所述超高清视频存储模块可根据所述超高清视频分析模块的分析结果,将所述超高清视频文件的头部数据(比如MP4/FLV的头部moov,HLS的m3u8索引等)以及计算出的最初n个GOP存储至高速小容量硬盘存储模块,同时将所述超高清视频文件的完整视频文件存储至通用大容量硬盘存储模块。
步骤103,当接收到客户端的播放请求时,从所述高速小容量硬盘存储模块读取超高清视频文件的头部数据和最初n个GOP先发送至客户端,同时从所述通用大容量硬盘存储模块读取剩余的视频数据随后发送至客户端。
继续结合图3,所述超高清视频发流模块接收到客户端的播放请求后,从所述高速小容量硬盘存储模块中读取这次用户请求的超高清视频内容的头部数据(比如MP4/FLV的头部moov,HLS的m3u8索引等)和最初n个GOP,同时从所述通用大容量硬盘存储模块读取这次用户请求的超高清视频内容的剩余视频数据;先将从所述高速小容量硬盘存储模块中读取的头部数据和最初n个GOP发送至客户端,待头部数据和最初n个GOP发送完成后,再将从所述通用大容量硬盘存储模块读取的剩余视频数据发送至客户端。
本发明实施例提供的上述方法中,根据视频码率、通用大容量硬盘的读取速度、高速小容量硬盘的读取速度以及视频内容本身的GOP大小,计算出需要保存到高速小容量硬盘的n个GOP,再把视频内容的头部数据以及最初n个GOP存储到高速小容量硬盘中,把整个完整视频存储到通用大容量硬盘;播放时分别从高速小容量硬盘读取头部内容和最初n个GOP,从通用大容量硬盘读取余下的内容。由于头部数据和最初n个GOP读取很快,这样就保证了终端用户的快速起播,另保证了视频内容从高速小容量硬盘切换到通用大容量硬盘时预留足够的GOP缓冲,使得播放流畅不卡顿。
实施例3
在上述实施例1和实施例2的基础上,本发明进一步以一个MP4格式的超高清视频文件为例,提供了一种超高清点播视频的快速起播方法,参考图5,具体过程如下:
其中,步骤201-204表明了该MP4格式的超高清视频文件如何进行分析和存储,步骤205-207表明了该MP4格式的超高清视频文件如何进行刦和发流。
步骤201,准备一个MP4格式的超高清视频文件;其中,该超高清视频文件的码率B是300Mbps,头部moov的大小是20MB,每个GOP的实际秒数t是0.5秒。
步骤202,准备通用大容量硬盘存储模块和高速小容量硬盘存储模块;其中,通用大容量硬盘存储模块的读取速度SL是100MBps,容量是6TB;高速小容量硬盘存储模块的读取速度SH是3000MBps,容量是400GB。
步骤203,超高清视频分析模块获取到该MP4格式的超高清视频文件后,计算该MP4格式的超高清视频文件的头部moov和需要保存至高速小容量硬盘存储模块的前n个GOP。
首先计算出基数DB:以m=5、k1=1、k2=5为例,当前视频码率B=300Mbps,通用大容量硬盘的读取速度SL是100MBps,由于100*8/5<=300<=100*8,则DB从1秒到5秒线性增加,实际计算出来DB=1.875秒。
然后计算出拉伸系统a:以b=25、c=50、p1=1、p2=2为例,当前通用大容量硬盘的读取速度SL是100MBps,高速小容量硬盘的读取速度SH是3000MBps,则计算SH/SL=3000/100=30,由于25<=30<=50,则拉伸系统从1到2线性增长,实际计算出a=1.2。
再计算出实际的GOP总秒数:1.875*1.2=2.25。
最后计算出GOP个数n:该MP4格式的视频中每个GOP的秒数t=0.5秒,则n=2.25/0.5,向上取整为5。
因此需要将该MP4格式超高清视频文件的moov和前5个GOP存储到高速小容量硬盘存储模块中。
步骤204,超高清视频存储模块根据所述超高清视频分析模块的分析结果,将该MP4格式超高清视频文件的头部moov和最初5个GOP存储到高速小容量硬盘存储模块,同时将完整视频文件存储到通用大容量硬盘存储模块。
至此,通用大容量硬盘存储模块中存储了该MP4完整的超高清视频文件,高速小容量硬盘存储模块中存储了该MP4的头部moov和最初5个GOP。
步骤205,超高清视频发流模块接收到客户端点播该MP4文件的请求。
步骤206,超高清视频发流模块从高速小容量硬盘存储模块中读取该MP4文件的头部moov和最初5个GOP,同时从通用大容量硬盘存储模块中读取余下的视频内容。
步骤207,超高清视频发流模块将从高速小容量硬盘存储模块中读取的视频数据发送到客户端,发送完成后再将从通用大容量硬盘存储模块中读取的余下视频内容发送到客户端。
根据计算可得,该MP4文件的头部moov和最初5个GOP的大小大概是20+(300*0.5*5/8)=113.75MB,这些数据从读取速度为3000MBps的高速小容量硬盘存储模块读取所花费的时间约为38毫秒,这样可以使客户端起播时间达到100-200毫秒以内,可实现视频的快速起播。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种超高清点播视频的快速起播方法,其特征在于,包括:
获取到超高清视频文件后,根据所述超高清视频文件的码率、高速小容量硬盘存储模块和通用大容量硬盘存储模块的读取速度之比,以及所述超高清视频文件中每个GOP的实际秒数,计算所述超高清视频文件中需要保存至高速小容量硬盘存储模块的GOP的个数n;
将超高清视频文件的头部数据以及计算出的最初n个GOP存储至高速小容量硬盘存储模块,将完整视频文件存储至通用大容量硬盘存储模块;
当接收到客户端的播放请求时,从所述高速小容量硬盘存储模块读取超高清视频文件的头部数据和最初n个GOP先发送至客户端,同时从所述通用大容量硬盘存储模块读取剩余的视频数据随后发送至客户端。
2.如权利要求1所述的超高清点播视频的快速起播方法,其特征在于,所述计算所述超高清视频文件中需要保存至高速小容量硬盘存储模块的GOP的个数n,具体为:
根据所述超高清视频文件的码率和所述通用大容量硬盘存储模块的读取速度,计算出基数;
根据所述高速小容量硬盘存储模块和所述通用大容量硬盘存储模块的读取速度之比,计算出拉伸系数;
将计算出的所述基数和所述拉伸系数相乘,得到所述超高清视频文件中需要保存至高速小容量硬盘存储模块的视频秒数;
通过将计算出的所述视频秒数和所述超高清视频文件中每个GOP的实际秒数相除,并向上取整,计算出需要保存至高速小容量硬盘存储模块的GOP的个数n。
3.如权利要求2所述的超高清点播视频的快速起播方法,其特征在于,如果获取到所述超高清视频文件的码率为B Mbps,所述通用大容量硬盘存储模块的读取速度为SL MBps,则基数DB的计算方法具体为:
比较码率B与SL*8/m以及SL*8的大小关系,其中,m为常数;
如果B<=SL*8/m,则DB=k1秒;
如果SL*8/m<=B<=SL*8,则DB从k1秒到k2秒线性增加。
4.如权利要求3所述的超高清点播视频的快速起播方法,其特征在于,m=5±1,k1=1±0.5,k2=5±0.5。
5.如权利要求2所述的超高清点播视频的快速起播方法,其特征在于,如果获取到所述通用大容量硬盘存储模块的读取速度为SL MBps,所述高速小容量硬盘存储模块的读取速度为SHMBps,则所述拉伸系数a的计算方法具体为:
计算SH/SL,并比较SH/SL与常数b和常数c的大小关系;
如果SH/SL<=b,则a=p1;
如果b<=SH/SL<=c,则a从p1到p2线性增加;
如果SH/SL>c,则a=p2。
6.如权利要求5所述的超高清点播视频的快速起播方法,其特征在于,b=25±2,c=50±2,p1=1±0.05,p2=2±0.05。
7.如权利要求1-6任一所述的超高清点播视频的快速起播方法,其特征在于,所述超高清视频文件的格式为HLS、MP4或FLV。
8.如权利要求1-6任一所述的超高清点播视频的快速起播方法,其特征在于,所述高速小容量硬盘存储模块的容量小于4TB,读取速度大于2000MBps。
9.如权利要求1-6任一所述的超高清点播视频的快速起播方法,其特征在于,所述通用大容量硬盘存储模块的容量大于等于4TB,读取速度为200±100MBps。
10.一种超高清点播视频的快速起播装置,其特征在于,包括超高清视频分析模块、超高清视频存储模块、通用大容量硬盘存储模块、高速小容量硬盘存储模块和超高清视频发流模块;
所述超高清视频分析模块用于在获取到超高清视频文件后,使用权利要求1-9中任一项提供的方法计算所述超高清视频文件中需要保存至高速小容量硬盘存储模块的GOP的个数n;
所述超高清视频存储模块用于根据所述超高清视频分析模块的计算结果,将所述超高清视频文件的头部数据以及计算出的最初n个GOP存储至所述高速小容量硬盘存储模块,并将完整视频文件存储至所述通用大容量硬盘存储模块;
所述超高清视频发流模块用于在接收到客户端的播放请求时,从所述高速小容量硬盘存储模块读取超高清视频文件的头部数据和最初n个GOP先发送至客户端,同时从所述通用大容量硬盘存储模块读取剩余的视频数据随后发送至客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011261066.8A CN112533067B (zh) | 2020-11-12 | 2020-11-12 | 一种超高清点播视频的快速起播方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011261066.8A CN112533067B (zh) | 2020-11-12 | 2020-11-12 | 一种超高清点播视频的快速起播方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112533067A CN112533067A (zh) | 2021-03-19 |
CN112533067B true CN112533067B (zh) | 2022-05-31 |
Family
ID=74981294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011261066.8A Active CN112533067B (zh) | 2020-11-12 | 2020-11-12 | 一种超高清点播视频的快速起播方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112533067B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596568B (zh) * | 2021-07-01 | 2023-10-17 | 广州虎牙科技有限公司 | 视频播放方法、装置、智能终端及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072489A (zh) * | 2015-07-17 | 2015-11-18 | 成都视达科信息技术有限公司 | 一种快速文件读取的方法和系统 |
CN109474854A (zh) * | 2018-11-29 | 2019-03-15 | 广州市百果园信息技术有限公司 | 视频播放方法、播放列表的生成方法及相关设备 |
CN109618179A (zh) * | 2019-01-21 | 2019-04-12 | 北京数码视讯软件技术发展有限公司 | 超高清视频直播的快速起播方法及装置 |
CN110677736A (zh) * | 2019-10-08 | 2020-01-10 | 烽火通信科技股份有限公司 | 一种hls点播快速起播方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4904564B2 (ja) * | 2009-12-15 | 2012-03-28 | シャープ株式会社 | コンテンツ配信システム、コンテンツ配信装置、コンテンツ再生端末およびコンテンツ配信方法 |
-
2020
- 2020-11-12 CN CN202011261066.8A patent/CN112533067B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072489A (zh) * | 2015-07-17 | 2015-11-18 | 成都视达科信息技术有限公司 | 一种快速文件读取的方法和系统 |
CN109474854A (zh) * | 2018-11-29 | 2019-03-15 | 广州市百果园信息技术有限公司 | 视频播放方法、播放列表的生成方法及相关设备 |
CN109618179A (zh) * | 2019-01-21 | 2019-04-12 | 北京数码视讯软件技术发展有限公司 | 超高清视频直播的快速起播方法及装置 |
CN110677736A (zh) * | 2019-10-08 | 2020-01-10 | 烽火通信科技股份有限公司 | 一种hls点播快速起播方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112533067A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9510043B2 (en) | Pre-buffering audio streams | |
CN108271048B (zh) | 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法 | |
CN107743708B (zh) | 经由dash来参与abr流传送会话的方法、装置和节点 | |
KR101737325B1 (ko) | 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치 | |
CN103379362B (zh) | 视频点播方法和系统 | |
US9282347B2 (en) | Controlled rate VOD server | |
US10438313B2 (en) | Systems and methods for streaming video games using GPU command streams | |
WO2017201090A1 (en) | Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback | |
US20100223648A1 (en) | Implementation Method And System For A Media-On-Demand Frame-Spanning Playing Mode In A Peer-To-Peer Network | |
US8806051B2 (en) | Multimedia file sharing method and system thereof | |
CN107438202A (zh) | 一种实现码率切换的方法及装置 | |
CN112533067B (zh) | 一种超高清点播视频的快速起播方法与装置 | |
CN109218739A (zh) | 视频流的视角切换方法、装置、设备和计算机存储介质 | |
US10019448B2 (en) | Methods and systems for providing file data for media files | |
CN113794924A (zh) | 视频播放方法、装置、设备和计算机可读存储介质 | |
WO2012107570A1 (en) | A method for optimizing a video stream | |
US20140237077A1 (en) | Methods and systems for providing file data for video files | |
JP2015512188A (ja) | メディアファイルのファイルデータを提供する方法とシステム | |
CN115336283A (zh) | 低延迟内容传送 | |
JP2015510727A (ja) | メディアファイル用のファイルデータを提供するための方法およびシステム | |
US20240251140A1 (en) | Tune time for ip video streaming services | |
US20230275977A1 (en) | Methods, systems, and apparatuses for signaling server-associated delays in content delivery | |
Dhage et al. | Disk load balancing and video ranking algorithm for efficient access in video server | |
TR2021020846A2 (tr) | Eski̇ ci̇hazlarda yüksek kali̇tede vi̇deo oynatmak i̇çi̇n bi̇r yöntem | |
CN118555449A (zh) | 一种hls视频流播放方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |