CN113014966A - Mp4文件虚拟mss分片方法、设备和存储介质 - Google Patents
Mp4文件虚拟mss分片方法、设备和存储介质 Download PDFInfo
- Publication number
- CN113014966A CN113014966A CN201911315661.2A CN201911315661A CN113014966A CN 113014966 A CN113014966 A CN 113014966A CN 201911315661 A CN201911315661 A CN 201911315661A CN 113014966 A CN113014966 A CN 113014966A
- Authority
- CN
- China
- Prior art keywords
- mss
- file
- segment
- data
- index
- 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.)
- Withdrawn
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/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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
-
- 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
-
- 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/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
-
- 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/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2355—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
- H04N21/2358—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages for generating different versions, e.g. for different recipient devices
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
-
- 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/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video 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/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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提出一种MP4文件虚拟MSS分片方法、设备和存储介质,一种MP4文件虚拟MSS分片方法,包括:接收MSS播放器发送的MSS下载请求;根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系;向媒体服务器发送数据分段下载请求;接收媒体服务器发送的第一MP4文件的数据分段;将数据分段组装生成至少一个MSS分片;向MSS播放器发送至少一个MSS分片。
Description
技术领域
本申请涉及多媒体业务,例如涉及一种MP4文件虚拟MSS分片方法、设备和存储介质。
背景技术
MP4(Moving Picture Experts Group 4Part 14,MPEG-4Part 14)为最常用的多媒体文件格式,广泛应用于各种终端中。MP4文件可以作为各种视频文件的存储容器,存储于终端设备中或者网络服务器上,在终端设备中使用MP4播放器即可点播各种MP4文件。
图1为常见的MP4文件的结构示意图,如图1所示,在MP4文件的头部包括FtypBox和MoovBox两个容器,其中FtypBox用于存储MP4文件所使用的编码格式、标准等内容,MoovBox即movie box中记录了后续所有音频帧 (Audio)和视频帧(Video)的解码信息、时间戳、位置等非常关键的数据,也可称为MP4文件的索引数据,特别是视频帧中的关键帧的相关信息。在视频帧中,关键帧是最重要的节点,播放器会在关键帧对整个图像进行刷新。但是目前的MP4文件的所有索引信息都集中存放在MoovBox中,容量越大的文件, MoovBox也越大,对于播放器而言,必须首先获取并解析MoovBox中的索引信息后,才能播放MP4文件。而MoovBox过大,播放器就需要更多的时间加载MoovBox中的数据,导致文件播放缓冲时间过长。
为了缩短MP4文件播放时缓冲时间过长的问题,微软平滑流媒体 (MicrosoftSmooth Streaming,MSS)协议越来越普及,MSS协议中将大的MP4 文件转换为许多小的媒体文件分片,这样每块小的媒体文件分片的加载速度较快,避免了MP4文件播放时缓冲时间过长的问题。但众多的小容量媒体文件分片如同文件碎片,难以进行管理,并且影响存储文件的服务器的性能。因此,对于MP4文件的管理是亟待解决的问题。
发明内容
本申请提供一种MP4文件虚拟MSS分片方法、设备和存储介质,在降低 MP4文件播放缓冲时间的基础上,避免了媒体服务器中存储大量文件碎片对性能的影响。
第一方面,本申请实施例提供一种MP4文件虚拟MSS分片方法,包括:
接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一 MP4文件的至少一个MSS分片;
根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS 分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4 文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一 MP4文件的数据分段的对应关系;
向媒体服务器发送数据分段下载请求并接收媒体服务器发送的第一MP4 文件的数据分段,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;
将数据分段组装生成至少一个MSS分片并向MSS播放器发送至少一个 MSS分片。
第二方面,本申请实施例提供一种MP4文件虚拟MSS分片方法,包括:
接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;
向MSS适配器发送第一MP4文件的数据分段。
第三方面,本申请实施例提供一种MSS适配器,包括处理器和存储器,处理器用于运行储存在存储器里的程序指令以执行第一方面的MP4文件虚拟 MSS分片方法。
第四方面,本申请实施例提供一种媒体服务器,包括处理器和存储器,处理器用于运行储存在存储器里的程序指令以执行第二方面的MP4文件虚拟 MSS分片方法。
第五方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面或第二方面的MP4文件虚拟 MSS分片方法。
附图说明
图1为常见的MP4文件的结构示意图;
图2为一实施例提供的一种MP4文件虚拟MSS分片方法的流程图;
图3为对MP4文件进行虚拟分片的示意图;
图4为对MP4文件进行虚拟分片的示意图;
图5为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图;
图6为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图;
图7为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图;
图8为一实施例提供的另一种MP4文件虚拟MSS分片方法的交互流程图;
图9为一实施例提供的一种MP4文件虚拟MSS分片装置的结构示意图;
图10为一实施例提供的一种MP4文件虚拟MSS分片装置的结构示意图;
图11为一实施例提供的一种MSS适配器的结构示意图;
图12为一实施例提供的一种媒体服务器的结构示意图;
图13为一实施例提供的一种MP4文件MSS分片系统的结构示意图。
具体实施方式
下文中将结合附图对本申请的实施例进行详细说明。
MP4文件为最常见的多媒体文件格式,MP4文件的结构如图1所示,其中,在MP4文件的头部包括FtypBox和MoovBox两个容器,其中FtypBox用于存储MP4文件所使用的编码格式、标准等内容,MoovBox即movie box中记录了后续所有音频帧和视频帧的解码信息、时间戳、位置等非常关键的数据,也可称为MP4文件的索引数据,特别是视频帧中的关键帧的相关信息。在MoovBox 容器后,即存储各音频帧(Audio)和视频帧(Video)的数据,每个音频帧和视频帧是对应的,播放器获取MP4文件后,根据FtypBox中记载的内容确定编码格式等信息,然后根据MoovBox中记载的内容确定各音频帧和视频帧的位置、时间戳等信息,从而依次对各音频帧和视频帧进行解码后播放,在播放时还需要根据各音频帧和视频帧的时间戳信息进行对齐。在各视频帧中,一些帧为关键帧,播放器会在关键帧位置对整个图像进行刷新,因此关键帧可以认为是图像解码的起点。
当MP4文件的容量很大时,视频帧和音频帧的数量也很多,那么在 MoovBox中就需要存储大量的索引数据,而播放器在播放MP4文件之前需要先读取MoovBox中的索引数据,这样将导致MP4文件播放时的缓冲时间过长。为了缩短MP4文件播放时缓冲时间过长的问题,目前使用MSS协议对MP4文件进行分割。MSS协议中将MP4文件中大量的音频帧和视频帧进行分割,将整个MP4文件转换为多个较小的媒体文件分片,每个文件分片中包括一个或多个视频帧和音频帧的数据。这样每块小的媒体文件分片的加载速度较快,避免了MP4文件播放时缓冲时间过长的问题。但众多的小容量媒体文件分片如同文件碎片,难以进行管理,并且影响存储文件的服务器的性能。本申请提出一种 MP4文件虚拟MSS分片方法,用于解决上述问题。
图2为一实施例提供的一种MP4文件虚拟MSS分片方法的流程图,如图 2所示,本实施例提供的方法包括如下步骤。
步骤S2010,接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一MP4文件的至少一个MSS分片。
本实施例提供的MP4文件虚拟MSS分片方法用于MSS适配器,MSS适配器是在MP4文件和MSS文件之间进行转换的设备或模块。MSS适配器可以为独立的设备,或者MSS适配器可以设置于播放MP4的终端中,或者MSS适配器可以设置于存储MP4文件的媒体服务器中。由于在媒体服务器中存储MP4 文件会导致终端在播放大容量MP4文件时的缓存时间过程,而若在媒体服务器中存储根据MSS协议将MP4文件分割的MSS分片,则会导致媒体服务器中存储的碎片文件过多而影响媒体服务器的性能。
因此在本实施例中,单独配置了MSS适配器,MSS适配器用于进行MP4 文件和MSS分片之间的转换,这样使得媒体服务器中仍然仅需存储完整的MP4 文件,而无需在媒体服务器中存储将MP4文件分割后的MSS分片。而在终端中可以使用基于MSS协议的播放器进行播放,从而降低播放MP4文件时所需的较长缓冲时间。为了实现MSS适配器的上述功能,在MSS适配器中采用将 MP4文件虚拟为MSS分片的方法进行处理,也即在MSS适配器中建立虚拟的MSS分片,并建立虚拟MSS分片与MP4文件的对应关系,将虚拟MSS分片提供给终端中的MSS播放器,而当MSS播放器需要播放MSS分片时,MSS 适配器确定所需播放的MSS分片与媒体播放器中存储的MP4文件中的音频帧和视频帧的对应关系,并从媒体播放器中下载相应的音频帧和视频帧数据后组装成MSS分片,从而可以将MSS播放器请求播放的MSS分片提供给MSS播放器进行播放。
那么首先,当MSS播放器需要播放MSS分片时,MSS适配器将接收到 MSS播放器发送的MSS下载请求。MSS下载请求用于请求下载第一MP4文件中的至少一个MSS分片。MSS下载请求是MSS播放器根据第一MP4文件的 MSS分片索引发送的,第一MP4文件的MSS分片索引包括第一MP4文件的各MSS分片的播放地址,MSS播放器根据MSS分片索引确定所需播放的MSS 分片后,向MSS适配器发送MSS下载请求。每个MSS分片中包括至少一个视频帧和对应的音频帧的数据,其中为了保证MSS分片的正常播放,每个MSS 分片中应至少包括一个关键视频帧,且关键视频帧应为MSS分片的第一个视频帧。
图3为对MP4文件进行虚拟分片的示意图,如图3所示,xxx.mp4为存储于媒体播放器中存储的MP4文件,xxx.mp4文件的数据结构如图所示,其中在文件的头部包括FtypBox容器和MoovBox容器,MdatBox容器用于存储MP4 文件的音频帧和视频帧数据。首先解析xxx.mp4文件中的MoovBox容器,获取xxx.mp4文件中的音频帧和视频帧索引和关键视频帧的信息。其中Sample 1-Sample n表示n个相同时间戳的音频帧和视频帧的组合,每个Sample中包括时间戳相同的一个视频帧和一个音频帧,其中Sample 4、Sample 8、Sample12 中包括关键视频帧。以关键视频帧为界,对xxx.mp4文件中的数据进行虚拟划分,多个Sample中的视频帧和音频帧数据划分为一个数据分段,并生成多个 m4s分片,每个m4s分片记录了一个数据分段中的多个视频帧和音频帧的地址信息。多个.m4s分片组成为xxx.isml文件,xxx.isml文件即为MP4文件的MSS 分片索引。接着,根据xxx.isml文件中的各m4s分片与MP4文件的数据分段的对应关系生成xxx.index文件,也即MP4文件的虚拟分片索引。xxx.index文件中对于每个MP4文件中的数据分段记载一个对应的地址信息,seg-0–seg-n表示各数据分段所对应的MP4文件中的真实位置信息。例如seg-0中记载的信息为MP4文件中的起始帧编号(start)、结束帧编号(end)、起始帧的位置 (seg_offset)、数据分段的长度(seg_size)。图3中的seg-0中(start)字节中的信息为1表示起始帧为Sample 1,(end)字节中的信息为4表示结束帧为 Sample 4,(seg_offset)字节中的信息例如为13781表示seg-0的起始位置时 xxx.mp4文件的第13781字节、(seg_size)字节中的信息例如为4000表示seg-0 的长度是4000字节。seg-1中(start)字节中的信息为5表示起始帧为Sample 5,(end)字节中的信息为8表示结束帧为Sample 8,(seg_offset)字节中的信息例如为17781表示seg-1的起始位置时xxx.mp4文件的第17781字节、(seg_size) 字节中的信息例如为4200表示seg-1的长度是4200字节。
步骤S2020,根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系。
在MSS适配器中存储有第一MP4文件的MSS分片索引和第一MP4文件的虚拟分片索引。其中MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系。也就是说,MSS适配器中保存有用于提供给MSS播放器的MSS分片索引,这与在媒体服务器中存储MSS分片时提供给MSS播放器的索引文件相同,因此MSS播放器无需进行额外的升级和改变。MSS适配器中保存的虚拟分片索引是用于指示各MSS分片索引的数据与第一MP4文件中数据的对应关系的索引文件,由于并未对媒体服务器中的MP4文件进行实际的分割,而仅是使用了虚拟分片索引这样的索引文件建立与MSS索引文件的对应关系,因此无需对媒体服务器中存储的MP4文件进行分割,媒体服务器中仍然可以存储完整的MP4文件,从而避免媒体服务器中存储过多的文件碎片而对媒体服务器工作效率的影响。虚拟分片索引中包括个MSS分片的各音频帧和视频帧数据与第一 MP4文件中的各音频帧和视频帧数据的对应关系,通过虚拟分片索引可以确定 MSS播放器发送的MSS下载请求中请求下载的MSS分片中各音频帧和视频帧在第一MP4文件中的位置。那么MSS适配器就可以根据第一MP4文件的MSS 分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段。
在一实施例中,根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,包括:根据至少一个MSS分片的索引对应的虚拟分片索引,计算至少一个MSS分片的数据在第一MP4文件中的真实数据位置范围。
在对MP4文件进行分割时,是根据MP4文件中的视频帧和音频帧的时间戳对MP4文件中的数据进行分割,如图4所示,图4为对MP4文件进行虚拟分片的示意图。在图4中,例如将第0秒的音频帧和视频帧到第2秒的音频帧和视频帧作为一个数据分段,并建立该数据分段中与MSS分片的对应关系。那么MSS适配器就可以根据至少一个MSS分片的索引对应的虚拟分片索引,计算至少一个MSS分片的数据在第一MP4文件中的真实数据位置范围,从而确定MSS播放器所需下载的MSS分片对应的音频帧和视频帧。
步骤S2030,向媒体服务器发送数据分段下载请求并接收媒体服务器发送的第一MP4文件的数据分段,数据分段下载请求用于请求下载与至少一个MSS 分片对应的第一MP4文件的数据分段。
MSS适配器在确定了至少一个MSS分片的数据在第一MP4文件中对应的数据分段之后,就可以向媒体服务器发送数据分段下载请求,请求下载与至少一个MSS分片对应的第一MP4文件的数据分段。数据分段下载请求中包括每个需要下载的数据分段在第一MP4文件中的地址信息。每个数据分段中包括至少一个视频帧和对应的音频帧。
媒体服务器在接收到数据分段下载请求后,在第一MP4文件中确定所需下载的数据分段中的各视频帧和音频帧数据的位置,然后将请求下载的各数据分段的视频帧和音频帧组成各数据分段后发送给MSS适配器。
步骤S2040,将数据分段组装生成至少一个MSS分片并向MSS播放器发送至少一个MSS分片。
MSS适配器在接收到媒体服务器发送的数据分段后,需要将各数据分段中的视频帧和音频帧数据重新组装为符合MSS协议规定的数据格式,也即将数据分段组装生成至少一个MSS分片。这样才能将MSS播放器请求播放的各MSS 分片发送给MSS播放器,使得MSS播放器能够正常地播放各MSS分片。
本申请实施例提供的MP4文件虚拟MSS分片方法,应用于MSS适配器,首先接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一 MP4文件的至少一个MSS分片,然后根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系,在向媒体服务器发送数据分段下载请求之后接收媒体服务器发送的第一MP4文件的数据分段,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一 MP4文件的数据分段,从而可以将数据分段组装生成至少一个MSS分片,并向MSS播放器发送至少一个MSS分片,这样设置于终端中的MSS播放器无需进行升级和改变即可直接播放MSS协议规定的MSS分片,而存储MP4文件的媒体服务器中也无需存储大量的MSS分片碎片,在降低MP4文件播放缓冲时间的基础上,避免了媒体服务器中存储大量文件碎片对性能的影响。
图5为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图,如图5所示,本实施例提供的方法包括如下步骤。
步骤S5010,接收MSS播放器发送的第一MSS播放列表请求,MSS播放列表请求用于请求第一MP4文件的MSS分片索引。
终端中的MSS播放器为了播放第一MP4文件的MSS分片,首先需要获取第一MP4文件的第一MSS分片索引,也就是获取第一MP4文件中各MSS分片的播放地址。MSS分片索引是MSS播放器在播放符合MSS协议的MSS分片所需的索引文件。那么,在MSS播放器需要播放第一MP4文件的MSS分片时,首先需要向MSS适配器发送第一MSS播放列表请求,MSS适配器接收MSS播放器发送的第一MSS播放列表请求,其中,MSS播放列表请求用于请求第一MP4文件的MSS分片索引。
步骤S5020,向媒体服务器发送第二MSS播放列表请求并接收媒体服务器发送的第一MP4文件的MSS分片索引和虚拟分片索引,第二MSS播放列表请求用于请求第一MP4文件的MSS分片索引和虚拟分片索引。
由于MSS适配器中并不存储实际的媒体文件,实际的媒体文件是存储于媒体服务器中的MP4文件,因此当MSS播放器向MSS适配器发送第一MSS播放列表请求后,MSS适配器需要向媒体服务器发送第二MSS播放列表请求。第二MSS播放列表请求用于请求第一MP4文件的MSS分片索引和虚拟分片索引。媒体服务器为了支持存储的第一MP4文件被终端的MSS播放器播放,需要在存储第一MP4文件的基础上,将第一MP4文件中的视频帧和音频帧进行分段得到多个数据分段,每个数据分段中包括至少一个视频帧和对应的音频帧。并且建立各数据分段中的数据与MSS分片的数据的对应关系,即第一MP4文件的虚拟分片索引。媒体服务器中并不是将第一MP4文件分割为多个实际的数据分段,而是对第一MP4文件进行虚拟的分割,建立虚拟分片索引。另外,媒体服务器还建立第一MP4文件的MSS分片索引,第一MP4文件的MSS分片索引包括第一MP4文件的各MSS分片的播放地址。MSS适配器向媒体服务器发送第二MSS播放列表请求的目的就是为了获取媒体服务器中存储的第一 MP4文件的MSS分片索引和虚拟分片索引。
步骤S5030,向MSS播放器发送第一MP4文件的MSS分片索引。
MSS适配器在接收到媒体服务器发送的第一MP4文件的MSS分片索引和虚拟分片索引后,将存储第一MP4文件的虚拟分片索引和MSS分片索引,并将第一MP4文件的MSS分片索引发送给MSS播放器。这样终端中的MSS播放器就获取到了符合MSS协议的MSS分片索引,MSS播放器就可以根据得到的MSS分片索引选择需要播放的MSS分片进行下载并播放。而MSS适配器中存储了第一MP4文件的虚拟分片索引和MSS分片索引,在接收到MSS播放器发送的播放请求后,就可以通过查询第一MP4文件的虚拟分片索引确定MSS 播放器请求播放的MSS分片在第一MP4文件中的位置,然后向存储第一MP4 文件的媒体服务器请求下载第一MP4文件中相应的视频帧和音频帧,并在MSS 适配器中进行组装成MSS分片后发送给MSS播放器,从而实现MSS播放器的正常播放。
步骤S5040,接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一MP4文件的至少一个MSS分片。
在MSS播放器得到第一MP4文件的MSS分片索引,以及MSS适配器中存储了第一MP4文件的MSS分片索引和虚拟分片索引后,MSS播放器即可进行MSS分片的播放,也即执行步骤S5050-步骤S5100的处理。步骤S5050-步骤S5100的处理过程与步骤S2010-步骤S2060相同,此处不再赘述。
步骤S5050,根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系。
步骤S5060,向媒体服务器发送数据分段下载请求并接收媒体服务器发送的第一MP4文件的数据分段,数据分段下载请求用于请求下载与至少一个MSS 分片对应的第一MP4文件的数据分段。
步骤S5070,将数据分段组装生成至少一个MSS分片并向MSS播放器发送至少一个MSS分片。
图6为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图,如图6所示,本实施例提供的方法包括如下步骤。
步骤S6010,接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段。
本实施例提供的MP4文件虚拟MSS分片方法用于媒体服务器,媒体服务器是用于存储媒体文件的服务器,可以位于云端也可以位于用户的本地。由于在媒体服务器中存储MP4文件会导致终端在播放大容量MP4文件时的缓存时间过程,而若在媒体服务器中存储根据MSS协议将MP4文件分割的MSS分片,则会导致媒体服务器中存储的碎片文件过多而影响媒体服务器的性能。
因此在本实施例中,配置了MSS适配器,MSS适配器是在MP4文件和 MSS文件之间进行转换的设备或模块。MSS适配器可以为独立的设备,或者 MSS适配器可以设置于播放MP4的终端中,或者MSS适配器可以设置于存储 MP4文件的媒体服务器中。这样使得媒体服务器中仍然仅需存储完整的MP4 文件,而无需在媒体服务器中存储将MP4文件分割后的MSS分片。而在终端中可以使用基于MSS协议的播放器进行播放,从而降低播放MP4文件时所需的较长缓冲时间。为了实现MSS适配器的上述功能,在MSS适配器中采用将 MP4文件虚拟为MSS分片的方法进行处理,也即在MSS适配器中建立虚拟的 MSS分片,并建立虚拟MSS分片与MP4文件的对应关系,将虚拟MSS分片提供给终端中的MSS播放器,而当MSS播放器需要播放MSS分片时,MSS 适配器确定所需播放的MSS分片与媒体播放器中存储的MP4文件中的音频帧和视频帧的对应关系,并从媒体播放器中下载相应的音频帧和视频帧数据后组装成MSS分片,从而可以将MSS播放器请求播放的MSS分片提供给MSS播放器进行播放。
那么首先,当MSS播放器需要播放MSS分片时,MSS适配器将接收到 MSS播放器发送的MSS下载请求。MSS下载请求用于请求下载第一MP4文件中的至少一个MSS分片。MSS下载请求是MSS播放器根据第一MP4文件的 MSS分片索引发送的,第一MP4文件的MSS分片索引包括第一MP4文件的各MSS分片的播放地址,MSS播放器根据MSS分片索引确定所需播放的MSS 分片后,向MSS适配器发送MSS下载请求。每个MSS分片中包括至少一个视频帧和对应的音频帧的数据,其中为了保证MSS分片的正常播放,每个MSS 分片中应至少包括一个关键视频帧,且关键视频帧应为MSS分片的第一个视频帧。
媒体服务器将接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段。MSS 适配器发送的数据分段下载请求时MSS适配器根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段后发送的。在MSS适配器中存储有第一MP4文件的MSS分片索引和第一MP4文件的虚拟分片索引。其中MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系。也就是说,MSS适配器中保存有用于提供给MSS播放器的MSS分片索引,这与在媒体服务器中存储MSS分片时提供给MSS播放器的索引文件相同,因此MSS播放器无需进行额外的升级和改变。MSS适配器中保存的虚拟分片索引是用于指示各MSS分片索引的数据与第一MP4文件中数据的对应关系的索引文件,由于并未对媒体服务器中的MP4文件进行实际的分割,而仅是使用了虚拟分片索引这样的索引文件建立与MSS索引文件的对应关系,因此无需对媒体服务器中存储的MP4文件进行分割,媒体服务器中仍然可以存储完整的MP4文件,从而避免媒体服务器中存储过多的文件碎片而对媒体服务器工作效率的影响。虚拟分片索引中包括个MSS分片的各音频帧和视频帧数据与第一MP4文件中的各音频帧和视频帧数据的对应关系,通过虚拟分片索引可以确定MSS播放器发送的MSS下载请求中请求下载的MSS分片中各音频帧和视频帧在第一MP4文件中的位置。那么MSS适配器就可以根据第一 MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段。
步骤S6020,向MSS适配器发送第一MP4文件的数据分段。
媒体服务器在接收到数据分段下载请求后,在第一MP4文件中确定所需下载的数据分段中的各视频帧和音频帧数据的位置,然后将请求下载的各数据分段的视频帧和音频帧组成各数据分段后发送给MSS适配器。而MSS适配器在接收到媒体服务器发送的数据分段后,需要将各数据分段中的视频帧和音频帧数据重新组装为符合MSS协议规定的数据格式,也即将数据分段组装生成至少一个MSS分片。这样才能将MSS播放器请求播放的各MSS分片发送给MSS 播放器,使得MSS播放器能够正常地播放各MSS分片。
本申请实施例提供的MP4文件虚拟MSS分片方法,应用于媒体服务器,首先接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段,然后向MSS适配器发送第一MP4文件的数据分段,从而可以将数据分段组装生成至少一个MSS 分片,并向MSS播放器发送至少一个MSS分片,这样设置于终端中的MSS 播放器无需进行升级和改变即可直接播放MSS协议规定的MSS分片,而存储MP4文件的媒体服务器中也无需存储大量的MSS分片碎片,在降低MP4文件播放缓冲时间的基础上,避免了媒体服务器中存储大量文件碎片对性能的影响。
图7为一实施例提供的另一种MP4文件虚拟MSS分片方法的流程图,如图7所示,本实施例提供的方法包括如下步骤。
步骤S7010,接收MSS适配器发送的MSS播放列表请求,MSS播放列表请求用于请求第一MP4文件的MSS分片索引和虚拟分片索引,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系。
终端中的MSS播放器为了播放第一MP4文件的MSS分片,首先需要获取第一MP4文件的第一MSS分片索引,也就是获取第一MP4文件中各MSS分片的播放地址。MSS分片索引是MSS播放器在播放符合MSS协议的MSS分片所需的索引文件。那么,在MSS播放器需要播放第一MP4文件的MSS分片时,首先需要请求MSS适配器发送第一MP4文件的MSS分片索引。由于MSS适配器中并不存储实际的媒体文件,实际的媒体文件是存储于媒体服务器中的 MP4文件,因此当MSS播放器向MSS适配器发送请求后,MSS适配器需要向媒体服务器发送MSS播放列表请求。MSS播放列表请求用于请求第一MP4文件的MSS分片索引和虚拟分片索引。媒体服务器为了支持存储的第一MP4文件被终端的MSS播放器播放,需要在存储第一MP4文件的基础上,将第一MP4 文件中的视频帧和音频帧进行分段得到多个数据分段,每个数据分段中包括至少一个视频帧和对应的音频帧。并且建立各数据分段中的数据与MSS分片的数据的对应关系,即第一MP4文件的虚拟分片索引。媒体服务器中并不是将第一 MP4文件分割为多个实际的数据分段,而是对第一MP4文件进行虚拟的分割,建立虚拟分片索引。另外,媒体服务器还建立第一MP4文件的MSS分片索引,第一MP4文件的MSS分片索引包括第一MP4文件的各MSS分片的播放地址。 MSS适配器向媒体服务器发送MSS播放列表请求的目的就是为了获取媒体服务器中存储的第一MP4文件的MSS分片索引和虚拟分片索引。
在一实施例中,虚拟分片索引包括至少一个MSS分片的数据在第一MP4 文件中的真实数据位置范围。如图3所示,并不对MP4文件进行实际的分割,而是仅生成与MP4文件相关的MSS分片索引和虚拟分片索引。
步骤S7020,向MSS适配器发送第一MP4文件的MSS分片索引和虚拟分片索引。
媒体服务器根据MSS适配器发送的MSS播放列表请求,查询到第一MP4 文件的MSS分片索引和虚拟分片索引后,发送给MSS适配器。MSS适配器在接收到媒体服务器发送的第一MP4文件的MSS分片索引和虚拟分片索引后,将存储第一MP4文件的虚拟分片索引和MSS分片索引,并将第一MP4文件的 MSS分片索引发送给MSS播放器。这样终端中的MSS播放器就获取到了符合 MSS协议的MSS分片索引,MSS播放器就可以根据得到的MSS分片索引选择需要播放的MSS分片进行下载并播放。而MSS适配器中存储了第一MP4文件的虚拟分片索引和MSS分片索引,在接收到MSS播放器发送的播放请求后,就可以通过查询第一MP4文件的虚拟分片索引确定MSS播放器请求播放的 MSS分片在第一MP4文件中的位置,然后向存储第一MP4文件的媒体服务器请求下载第一MP4文件中相应的视频帧和音频帧,并在MSS适配器中进行组装成MSS分片后发送给MSS播放器,从而实现MSS播放器的正常播放。
步骤S7030,接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段。
步骤S7040,向MSS适配器发送第一MP4文件的数据分段。
步骤S7030-步骤S7040的处理过程与步骤S6010-步骤S6020相同,此处不再赘述。
图8为一实施例提供的另一种MP4文件虚拟MSS分片方法的交互流程图,如图8所示,本实施例提供的方法包括如下步骤。
步骤S8010,MSS播放器向MSS适配器请求下载xxx.isml文件。
步骤S8020,MSS适配器向媒体服务器请求下载xxx.isml文件和xxx.index 文件。
步骤S8030,媒体服务器向MSS适配器发送xxx.isml文件和xxx.index文件。
步骤S8040,MSS适配器向MSS播放器发送xxx.isml文件。
步骤S8050,MSS播放器向MSS适配器发送0.m4s的下载请求。
步骤S8060,MSS适配器根据xxx.isml文件和xxx.index文件,计算出0.m4s 对应的分段seg-0在MP4文件中的真实地址范围。
步骤S8070,MSS适配器向媒体服务器请求下载确定的真实地址范围内的数据,即seg-0对应的音频帧和视频帧数据。
步骤S8080,媒体服务器将MP4文件中的seg-0对应的内容发送给MSS适配器。
步骤S8090,MSS适配器解析接收到的音频帧和视频帧数据,并拼装为 0.m4s分片。
步骤S8100,MSS适配器向MSS播放器发送0.m4s分片。
本实施例提供的交互流程图示出了MSS播放器通过MSS适配器播放媒体服务器中存储的MP4文件的完整过程,其中媒体服务器中存储有MP4文件,以及生成如图3所示的xxx.isml和xxx.index文件。
图9为一实施例提供的一种MP4文件虚拟MSS分片装置的结构示意图,如图9所示,本实施例提供的MP4文件虚拟MSS分片装置包括:
接收模块91,设置为接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一MP4文件的至少一个MSS分片;处理模块92,设置为根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系;发送模块93,设置为向媒体服务器发送数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4 文件的数据分段;接收模块91,还设置为接收媒体服务器发送的第一MP4文件的数据分段;处理模块92,还设置为将数据分段组装生成至少一个MSS分片;发送模块93,还设置为向MSS播放器发送至少一个MSS分片。
本实施例提供的MP4文件虚拟MSS分片装置设置于MSS适配器中,用于实现图2所示实施例的MP4文件虚拟MSS分片方法,本实施例提供的MP4文件虚拟MSS分片装置实现原理和技术效果类似,此处不再赘述。
图10为一实施例提供的一种MP4文件虚拟MSS分片装置的结构示意图,如图10所示,本实施例提供的MP4文件虚拟MSS分片装置包括:
接收模块101,设置为接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;发送模块102,设置为向MSS适配器发送第一MP4文件的数据分段。
本实施例提供的MP4文件虚拟MSS分片装置设置于媒体服务器中,用于实现图6所示实施例的MP4文件虚拟MSS分片方法,本实施例提供的MP4文件虚拟MSS分片装置实现原理和技术效果类似,此处不再赘述。
图11为一实施例提供的一种MSS适配器的结构示意图,如图11所示,该MSS适配器包括处理器111、存储器112、发送器113和接收器114;MSS适配器中处理器111的数量可以是一个或多个,图11中以一个处理器111为例; MSS适配器中的处理器111和存储器112、发送器113和接收器114;可以通过总线或其他方式连接,图11中以通过总线连接为例。
存储器112作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本申请图2-图5实施例中的MP4文件虚拟MSS分片方法对应的程序指令/模块(例如,MP4文件虚拟MSS分片装置中的接收模块91、处理模块92、发送模块93)。处理器111通过运行存储在存储器112 中的软件程序、指令以及模块,从而完成MSS适配器至少一种功能应用以及数据处理,即实现上述的MP4文件虚拟MSS分片方法。
存储器112可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据MSS适配器的使用所创建的数据等。此外,存储器112可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
发送器113为能够通过任一种有线或无线网络向终端中的MSS播放器或媒体服务器发送数据的模块或器件组合。接收器114为通过任一种有线或无线网络接收终端中的MSS播放器或媒体服务器发送的数据的模块或器件组合。
图12为一实施例提供的一种媒体服务器的结构示意图,如图12所示,该媒体服务器包括处理器121、存储器122、发送器123和接收器124;媒体服务器中处理器121的数量可以是一个或多个,图12中以一个处理器121为例;媒体服务器中的处理器121和存储器122、发送器123和接收器124;可以通过总线或其他方式连接,图12中以通过总线连接为例。
存储器122作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本申请图6-图7实施例中的MP4文件虚拟MSS分片方法对应的程序指令/模块(例如,MP4文件虚拟MSS分片装置中的接收模块101、发送模块102)。处理器121通过运行存储在存储器122中的软件程序、指令以及模块,从而完成媒体服务器至少一种功能应用以及数据处理,即实现上述的MP4文件虚拟MSS分片方法。
存储器122可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据媒体服务器的使用所创建的数据等。此外,存储器122可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
发送器123为能够通过任一种有线或无线网络向终端中的MSS播放器或媒体服务器发送数据的模块或器件组合。接收器124为通过任一种有线或无线网络接收终端中的MSS播放器或媒体服务器发送的数据的模块或器件组合。
图13为一实施例提供的一种MP4文件MSS分片系统的结构示意图,如图 13所示,该MP4文件MSS分片系统包括MSS播放器131、MSS适配器132 和媒体服务器133。其中MSS播放器131设置于终端中,终端例如包括手机、平板电脑、台式电脑、机顶盒等支持媒体访问即播放的终端。MSS适配器132 可以设置于终端中也可以设置于媒体服务器133中。媒体服务器133为存储媒体文件的服务器,可以设置于云端也可以设置于与终端相同的局域网中。
本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种MP4文件虚拟MSS分片方法方法,该方法包括:接收MSS播放器发送的MSS下载请求,MSS下载请求用于请求下载第一MP4文件的至少一个MSS分片;根据第一MP4文件的MSS分片索引和虚拟分片索引,确定至少一个MSS分片的数据在第一MP4文件中对应的数据分段,MSS分片索引包括第一MP4文件的各MSS分片的播放地址,虚拟分片索引包括各MSS分片的数据与第一MP4文件的数据分段的对应关系;向媒体服务器发送数据分段下载请求并接收媒体服务器发送的第一MP4文件的数据分段,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一 MP4文件的数据分段;;将数据分段组装生成至少一个MSS分片并向MSS播放器发送至少一个MSS分片。
本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种MP4文件虚拟MSS分片方法方法,该方法包括:接收MSS适配器发送的数据分段下载请求,数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;向MSS 适配器发送第一MP4文件的数据分段。
以上仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。
本领域内的技术人员应明白,术语用户终端涵盖任何适合类型的无线用户设备,例如移动电话、便携数据处理装置、便携网络浏览器或车载移动台。
一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。
本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构((Instruction Set Architecture,ISA) 指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(Read-Only Memory,ROM)、随机访问存储器(Random Access Memory,RAM)、光存储器装置和系统(数码多功能光碟(Digital Video Disc, DVD)或光盘((Compact Disc,CD))等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑器件(Field-Programmable Gate Array,FGPA)以及基于多核处理器架构的处理器。
Claims (10)
1.一种MP4文件虚拟MSS分片方法,其特征在于,包括:
接收微软平滑流媒体MSS播放器发送的MSS下载请求,所述MSS下载请求用于请求下载第一MP4文件的至少一个MSS分片;
根据所述第一MP4文件的MSS分片索引和虚拟分片索引,确定所述至少一个MSS分片的数据在所述第一MP4文件中对应的数据分段,所述MSS分片索引包括所述第一MP4文件的各MSS分片的播放地址,所述虚拟分片索引包括各MSS分片的数据与所述第一MP4文件的数据分段的对应关系;
向媒体服务器发送数据分段下载请求并接收所述媒体服务器发送的所述第一MP4文件的数据分段,所述数据分段下载请求用于请求下载与所述至少一个MSS分片对应的所述第一MP4文件的数据分段;
将所述数据分段组装生成所述至少一个MSS分片并向所述MSS播放器发送所述至少一个MSS分片。
2.根据权利要求1所述的方法,其特征在于,所述接收MSS播放器发送的MSS下载请求之前,还包括:
接收所述MSS播放器发送的第一MSS播放列表请求,所述MSS播放列表请求用于请求所述第一MP4文件的MSS分片索引;
向所述媒体服务器发送第二MSS播放列表请求并接收所述媒体服务器发送的所述第一MP4文件的MSS分片索引和虚拟分片索引,所述第二MSS播放列表请求用于请求所述第一MP4文件的MSS分片索引和虚拟分片索引;
向所述MSS播放器发送所述第一MP4文件的MSS分片索引。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一MP4文件的MSS分片索引和虚拟分片索引,确定所述至少一个MSS分片的数据在所述第一MP4文件中对应的数据分段,包括:
根据所述至少一个MSS分片的索引对应的虚拟分片索引,计算所述至少一个MSS分片的数据在所述第一MP4文件中的真实数据位置范围。
4.一种MP4文件虚拟MSS分片方法,其特征在于,包括:
接收微软平滑流媒体MSS适配器发送的数据分段下载请求,所述数据分段下载请求用于请求下载与至少一个MSS分片对应的第一MP4文件的数据分段;
向所述MSS适配器发送所述第一MP4文件的数据分段。
5.根据权利要求4所述的方法,其特征在于,所述接收MSS适配器发送的数据分段下载请求之前,还包括:
接收所述MSS适配器发送的MSS播放列表请求,所述MSS播放列表请求用于请求所述第一MP4文件的MSS分片索引和虚拟分片索引,所述MSS分片索引包括所述第一MP4文件的各MSS分片的播放地址,所述虚拟分片索引包括各MSS分片的数据与所述第一MP4文件的数据分段的对应关系;
向所述MSS适配器发送所述第一MP4文件的MSS分片索引和虚拟分片索引。
6.根据权利要求5所述的方法,其特征在于,所述接收所述MSS适配器发送的MSS播放列表请求之前,还包括:
解析所述第一MP4文件的索引数据,确定所述第一MP4文件中的视频关键帧;
以所述第一MP4文件中的视频关键帧为界限,将所述第一MP4文件分割为多个数据分段,每个数据分段中包括至少一个视频关键帧;
建立所述第一MP4文件的每个数据分段与MSS分片的数据的对应关系,并生成所述虚拟分片索引;
根据对所述第一MP4文件的数据分段生成所述MSS分片索引。
7.根据权利要求6所述的方法,其特征在于,所述虚拟分片索引包括所述至少一个MSS分片的数据在所述第一MP4文件中的真实数据位置范围。
8.一种MSS适配器,包括处理器和存储器,其特征在于,所述处理器用于运行储存在所述存储器里的程序指令以执行根据权利要求1-3中任意一项所述的MP4文件虚拟微软平滑流媒体MSS分片方法。
9.一种媒体服务器,包括处理器和存储器,其特征在于,所述处理器用于运行储存在所述存储器里的程序指令以执行根据权利要求4-7中任意一项所述的MP4文件虚拟微软平滑流媒体MSS分片方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~7中任一所述的MP4文件虚拟微软平滑流媒体MSS分片方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911315661.2A CN113014966A (zh) | 2019-12-19 | 2019-12-19 | Mp4文件虚拟mss分片方法、设备和存储介质 |
EP20902724.2A EP4075814A4 (en) | 2019-12-19 | 2020-12-17 | VIRTUAL MSS FRAGMENTATION PROCESS FOR MP4 FILE, MSS ADAPTER, MEDIA SERVER AND STORAGE MEDIUM |
PCT/CN2020/137122 WO2021121303A1 (zh) | 2019-12-19 | 2020-12-17 | Mp4文件虚拟mss分片方法、mss适配器、媒体服务器和存储介质 |
US17/779,759 US20230008979A1 (en) | 2019-12-19 | 2020-12-17 | Mp4 file virtual mss fragmentation method, mss adapter, media server, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911315661.2A CN113014966A (zh) | 2019-12-19 | 2019-12-19 | Mp4文件虚拟mss分片方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113014966A true CN113014966A (zh) | 2021-06-22 |
Family
ID=76381410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911315661.2A Withdrawn CN113014966A (zh) | 2019-12-19 | 2019-12-19 | Mp4文件虚拟mss分片方法、设备和存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230008979A1 (zh) |
EP (1) | EP4075814A4 (zh) |
CN (1) | CN113014966A (zh) |
WO (1) | WO2021121303A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102232298A (zh) * | 2011-04-07 | 2011-11-02 | 华为技术有限公司 | 媒体内容的传输处理方法、装置与系统 |
CN102238434A (zh) * | 2011-07-22 | 2011-11-09 | 中兴通讯股份有限公司 | 一种iptv流媒体文件虚拟分段和使用的方法及系统 |
CN105612719A (zh) * | 2013-09-13 | 2016-05-25 | 微软技术许可有限责任公司 | 使用封装头部中的元数据的高级网络虚拟化 |
CN106254300A (zh) * | 2015-06-08 | 2016-12-21 | 中兴通讯股份有限公司 | 流媒体传输方法、播放方法、传输装置及播放装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9532092B1 (en) * | 2009-12-30 | 2016-12-27 | Akamai Technologies, Inc. | Multiple bitrate format-agnostic streaming architecture |
US9532113B2 (en) * | 2010-02-17 | 2016-12-27 | Verimatrix, Inc. | Systems and methods for securing content delivered using a playlist |
US8954596B2 (en) * | 2010-04-02 | 2015-02-10 | Netflix, Inc. | Dynamic virtual chunking of streaming media content |
US8914534B2 (en) * | 2011-01-05 | 2014-12-16 | Sonic Ip, Inc. | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
EP3703379B1 (en) * | 2013-12-16 | 2022-06-22 | Panasonic Intellectual Property Corporation of America | Transmission method, reception method, transmitting device, and receiving device |
FR3044194A1 (fr) * | 2015-11-20 | 2017-05-26 | B<>Com | Procede de traitement de donnees codees, procede de reception de donnees codees, dispositifs et programmes d'ordinateurs correspondants |
US10432690B1 (en) * | 2016-06-03 | 2019-10-01 | Amazon Technologies, Inc. | Manifest partitioning |
US10831385B2 (en) * | 2017-04-17 | 2020-11-10 | StorageOS Limited | System and method for managing volumes of data in a block storage system |
EP3646611A4 (en) * | 2017-06-29 | 2020-06-24 | ActiveVideo Networks, Inc. | ORCHESTRALIZED NETWORK APPLICATION SERVICE SYSTEM AND METHODS |
CN108271048B (zh) * | 2018-02-09 | 2020-08-07 | 北京邮电大学 | 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法 |
EP3818717A4 (en) * | 2018-07-06 | 2022-03-23 | Nokia Technologies Oy | DEVICE, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING |
CN109274696A (zh) * | 2018-09-20 | 2019-01-25 | 青岛海信电器股份有限公司 | 基于dash协议的流媒体播放方法及装置 |
CN109787983A (zh) * | 2019-01-24 | 2019-05-21 | 北京百度网讯科技有限公司 | 直播流切片方法、装置和系统 |
CN110198494B (zh) * | 2019-06-28 | 2021-07-20 | 广州市百果园信息技术有限公司 | 一种视频播放方法、装置、设备和存储介质 |
-
2019
- 2019-12-19 CN CN201911315661.2A patent/CN113014966A/zh not_active Withdrawn
-
2020
- 2020-12-17 EP EP20902724.2A patent/EP4075814A4/en active Pending
- 2020-12-17 WO PCT/CN2020/137122 patent/WO2021121303A1/zh unknown
- 2020-12-17 US US17/779,759 patent/US20230008979A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102232298A (zh) * | 2011-04-07 | 2011-11-02 | 华为技术有限公司 | 媒体内容的传输处理方法、装置与系统 |
CN102238434A (zh) * | 2011-07-22 | 2011-11-09 | 中兴通讯股份有限公司 | 一种iptv流媒体文件虚拟分段和使用的方法及系统 |
CN105612719A (zh) * | 2013-09-13 | 2016-05-25 | 微软技术许可有限责任公司 | 使用封装头部中的元数据的高级网络虚拟化 |
CN106254300A (zh) * | 2015-06-08 | 2016-12-21 | 中兴通讯股份有限公司 | 流媒体传输方法、播放方法、传输装置及播放装置 |
Also Published As
Publication number | Publication date |
---|---|
EP4075814A4 (en) | 2023-04-05 |
EP4075814A1 (en) | 2022-10-19 |
US20230008979A1 (en) | 2023-01-12 |
WO2021121303A1 (zh) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110996160B (zh) | 视频处理方法、装置、电子设备及计算机可读取存储介质 | |
US11490173B2 (en) | Switch of audio and video | |
CN104104971A (zh) | 一种视频文件处理方法及系统 | |
CN107277081A (zh) | 流媒体数据的切片下载方法和装置、流媒体系统 | |
CN104967862A (zh) | 一种视频存储方法及装置和视频搜索方法及装置 | |
JP5753946B2 (ja) | フォントファイルをダウンロードする方法およびシステム | |
CN110620827B (zh) | 一种Android云上分片打包方法、主机、系统和设备 | |
CN113115120B (zh) | 视频切片方法、装置、电子设备及存储介质 | |
US11374843B2 (en) | Method for measuring network speed, computing device, and computer-program product | |
CN109525622B (zh) | 分片资源id的生成方法、资源分享方法,装置及电子设备 | |
WO2005059694A2 (en) | Method and apparatus for buffering streaming media | |
CN109089174B (zh) | 一种多媒体数据流的处理方法及装置、计算机存储介质 | |
CN111803917B (zh) | 资源的处理方法和装置 | |
CN112287127B (zh) | 多媒体文件存储、读取方法 | |
CN113742518A (zh) | 存储和提供视频的方法、设备和计算机程序产品 | |
CN111436009A (zh) | 一种实时视频流传送、显示方法以及传送和播放系统 | |
CN110290396B (zh) | 一种视频处理的方法、装置、系统、设备和存储介质 | |
JP7269392B2 (ja) | Mp4オンライン再生方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
CN101707697B (zh) | 一种推送视频及数据内容的方法、系统及设备 | |
CN110519656B (zh) | 自适应流媒体的播放方法、系统以及服务器 | |
CN112243158A (zh) | 媒体文件处理方法、装置及电子设备 | |
CN111506747B (zh) | 文件解析方法、装置、电子设备及存储介质 | |
CN113079386A (zh) | 一种视频在线播放方法、装置、电子设备及存储介质 | |
CN102611716B (zh) | 一种传输媒体文件的方法、装置及系统 | |
CN109587517B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210622 |
|
WW01 | Invention patent application withdrawn after publication |