CN114254134A - 媒体文件获取方法、服务器、终端和存储介质 - Google Patents
媒体文件获取方法、服务器、终端和存储介质 Download PDFInfo
- Publication number
- CN114254134A CN114254134A CN202011027344.3A CN202011027344A CN114254134A CN 114254134 A CN114254134 A CN 114254134A CN 202011027344 A CN202011027344 A CN 202011027344A CN 114254134 A CN114254134 A CN 114254134A
- Authority
- CN
- China
- Prior art keywords
- code rate
- media file
- index
- terminal
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种媒体文件获取方法、服务器、终端和存储介质,属于数据处理技术领域。该方法包括:根据索引文件的真实码率对应的虚拟码率,确定媒体文件的存储路径信息,其中,当所述真实码率更新时,所述虚拟码率不更新;当接收到终端发送的主索引请求时,将所述存储路径信息发送至所述终端,以使所述终端根据所述存储路径信息获取所述媒体文件。本发明实施例的技术方案提高了终端获取媒体文件的可靠性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种媒体文件获取方法、服务器、终端和存储介质。
背景技术
现有的CDN网络(Content Delivery Network,内容分发网络)由源站服务器,CDN中心服务器和CDN边缘服务器组成。CDN网络为了提供更高性能的服务,一般都会录制源站服务器中的媒体文件,并将录制的媒体文件存储在中心服务器或边缘服务器中,再向终端提供服务。
由于CDN网络是按媒体文件对应的码率存储媒体文件,如果源站服务器的码率发生切换,对应的媒体文件的存储路径也发生变化,但是终端请求媒体文件的过程中,CDN网络返回给终端的主索引中的码率并没有更新,因此终端使用旧的码率请求媒体文件时,会出现请求失败的现象。
因此如何提高终端获取媒体文件的可靠性成为亟需解决的问题。
发明内容
本发明实施例的主要目的在于提供一种媒体文件获取方法、服务器、终端和存储介质,通过根据真实码率生成虚拟码率,并根据虚拟码率确定媒体文件的存储路径信息,实现了终端根据虚拟码率对应的存储路径信息获取媒体文件,提高了终端获取媒体文件的可靠性。
第一方面,本发明实施例提供一种媒体文件获取方法,应用于服务器中,包括:
根据索引文件的真实码率对应的虚拟码率,确定媒体文件的存储路径信息,其中,当所述真实码率更新时,所述虚拟码率不更新;当接收到终端发送的主索引请求时,将所述存储路径信息发送至所述终端,以使所述终端根据所述存储路径信息获取所述媒体文件。
第二方面,本发明实施例还提供一种媒体文件获取方法,应用于终端中,包括:
发送主索引请求至服务器;接收所述服务器基于所述主索引请求返回的媒体文件的存储路径信息,其中,所述存储路径信息由索引文件的真实码率对应的虚拟码率确定,当所述真实码率更新时,所述虚拟码率不更新;根据所述存储路径信息,获取所述服务器中的所述媒体文件。
第三方面,本发明实施例还提供一种服务器,所述服务器包括处理器、存储器、存储在所述存储器上并可被所述处理器执行的计算机程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,其中所述计算机程序被所述处理器执行时实现如上述的媒体文件获取方法。
第四方面,本发明实施例还提供一种终端,所述终端包括处理器、存储器、存储在所述存储器上并可被所述处理器执行的计算机程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,其中所述计算机程序被所述处理器执行时实现如上述的媒体文件获取方法。
第五方面,本发明实施例还提供一种存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本发明说明书提供的任一项媒体文件获取方法的步骤。
本发明实施例提供一种媒体文件获取方法、服务器、终端和存储介质,通过根据索引文件的真实码率对应的虚拟码率,确定媒体文件的存储路径信息,其中虚拟码率不随真实码率的更新而更新,也即无论真实码率如何变化,虚拟码率都保持不变,则基于虚拟码率能够精准确定媒体文件的存储路径信息,当接收到终端发送的主索引请求时,将存储路径信息发送至终端,可以使得终端根据该存储路径信息精准获取到媒体文件,因此,提高了终端获取媒体文件的可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种内容分发网络的结构示意图;
图2是本发明实施例提供的一种录制媒体文件的示意性交互图;
图3是本发明实施例提供的另一种录制媒体文件的示意性交互图;
图4是本发明实施例提供的一种媒体文件获取系统的结构示意图;
图5是本发明实施例提供的一种服务器的结构示意性框图;
图6是本发明实施例提供的一种终端的结构示意性框图;
图7是本发明实施例提供的一种媒体文件获取方法的示意性流程图;
图8是本发明实施例提供的一种录制媒体文件的子步骤的示意性流程图;
图9是本发明实施例提供的一种生成主索引和二级索引的子步骤的示意性流程图;
图10是本发明实施例提供的一种将存储路径信息发送至终端的子步骤的示意性流程图;
图11是本发明实施例提供的另一种媒体文件获取方法的示意性流程图;
图12是本发明实施例提供的一种终端获取媒体文件的示意性交互图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
本发明实施例提供一种媒体文件获取方法、服务器、终端和存储介质,其中,该媒体文件获取方法可以应用于服务器或终端,通过根据真实码率生成虚拟码率,并根据虚拟码率确定媒体文件的存储路径信息,实现了终端根据虚拟码率对应的存储路径信息精准获取到媒体文件,提高了终端获取媒体文件的可靠性。
其中,服务器可以是内容分发网络中的中心服务器或边缘服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
请参阅图1,图1是本发明实施例提供的一种内容分发网络系统的结构示意图。如图1所示,内容分发网络系统包括源站服务器1001、中心服务器1002以及边缘服务器1003。其中,边缘服务器1003通过中心服务器1002与源站服务器1001通信。
示例性的,内容分发网络系统可以包括多个中心服务器1002以及多个边缘服务器1003。中心服务器1002和边缘服务器1003可以当做内容分发网络中的服务节点。
需要说明的是,内容分发网络(Content Delivery Network,CDN),是在现有Internet中增加的一层新的网络架构,由遍布全球的高性能加速节点构成。这些高性能的服务节点都会按照一定的缓存策略存储业务内容。当用户向某一业务内容发起请求时,请求会被调度至最接近用户的服务节点,直接由服务节点快速响应,有效降低用户访问延迟和提升可用性。
需要说明的是,本发明实施例中的媒体文件获取方法应用于服务器中,该服务器是指中心服务器1002或边缘服务器1003。
需要说明的是,源站服务器1001是内容分发网络系统中的核心,各服务节点需要向源站服务器1001获取业务内容,并向用户终端进行分发。当源站服务器1001中的业务内容更新时,源站服务器1001会主动把业务内容推送到中心服务器1002和/或边缘服务器1003。
在一些实施例中,如图2所示,图2是本发明实施例提供的一种录制媒体文件的示意性交互图;当中心服务器1002存在录制模块时,中心服务器1002可以获取源站服务器1001中的业务内容,例如媒体文件;然后将获取的业务内容存储在本地数据库或云端中。
在另一些实施例中,如图3所示,图3是本发明实施例提供的另一种录制媒体文件的示意性交互图;当中心服务器1002不存在录制模块时,边缘服务器1003可以通过中心服务器1002以回源的方式获取源站服务器1001中的业务内容,将获取的业务内容存储在本地数据库或云端中。
示例性的,可以在源站服务器1001和/或边缘服务器1003中部署录制模块。
需要说明的是,录制模块用于复制或录制源站服务器1001中的业务内容。当中心服务器1002存在录制模块时,中心服务器1002可以直接根据录制模块复制源站服务器1001中的业务内容;当中心服务器1002不存在录制模块时,边缘服务器1003通过中心服务器1002,根据录制模块以透传的方式复制源站服务器1001中的业务内容。
可以理解的是,透传是指与传输网络的介质、调制解调方式、传输方式以及传输协议无关的一种数据传送方式。
请参阅图4,图4是本发明实施例提供的一种媒体文件获取系统的结构示意图。如图4所示,媒体文件获取系统可以包括源站服务器1001、中心服务器1002、边缘服务器1003以及终端1004。
示例性的,边缘服务器1003可以与终端1004通信连接,并接受终端1004发送的服务请求。其中,服务请求可以包括主索引请求、二级索引请求以及媒体文件请求等等。可以理解的是,主索引请求、二级索引请求以及媒体文件请求是一个完整的媒体文件获取过程。
需要说明的是,边缘服务器1003为终端1004提供一个进入网络的通道和与其它服务器设备通讯的功能,通常边缘服务器1003是一组完成单一功能的服务器。
在一些实施例中,边缘服务器1003可以根据索引文件的真实码率对应的虚拟码率,确定媒体文件的存储路径信息,其中,当真实码率更新时,虚拟码率不更新;当接收到终端1004发送的主索引请求时,将存储路径信息发送至终端1004,以使终端1004根据存储路径信息获取媒体文件。
在另一些实施例中,中心服务器1002可以根据索引文件的真实码率对应的虚拟码率,确定媒体文件的存储路径信息,其中,当真实码率更新时,虚拟码率不更新;当接收到终端1004发送的主索引请求时,将存储路径信息发送至终端1004,以使终端1004根据存储路径信息获取媒体文件。
示例性的,终端1004可以向边缘服务器1003发送服务请求。当边缘服务器1003的本地磁盘存储有服务请求对应的业务内容时,边缘服务器1003可以直接将业务内容返回给终端1004。示例性的,当边缘服务器1003的本地磁盘不存储有服务请求对应的业务内容时,边缘服务器1003可以以回源的方式获取中心服务器1002的本地磁盘存储的服务请求对应的业务内容;若中心服务器1002的本地磁盘不存储有服务请求对应的业务内容,则边缘服务器1003可以通过中心服务器1002以回源的方式获取源站服务器1001中的业务内容。
可以理解的是,回源是指当有终端1004访问某一个URL(Uniform ResourceLocator,统一资源定位符)时,如果被解析到的CDN节点没有缓存响应的业务内容,或者是缓存已经到期,就会回源站服务器1001中获取。
在本发明实施例中,终端1004可以基于HLS(HTTP Live Streaming,流媒体网络传输协议)协议向中心服务器1002或边缘服务器1003请求媒体文件。
在一些实施例中,终端1004可以发送主索引请求至服务器;接收服务器基于主索引请求返回的媒体文件的存储路径信息,其中,存储路径信息由索引文件的真实码率对应的虚拟码率确定,当真实码率更新时,虚拟码率不更新;根据存储路径信息,获取服务器中的媒体文件。
请参阅图5,图5是本发明实施例提供的一种服务器的结构示意性框图。该服务器可以是中心服务器1002或边缘服务器1003。
请参阅图5,中心服务器1002或边缘服务器1003可以包括处理器11和存储器12,其中,处理器11以及存储器12可以通过总线连接,该总线比如为I2C(Inter-integratedCircuit)总线等任意适用的总线。
其中,存储器12可以包括非易失性存储介质和内存储器。非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种媒体文件获取方法。
其中,处理器11用于提供计算和控制能力,支撑整个计算机设备的运行。
在一实施例中,处理器11用于运行存储在存储器12中的计算机程序,并在执行计算机程序时实现如下步骤:
根据索引文件的真实码率对应的虚拟码率,确定媒体文件的存储路径信息,其中,当所述真实码率更新时,所述虚拟码率不更新;当接收到终端发送的主索引请求时,将所述存储路径信息发送至所述终端,以使所述终端根据所述存储路径信息获取所述媒体文件。
处理器11可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
请参阅图6,图6是本发明实施例提供的一种终端1004的结构示意性框图。
请参阅图6,终端1004可以包括处理器13和存储器14,其中,处理器13以及存储器14可以通过总线连接,该总线比如为I2C(Inter-integrated Circuit)总线等任意适用的总线。
其中,存储器14可以包括非易失性存储介质和内存储器。非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种媒体文件获取方法。
其中,处理器13用于提供计算和控制能力,支撑整个计算机设备的运行。
在一实施例中,处理器13用于运行存储在存储器14中的计算机程序,并在执行计算机程序时实现如下步骤:
发送主索引请求至服务器;接收所述服务器基于所述主索引请求返回的媒体文件的存储路径信息,其中,所述存储路径信息由索引文件的真实码率对应的虚拟码率确定,当所述真实码率更新时,所述虚拟码率不更新;根据所述存储路径信息,获取所述服务器中的所述媒体文件。
处理器13可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
下面结合附图,对本发明的一些实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图7,图7为本发明实施例提供的一种媒体文件获取方法的示意性流程图。该媒体文件获取方法可应用于服务器中,通过根据真实码率生成虚拟码率,并根据虚拟码率确定媒体文件的存储路径信息,实现了终端根据虚拟码率对应的存储路径信息精准获取到媒体文件,提高了终端获取媒体文件的可靠性。该媒体文件获取方法包括步骤S101和步骤S102。
步骤S101、根据索引文件的真实码率对应的虚拟码率,确定媒体文件的存储路径信息,其中,当所述真实码率更新时,所述虚拟码率不更新。
需要说明的是,索引文件中包括真实码率,其中,索引文件可以从源站服务器中获取。示例性的,索引文件可以是M3u8文件。
码率是指数据传输时单位时间传送的数据位数。真实码率是指接收源站服务器发送的媒体文件时的码率。可以理解的是,码率用于确定媒体文件对应的存储路径信息,不同的码率对应有不同的存储路径信息。在本发明实施例中,根据虚拟码率确定媒体文件的存储路径信息,并不是根据真实码率确定媒体文件的存储路径信息。其中,存储路径信息包括本地磁盘中的文件夹名称。
示例性的,可以根据虚拟码率在本地磁盘中建立主文件夹;不同的虚拟码率对应有不同的主文件夹。可以以虚拟码率的数值作为主文件夹的名称,从而可以区分不同虚拟码率对应的主文件夹。然后在主文件夹中建立不同层级的子文件夹,用于存放不同的媒体文件。
示例性的,当虚拟码率为1000时,对应的存储路径信息如下所示:1000/202008/130500。
需要说明的是,在本发明实施例中,当媒体文件对应的真实码率更新时,虚拟码率不更新。通过根据索引文件的真实码率对应的虚拟码率确定媒体文件的存储路径信息,从而可以在真实码率变化时,媒体文件对应的存储路径信息保持不变,使得终端根据虚拟码率对应的存储路径信息请求媒体文件时,不会出现请求失败的情况,提高了终端获取媒体文件的可靠性。
在一些实施例中,在根据索引文件的真实码率对应的虚拟码率,确定媒体文件的存储路径信息之前,还可以包括:获取源站服务器中的索引文件;对索引文件进行解析处理,得到索引文件的真实码率;对真实码率进行编码处理,得到真实码率对应的虚拟码率。
示例性的,中心服务器或边缘服务器可以以回源的方式获取源站服务器中的索引文件,然后对索引文件进行解析处理,得到索引文件的真实码率。其中,解析处理可以通过预设的解析协议或解析工具进行处理,具体解析处理过程在此不作赘述。
示例性的,对索引文件进行解析处理,将解析得到的码率作为真实码率。
示例性的,对真实码率进行编码处理时,可以定义不同的编码数值。例如,对第一个真实码率的虚拟码率编码为1000,第二个真实码率的虚拟码率编码为1001,依次类推。还可以根据数字+字母等编码方式对真实码率进行编码,具体的编码方式在此不作限定。
通过获取源站服务器中的索引文件,并对索引文件进行解析处理,可以得到索引文件的真实码率,进而可以对真实码率进行编码处理,得到真实码率对应的虚拟码率。
请参阅图8,图8是本发明实施例提供的一种录制媒体文件的子步骤的示意性流程图,具体可以包括步骤S1011和步骤S1012。
步骤S1011、根据所述真实码率获取源站服务器中的所述媒体文件,并录制所述媒体文件。
示例性的,中心服务器或边缘服务器可以根据真实码率获取源站服务器中的媒体文件,然并根据录制模块录制媒体文件。
在本发明实施例中,当中心服务器没有部署录制模块时,边缘服务器可以根据自身的录制模块通过中心服务器录制源站服务器中的媒体文件。
步骤S1012、按照所述存储路径信息,将录制的所述媒体文件与所述虚拟码率关联存储。
可以理解的是,在本发明实施例中,存储路径信息根据媒体文件的真实码率对应的虚拟码率来设置。例如,对于媒体文件2560000_20200813_052955_053002.ts,若媒体文件2560000_20200813_052955_053002.ts对应的虚拟码率为1000,则可以按照存储路径信息1000/202008/130500,将媒体文件2560000_20200813_052955_053002.ts与虚拟码率1000关联存储至本地磁盘中;得到媒体文件2560000_20200813_052955_053002.ts的存储路径信息为1000/202008/130500/2560000_20200813_052955_053002.ts。
通过将媒体文件与虚拟码率进行关联存储,后续在终端请求媒体文件时,可以根据虚拟码率获取媒体文件,而不会因为真实码率的切换,导致终端无法请求到媒体文件。
在一些实施例中,在步骤S1011中根据真实码率获取源站服务器中的媒体文件之后,还可以生成主索引和二级索引。请参阅图9,图9是本发明实施例提供的一种生成主索引和二级索引的子步骤的示意性流程图,具体可以包括步骤S1013和步骤S1014。
步骤S1013、确定所述媒体文件对应的媒体文件信息。
示例性的,在录制媒体文件之后,可以获取媒体文件对应的媒体文件信息。例如,媒体文件信息可以包括但不限于编码标识符、带宽、分辨率、帧速率以及编码格式等信息。
需要说明的是,在本发明实施例中,媒体文件信息可以用于生成二级索引。
步骤S1014、根据所述真实码率、所述虚拟码率以及所述媒体文件信息,生成所述媒体文件对应的主索引和二级索引,并将所述主索引和所述二级索引关联存储。
示例性的,根据真实码率与虚拟码率生成主索引。生成的主索引如下所示:bandwidth|virtualbandwidth|filename,其中,字段bandwidth表示真实码率,字段virtualbandwidth表示虚拟码率,字段filename表示二级索引名称。
示例性的,根据真实码率、虚拟码率以及媒体文件信息生成二级索引。生成的二级索引如下所示:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2062296,RESOLUTION=1280x720,FRAME-RATE=29.970,CODECS="avc1.640029,mp4a.40.2";
sec-v1-a1.m3u8?virtualbandwidth=1000。
其中,#EXTM3U表示m3u文件头;PROGRAM-ID表示编码标识符;BANDWIDTH表示真实码率;RESOLUTION表示分辨率;FRAME-RATE表示帧速率;CODECS表示编码格式;sec-v1-a1.m3u8表示二级索引名称;virtualbandwidth表示虚拟码率。
示例性的,在生成主索引与二级索引之后,可以主索引和二级索引关联存储在本地数据库中。通过主索引中的二级索引名称,可以确定二级索引。
需要说明的是,主索引是指在指定的索引字段或表达式中不允许出现重复值的索引,主索引是用于搜索媒体文件的唯一标识。二级索引包括字段与字段对应的值,二级索引可以理解为主索引的辅助索引。
通过确定媒体文件对应的媒体文件信息,可以根据真实码率、虚拟码率以及媒体文件信息,生成媒体文件对应的主索引和二级索引,后续可以根据终端的主索引请求和二级索引请求,返回主索引和二级索引。
步骤S102、当接收到终端发送的主索引请求时,将所述存储路径信息发送至所述终端,以使所述终端根据所述存储路径信息获取所述媒体文件。
需要说明的是,当终端请求媒体文件时,先发送主索引请求至边缘服务器;边缘服务器或中心服务器将本地数据库存储的媒体文件的存储路径信息返回给终端,终端可以根据存储路径信息获取媒体文件。
请参阅图10,图10是步骤S102中当接收到终端发送的主索引请求时,将存储路径信息发送至终端的子步骤的示意性流程图,具体可以包括步骤S1021至步骤S1023。
步骤S1021、当接收到终端发送的主索引请求时,根据所述主索引请求对所述主索引进行组装处理,并将组装处理后的所述主索引发送至所述终端,以使所述终端根据组装处理后的所述主索引生成包含所述虚拟码率的二级索引请求。
需要说明的是,在本发明实施例中,当接收到终端发送的主索引请求时,边缘服务器或中心服务器并不是直接将存储在本地数据库的主索引发送回终端,而是先对主索引进行组装处理,以将二级索引链接和虚拟码率添加至主索引中。
在一些实施例中,根据主索引请求对主索引进行组装处理,可以包括:根据与主索引关联的二级索引,生成二级索引链接,并将二级索引链接与虚拟码率添加至主索引中。
示例性的,生成的二级索引链接可以表示为:sec-v1-a1.m3u8?。
示例性的,将二级索引链接与虚拟码率添加至主索引中,得到组装处理后的主索引,如下所示:bandwidth|virtualbandwidth|filename,sec-v1-a1.m3u8?virtualbandwidth=1000。
通过根据二级索引生成二级索引链接,可以使得终端在接收到主索引后,可以根本就主索引中的二级索引链接生成二级索引请求;通过将虚拟码率添加至主索引中,可以使得终端将虚拟码率添加至二级索引请求中,从而边缘服务器或中心服务器可以根据二级索引请求中的虚拟码率确定存储路径信息。
步骤S1022、在接收到所述终端发送的所述二级索引请求时,在数据库中查询所述二级索引请求中的所述虚拟码率对应的所述存储路径信息。
示例性的,接收到终端发送的二级索引请求,可以表示为:http://172.16.79.117:6610/001/2/lv7/sec-v1-a1.m3u8?virtualbandwidth=1000。
示例性的,边缘服务器或中心服务器可以根据二级索引请求中的虚拟码率,在数据库中查询该虚拟码率对应的存储路径信息。
可以理解的是,由于预先将媒体文件与虚拟码率关联存储至本地磁盘中,因此可以根据虚拟码率确定媒体文件在本地磁盘中的具体位置,进而根据媒体文件的具体位置确定存储路径信息。示例性的,存储路径信息如下所示:
1000/202008/130500/2560000_20200813_052955_053002.ts。
步骤S1023、将所述存储路径信息添加至所述二级索引中,并将添加所述存储路径信息的所述二级索引发送至所述终端。
示例性的,添加存储路径信息的二级索引,如下所示:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2062296,RESOLUTION=1280x720,FRAME-RATE=29.970,CODECS="avc1.640029,mp4a.40.2";
sec-v1-a1.m3u8?virtualbandwidth=1000;
1000/202008/130500/2560000_20200813_052955_053002.ts。
通过将存储路径信息添加至二级索引中,可以使得终端可以根据二级索引中的存储路径信息生成媒体文件请求,从而成功获取媒体文件。
在一些实施例中,本发明实施例提供的媒体文件获取方法,还可以包括:当接收到源站服务器发送的真实码率切换后的新码率时,根据新码率更新主索引中的真实码率。
需要说明的是,当源站服务器中的码率发生切换时,源站服务器会主动把切换后的新码率推送到中心服务器和/或边缘服务器。中心服务器和/或边缘服务器可以根据新码率更新主索引中的真实码率,而主索引中的虚拟码率保持不变。
通过根据源站服务器发送的真实码率切换后的新码率更新主索引中的真实码率,可以根据真实码率获取源站服务器中的媒体文件,且不需要根据真实码率改变媒体文件的存储路径,提高了管理媒体文件的效率;通过保持主索引中的虚拟码率不变,可以保证无论真实码率如何变化,终端都可以根据虚拟码率确定媒体文件的存储路径信息,减少了终端获取媒体文件失败的次数。
在一些实施例中,当源站服务器主动把切换后的新码率推送到中心服务器时,若中心服务器没有部署录制模块,则源站服务器会将索引信息透传给边缘服务器,以使边缘服务器根据索引信息更新主索引中的真实码率。
其中,索引信息可以包括但不限于更新的码率和媒体文件路径等信息。需要说明的是,媒体文件路径是指源站服务器中的媒体文件对应的存储路径。通过媒体文件路径,边缘服务器可以根据更新的码率获取源站服务器中的媒体文件。
上述实施例提供的媒体文件获取方法、服务器、终端和存储介质,通过通过获取源站服务器中的索引文件,并对索引文件进行解析处理,可以得到索引文件的真实码率,进而可以对真实码率进行编码处理,得到真实码率对应的虚拟码率;通过根据索引文件的真实码率对应的虚拟码率确定媒体文件的存储路径信息,从而可以在真实码率变化时,媒体文件对应的存储路径信息保持不变,使得终端根据虚拟码率对应的存储路径信息请求媒体文件时,不会出现请求失败的情况,提高了终端获取媒体文件的可靠性;通过将媒体文件与虚拟码率进行关联存储,后续在终端请求媒体文件时,可以根据虚拟码率获取媒体文件,而不会因为真实码率的切换,导致终端无法请求到媒体文件;通过确定媒体文件对应的媒体文件信息,可以根据真实码率、虚拟码率以及媒体文件信息,生成媒体文件对应的主索引和二级索引,后续可以根据终端的主索引请求和二级索引请求,返回主索引和二级索引;通过根据二级索引生成二级索引链接,可以使得终端在接收到主索引后,可以根本就主索引中的二级索引链接生成二级索引请求;通过将虚拟码率添加至主索引中,可以使得终端将虚拟码率添加至二级索引请求中,从而边缘服务器或中心服务器可以根据二级索引请求中的虚拟码率确定存储路径信息;通过将存储路径信息添加至二级索引中,可以使得终端可以根据二级索引中的存储路径信息生成媒体文件请求,从而成功获取媒体文件;通过根据源站服务器发送的真实码率切换后的新码率更新主索引中的真实码率,可以根据真实码率获取源站服务器中的媒体文件,且不需要根据真实码率改变媒体文件的存储路径,提高了管理媒体文件的效率;通过保持主索引中的虚拟码率不变,可以保证无论真实码率如何变化,终端都可以根据虚拟码率确定媒体文件的存储路径信息,减少了终端获取媒体文件失败的次数。
请参阅图11,图11是本发明实施例提供的另一种媒体文件获取方法的示意性流程图。该媒体文件获取方法可应用于终端中,通过接收服务器基于主索引请求返回的媒体文件的存储路径信息,实现了终端根据虚拟码率对应的存储路径信息精准获取到媒体文件,减少获取媒体文件失败的次数,提高了终端获取媒体文件的可靠性。该媒体文件获取方法包括步骤S201至步骤S203。
步骤S201、发送主索引请求至服务器。
请参阅图12,图12是本发明实施例提供的一种终端获取媒体文件的示意性交互图。当终端需要获取媒体文件时,先向从服务器发送主索引请求,以获取主索引;根据主索引生成二级索引请求,以使服务器根据二级索引请求返回保护媒体文件的存储路径信息的二级索引;最后根据存储路径信息生成媒体文件请求,并将媒体文件请求发送至服务器,以从服务器中获取媒体文件。
其中,服务器可以是边缘服务器,也可以是中心服务器。终端可以通过与边缘服务器通信,获取边缘服务器或中心服务器在本地数据库存储的媒体文件对应的存储路径信息。
在一些实施例中,发送主索引请求至服务器之后,还可以包括:接收服务器根据主索引请求返回的主索引,其中,主索引包括二级索引链接和虚拟码率;根据二级索引链接生成二级索引请求,并将虚拟码率添加至二级索引请求中;将添加了虚拟码率的二级索引请求发送至服务器,以使服务器根据虚拟码率,确定媒体文件对应的存储路径信息。
示例性的,接收服务器根据主索引请求返回的主索引,其中,返回的主索引如下所示:bandwidth|virtualbandwidth|filename,sec-v1-a1.m3u8?virtualbandwidth=1000。
示例性的,可以根据主索引中的二级索引链接生成二级索引请求,生成的二级索引请求如下所示:http://172.16.79.117:6610/001/2/lv7/sec-v1-a1.m3u8?。然后将虚拟码率添加至二级索引请求中,若虚拟码率为1000,则添加虚拟码率的二级索引请求如下所示:http://172.16.79.117:6610/001/2/lv7/sec-v1-a1.m3u8?virtualbandwidth=1000。
通过接收服务器根据主索引请求返回的主索引,可以根据主索引中的二级索引链接生成二级索引请求,并将主索引中的虚拟码率添加至二级索引请求中,使得服务器根据二级索引请求中的虚拟码率,确定媒体文件对应的存储路径信息并返回存储路径信息。
步骤S202、接收所述服务器基于所述主索引请求返回的媒体文件的存储路径信息,其中,所述存储路径信息由索引文件的真实码率对应的虚拟码率确定,当所述真实码率更新时,所述虚拟码率不更新。
示例性的,接收到服务器基于主索引请求返回的媒体文件的存储路径信息,如下所示:1000/202008/130500/2560000_20200813_052955_053002.ts。
通过接收服务器基于主索引请求返回的媒体文件的存储路径信息,由于媒体文件的存储路径信息是根据真实码率对应的虚拟码率确定的,而且当真实码率更新,虚拟码率不更新,因此终端可以根据虚拟码率准确地确定媒体文件对应的存储路径信息,从而可以减少获取媒体文件失败的次数,提高了终端获取媒体文件的可靠性。
步骤S203、根据所述存储路径信息,获取所述服务器中的所述媒体文件。
示例性的,在确定存储路径信息之后,可以根据存储路径信息生成目标媒体文件对应的媒体文件请求;然后将媒体文件请求发送至服务器,以获取服务器中的目标媒体文件。
通过根据存储路径信息获取服务器中的媒体文件,使得终端在播放媒体文件时不会受到源站服务器的码率切换影响,能够进行无缝平滑的播放,提供了用户的体验度。
上述实施例提供的媒体文件获取方法、服务器、终端和存储介质,通过接收服务器根据主索引请求返回的主索引,可以根据主索引中的二级索引链接生成二级索引请求,并将主索引中的虚拟码率添加至二级索引请求中,使得服务器根据二级索引请求中的虚拟码率,确定媒体文件对应的存储路径信息并返回存储路径信息;通过接收服务器基于主索引请求返回的媒体文件的存储路径信息,由于媒体文件的存储路径信息是根据真实码率对应的虚拟码率确定的,而且当真实码率更新,虚拟码率不更新,因此终端可以根据虚拟码率准确地确定媒体文件对应的存储路径信息,从而可以减少获取媒体文件失败的次数,提高了终端获取媒体文件的可靠性;通过根据存储路径信息获取服务器中的媒体文件,使得终端在播放媒体文件时不会受到源站服务器的码率切换影响,能够进行无缝平滑的播放,提供了用户的体验度。
本发明实施例还提供一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本发明实施例说明书提供的任一项媒体文件获取方法的步骤。
例如,该程序被处理器加载,可以执行如下步骤:
根据索引文件的真实码率对应的虚拟码率,确定媒体文件的存储路径信息,其中,当所述真实码率更新时,所述虚拟码率不更新;当接收到终端发送的主索引请求时,将所述存储路径信息发送至所述终端,以使所述终端根据所述存储路径信息获取所述媒体文件。
又例如,该程序被处理器加载,可以执行如下步骤:
发送主索引请求至服务器;接收所述服务器基于所述主索引请求返回的媒体文件的存储路径信息,其中,所述存储路径信息由索引文件的真实码率对应的虚拟码率确定,当所述真实码率更新时,所述虚拟码率不更新;根据所述存储路径信息,获取所述服务器中的所述媒体文件。
其中,所述存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施例中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本发明的具体实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种媒体文件获取方法,所述方法包括:
根据索引文件的真实码率对应的虚拟码率,确定媒体文件的存储路径信息,其中,当所述真实码率更新时,所述虚拟码率不更新;
当接收到终端发送的主索引请求时,将所述存储路径信息发送至所述终端,以使所述终端根据所述存储路径信息获取所述媒体文件。
2.根据权利要求1所述的媒体文件获取方法,其特征在于,所述根据索引文件的真实码率对应的虚拟码率,确定媒体文件的存储路径信息之前,还包括:
获取源站服务器中的所述索引文件;
对所述索引文件进行解析处理,得到所述索引文件的所述真实码率;
对所述真实码率进行编码处理,得到所述真实码率对应的所述虚拟码率。
3.根据权利要求1所述的媒体文件获取方法,其特征在于,所述方法还包括:
根据所述真实码率获取源站服务器中的所述媒体文件,并录制所述媒体文件;
按照所述存储路径信息,将录制的所述媒体文件与所述虚拟码率关联存储。
4.根据权利要求3所述的媒体文件获取方法,其特征在于,所述根据所述真实码率获取源站服务器中的所述媒体文件之后,还包括:
确定所述媒体文件对应的媒体文件信息;
根据所述真实码率、所述虚拟码率以及所述媒体文件信息,生成所述媒体文件对应的主索引和二级索引,并将所述主索引和所述二级索引关联存储。
5.根据权利要求4所述的媒体文件获取方法,其特征在于,所述当接收到终端发送的主索引请求时,将所述存储路径信息发送至所述终端,包括:
当接收到终端发送的主索引请求时,根据所述主索引请求对所述主索引进行组装处理,并将组装处理后的所述主索引发送至所述终端,以使所述终端根据组装处理后的所述主索引生成包含所述虚拟码率的二级索引请求;
在接收到所述终端发送的所述二级索引请求时,在数据库中查询所述二级索引请求中的所述虚拟码率对应的所述存储路径信息;
将所述存储路径信息添加至所述二级索引中,并将添加所述存储路径信息的所述二级索引发送至所述终端。
6.根据权利要求5所述的媒体文件获取方法,其特征在于,所述根据所述主索引请求对所述主索引进行组装处理,包括:
根据与所述主索引关联的所述二级索引,生成二级索引链接,并将所述二级索引链接与所述虚拟码率添加至所述主索引中。
7.根据权利要求4-6任一项所述的媒体文件获取方法,其特征在于,所述方法还包括:
当接收到所述源站服务器发送的真实码率切换后的新码率时,根据所述新码率更新所述主索引中的所述真实码率。
8.一种媒体文件获取方法,其特征在于,所述方法包括:
发送主索引请求至服务器;
接收所述服务器基于所述主索引请求返回的媒体文件的存储路径信息,其中,所述存储路径信息由索引文件的真实码率对应的虚拟码率确定,当所述真实码率更新时,所述虚拟码率不更新;
根据所述存储路径信息,获取所述服务器中的所述媒体文件。
9.根据权利要求8所述的媒体文件获取方法,其特征在于,所述发送主索引请求至服务器之后,还包括:
接收所述服务器根据所述主索引请求返回的主索引,其中,所述主索引包括二级索引链接和虚拟码率;
根据所述二级索引链接生成二级索引请求,并将所述虚拟码率添加至所述二级索引请求中;
将添加了所述虚拟码率的所述二级索引请求发送至所述服务器,以使所述服务器根据所述虚拟码率,确定所述媒体文件对应的所述存储路径信息。
10.一种服务器,其特征在于,所述服务器包括处理器、存储器、存储在所述存储器上并可被所述处理器执行的计算机程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,其中所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的媒体文件获取方法。
11.一种终端,其特征在于,所述终端包括处理器、存储器、存储在所述存储器上并可被所述处理器执行的计算机程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,其中所述计算机程序被所述处理器执行时实现如权利要求8与9中任一项所述的媒体文件获取方法。
12.一种存储介质,用于可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现:
如权利要求1至7中任一项所述的媒体文件获取方法;或
如权利要求8与9中任一项所述的媒体文件获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027344.3A CN114254134A (zh) | 2020-09-25 | 2020-09-25 | 媒体文件获取方法、服务器、终端和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027344.3A CN114254134A (zh) | 2020-09-25 | 2020-09-25 | 媒体文件获取方法、服务器、终端和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114254134A true CN114254134A (zh) | 2022-03-29 |
Family
ID=80789387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011027344.3A Pending CN114254134A (zh) | 2020-09-25 | 2020-09-25 | 媒体文件获取方法、服务器、终端和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114254134A (zh) |
-
2020
- 2020-09-25 CN CN202011027344.3A patent/CN114254134A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109842613B (zh) | 用于提供和接收媒体数据的方法和装置以及存储介质 | |
US8463876B2 (en) | Partial object distribution in content delivery network | |
JP6181650B2 (ja) | 送信装置、送信方法およびネットワーク装置 | |
US8280987B2 (en) | Cloud data persistence engine | |
CN101677325A (zh) | 发布媒体描述信息和获取媒体的方法、装置、系统 | |
US9055268B2 (en) | Multi-tier recorder to enable seek-back unique copy recording | |
US11716373B2 (en) | Distributed storage of state information and session recovery using state information | |
EP2556481A1 (en) | Partial object distribution in content delivery network | |
US11575773B2 (en) | Request processing in a content delivery framework | |
van Brandenburg et al. | Models for HTTP-adaptive-streaming-aware content distribution network interconnection (CDNI) | |
CN106411996B (zh) | 内容中心网络中的内容协商 | |
US20150113101A1 (en) | Method and apparatus for providing streaming content | |
CN113742518A (zh) | 存储和提供视频的方法、设备和计算机程序产品 | |
CN110958279B (zh) | 一种数据处理方法及其装置 | |
US7996489B2 (en) | Method and apparatus for allowing a portable device to provide rich site summary service | |
JP2010503063A (ja) | マルチフォーマット・データ交換のための方法及び装置 | |
CN110049133B (zh) | 一种dns区文件全量下发的方法和装置 | |
CN116684703A (zh) | 基于邻近服务通信协议的流媒体数据传输方法及相关设备 | |
US20170041383A1 (en) | Information object obtaining method, server, and user equipment | |
CN114254134A (zh) | 媒体文件获取方法、服务器、终端和存储介质 | |
CN113038033B (zh) | 一种获取视频的方法 | |
US8086562B2 (en) | Arrangement for anonymous API downloaded resources for advanced content | |
CN114417055A (zh) | 一种视频播放方法、装置、计算机设备和存储介质 | |
WO2014195906A2 (en) | Defragmentation of adaptive streaming segment files in a content delivery network | |
US20090313317A1 (en) | Wider Delivery Of Multimedia Content |
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 |