CN115048541A - 多媒体文件的获取方法、装置、设备及介质 - Google Patents
多媒体文件的获取方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115048541A CN115048541A CN202210737787.4A CN202210737787A CN115048541A CN 115048541 A CN115048541 A CN 115048541A CN 202210737787 A CN202210737787 A CN 202210737787A CN 115048541 A CN115048541 A CN 115048541A
- Authority
- CN
- China
- Prior art keywords
- multimedia file
- target
- file
- index file
- segment
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 239000012634 fragment Substances 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004806 packaging method and process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000009517 secondary packaging Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种多媒体文件的获取方法、装置、设备及介质,其中,方法包括:接收目标片段的获取请求,获取请求包括多媒体文件的标识,目标片段为多媒体文件的至少一部分;根据多媒体文件的标识从索引文件表中得到目标片段对应的目标索引文件,索引文件表包括至少一个索引文件,索引文件包括片段的特征,片段由多媒体文件分包得到;根据目标索引文件中片段的特征得到目标片段在多媒体文件中的位置信息;根据位置信息从多媒体文件的数据中拉流,保证视频能够快速、高效地根据用户指定的任意时间段下载文件片段。
Description
技术领域
本申请一般涉及文件处理领域,具体涉及一种多媒体文件的获取方法、装置、设备及介质。
背景技术
流媒体服务中,经常会遇到用户需要将直播视频流、音频流存储下来,以便后期查看或回放。然而,随着时间的推移,存储的视频流、音频流的数据量越来越大,当用户指定某一视频或者某一视频片段进行查看或者回放时,由于视频流、音频流的数据量庞大,因此,通常出现查询耗时高、查询效率低,用户等待时间长的问题,影响用户的使用体验。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种多媒体文件的获取方法、装置、设备及介质,能够保证视频能够快速、高效地根据用户指定的任意时间段下载文件片段。
第一方面,本申请实施例提供了一种多媒体文件的获取方法,包括:
接收目标片段的获取请求,所述获取请求包括多媒体文件的标识,所述目标片段为所述多媒体文件的至少一部分;
根据所述标识从索引文件表中得到所述目标片段对应的目标索引文件,所述索引文件表包括至少一个索引文件,所述索引文件包括片段的特征,所述片段由所述多媒体文件分包得到;
根据所述目标索引文件中片段的特征得到所述目标片段在所述多媒体文件中的位置信息;
根据所述位置信息从所述多媒体文件的数据中拉流。
在一些示例中,所述根据所述标识从索引文件表中得到所述目标片段对应的目标索引文件,包括:
根据所述标识确定所述多媒体文件;
从所述索引文件表中检索所述多媒体文件的索引文件;
根据所述目标片段对应的时间段,从所述多媒体文件的索引文件中得到所述目标片段对应的目标索引文件。
在一些示例中,所述根据所述目标索引文件中片段的特征得到所述目标片段在所述多媒体文件中的位置信息,包括:
获得所述目标片段的起始时间和结束时间;
根据所述目标索引文件中片段的特征、所述目标片段的起始时间和结束时间,确定所述目标片段在所述多媒体文件中的起始位置和结束位置。
在一些示例中,所述根据所述目标索引文件中片段的特征、所述目标片段的起始时间和结束时间,确定所述目标片段在所述多媒体文件中的起始位置和结束位置,包括:
根据所述目标索引文件中片段的特征、所述目标片段的起始时间,得到所述目标片段在所述多媒体文件中的起始帧;
根据目标索引文件中片段的特征、所述目标片段的结束时间,得到所述目标片段在所述多媒体文件中的结束帧。
在一些示例中,所述根据所述位置信息从所述多媒体文件的数据中拉流,包括:
根据所述目标片段的起始帧和所述结束帧,从所述多媒体文件的数据中拉流。
在一些示例中,在根据所述标识从索引文件表中得到所述目标片段对应的目标索引文件之前,还包括:
根据所述多媒体文件的分包,得到所述多媒体文件的片段;
提取所述多媒体文件的片段的特征;
根据所述特征得到所述索引文件,并将所述索引文件存入所述索引文件表。
在一些示例中,还包括:
将所述多媒体文件转换为块文件,得到所述多媒体文件的数据;
存储所述多媒体文件的数据。
第二方面,本申请实施例提供了一种多媒体文件的获取装置,包括:
接收模块,用于接收目标片段的获取请求,所述获取请求包括多媒体文件的标识,所述目标片段为所述多媒体文件的至少一部分;
检索模块,用于根据所述标识从索引文件表中得到所述目标片段对应的目标索引文件,所述索引文件表包括至少一个索引文件,所述索引文件包括片段的特征,所述片段由所述多媒体文件分包得到;
定位模块,用于根据所述目标索引文件中片段的特征得到所述目标片段在所述多媒体文件中的位置信息;
获取模块,用于根据所述位置信息从所述多媒体文件的数据中拉流。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如本申请实施例描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例描述的方法。
本申请实施例提出的多媒体文件的获取方法、装置、设备及介质,当接收到目标片段的获取请求时,可以快速地查询到目标片段对应的目标索引文件,进而,能够根据目标索引文件中片段的特征快速地确定出目标片段在多媒体文件中的位置信息,并根据位置信息从多媒体文件的数据中准确地拉流。能够任意且快速地从完整的文件中截取到目标片段,提升用户的使用体验,从而,保证视频能够快速、高效地根据用户指定的任意时间段下载文件片段。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请一个实施例的多媒体文件的获取方法的流程示意图;
图2为本申请一个实施例的多媒体文件的获取方法的应用示意图;
图3为本申请一个实施例的多媒体文件的获取方法的数据包结构示意图;
图4为本申请一个实施例的多媒体文件的获取方法的索引段结构示意图;
图5为本申请一个实施例的多媒体文件的获取方法的索引头结构示意图;
图6为本申请一个实施例的多媒体文件的获取方法的时间与索引文件对应关系示意图;
图7为本申请另一个实施例中多媒体文件的获取装置的方框示意图;
图8示出了适于用来实现本申请实施例的电子设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1是根据本发明一个实施例的多媒体文件的获取方法的流程图。如图1所示,根据本发明一个实施例的多媒体文件的获取方法,包括如下步骤:
S101:接收目标片段的获取请求,获取请求包括多媒体文件的标识,目标片段为多媒体文件的至少一部分。
多媒体文件包括但不限于视频和音频,即:视频流和音频流,在以下描述中,视音频流指:视频流、音频流或视频流和音频流的总和。以视频A为例,目标片段为视频A的一部分,即:目标片段为视频A的一个片段,例如:视频A为一个总播放时长为30分钟的视频,目标片段可以是这个视频A中从第5分钟到第20分钟这一视频片段。
不同的多媒体文件具有不同的标识,可以是多媒体文件的ID,这样,通过该ID可以区分不同的多媒体文件。
在具体示例中,用户想要通过终端设备点播某个视音频片段,则可以通过终端设备向服务器发送视音频片段的获取请求,请求中包括但不限于所请求的视音频片段标识以及视音频片段的时间信息,其中,视音频片段的时间信息例如包括视音频片段在视音频中的起始时间以及时长,例如:视音频为一个总播放时长为30分钟的视音频,所请求的视音频片段是从5分钟作为起始时间,时长为10分钟的视音频片段,则请求的是视音频中从第5分钟到第15分钟这一视音频片段。
可以理解的是,服务器中预先存储视音频,在本发明的一个实施例中,如图2所示,服务器在接收音视频如RTP/RTMP/RTSP流等文件时,是以包形式接收的,即:RTP/RTMP/RTSP流进行分包,然后,服务器接收各个数据包,最后,通过索引文件和块文件存储视音频。具体地,服务器启动存储服务,根据多媒体文件的分包即根据接收到的多媒体文件的每个数据包,得到多媒体文件的片段,即:一个片段对应一个数据包;提取多媒体文件的片段的特征(即:数据包的特征);根据特征得到索引文件,并将索引文件存入索引文件表;此外,将多媒体文件转换为块文件,得到多媒体文件的数据;存储多媒体文件的数据。即:序列化写入索引文件、二进制写入块文件,即:以二进制块文件写入多媒体文件,二进制块文件为多媒体文件的原始数据。
其中,对多媒体文件进行分包处理得到的多媒体文件的片段为数据包即Packet包中的视音频片段。每个数据包可以包括2分钟的视音频片段,例如:一个总时长30分钟的视音频,可以分为15个视音频片段即15个数据包。每个数据包包括了多个视音频帧。如图3所示,数据包的包结构包括但不限于Idx即通道ID、是否为关键帧IskeyFrame、有效载荷Payload(对应的视音频片段)、帧解码时间Time和相对时间CompositionTime,这样,将每个视音频片段形成数据包由存储服务接收到。索引文件记录视音频的元数据和每个数据包的特征即每个数据包的特征数据(即:片段的特征)。其中,每个数据包的特征数据可以作为索引段结构的内容写入索引文件,元数据等可以作为索引标题的内容写入索引文件。其中,数据包即Packet包指在包交换网络里,单个消息被划分为多个数据块,这些数据块称为包,数据包在传输到目的地(如服务器)后,服务器可以根据包结构可以将这些数据包重新组合为视音频。数据包的特征数据(即:片段的特征)指从每个数据包中提取的特征,包括但不限于包结构中的:Idx即通道ID、是否为关键帧IskeyFrame、帧解码时间Time和相对时间CompositionTime等。
将视音频存储为索引文件和二进制块文件可通过如下方式实现:
服务器启动存储服务,启动独立线程接收统一格式的视音频Packet包。可以理解的是,为不阻塞业务流程,线程可以设置一定长度的缓存C,用于存储收到的Packet包。
初始化视音频流,利用接收到的视音频的数据包进行初始化操作,主要包括:元数据检测,例如是否存在SPS和PPS;如果存在,则统一格式转换为视音频的元数据即Codec,创建Muxer的写入对象M,统筹Packet包的写入信息。从缓存C中按序读取Packet包,并提取Packet包的特征数据,Packet包的特征数据包括但不限于Idx:通道ID、Key:是否为关键帧、Time:帧解码时间、Serial:包序号以及CompositionTime:相对时间。初始化IndexSection对象,并对Packet包的特征数据进行JSON序列化,按行写入索引文件。
如图4所示,索引Index的段结构包括的字段例如有Pos:在二进制块文件中的起始位置,MD5:载荷数据(即有效数据)的MD5校验值,Len:载荷数据的长度,Description:可有可无,用于描述数据包的属性信息。其中,数据包中的载荷数据,持续不断的写入二进制块文件中,为保证并发效率及磁盘读写性能,可以考虑缓存载荷数据,当缓存数据大于如1M时写入一次。
切换存储文件时,需保证索引标题(IndexHeader)信息最后一个写入索引文件中,如图5所示,索引标题的结构的字段包括但不限于:ID:流ID,MD5:二进制块文件MD5校验值,Name:块文件名,Local:本地存储位置,Remote:远程存储文件,Codecs:元数据,Duration:块文件持续时长,Timestamp:写入时间戳,Description:描述信息。
也就是说,索引文件包括索引标题和索引段,其中,索引标题记录有但不限于视音频的元数据,而索引段记录有但不限于数据包的特征数据(即:片段的特征)。
以上生成的索引文件和二进制块文件,可以根据实际存储要求存储至网络磁盘或本地,需要说明的是,存储到网络磁盘或本地时,需更新IndexHeader中的Local和Remote字段,其中,Local:从指向的本地文件读取数据,Remote:从该地址通过HTTP下载文件至本地,然后更新Local字段。
S102:根据多媒体文件的标识从索引文件表中得到目标片段(例如:多个数据包中的片段的集合)对应的目标索引文件。由上可知,索引文件表包括至少一个索引文件,索引文件包括片段(数据包)的特征,片段由多媒体文件分包得到。
基于此,根据多媒体文件的标识从索引文件表中得到目标片段对应的目标索引文件,包括:根据多媒体文件的标识确定多媒体文件;从索引文件表中检索多媒体文件的索引文件;根据目标片段对应的时间段,从多媒体文件的索引文件中得到目标片段对应的目标索引文件。
假设视频频总时长30分钟、标识为X,每两分钟的视音频片段构成一个数据包,则视频频包括15个数据包,对应15个索引文件,依次为索引文件1至索引文件15,则根据多媒体文件的标识X从索引文件表中找到这15个索引文件,然后假设请求的视频频片段为第5分钟到9分钟的片段,则视频频片段对应的索引文件为索引文件3至索引文件5,即:索引文件3至索引文件5为目标索引文件,索引文件3至索引文件4包括的总的视音频片段为4分钟-10分钟的视音频片段。
可以理解的是,索引文件表中通常包括多个视音频的索引文件,由于视音频的数量庞大,因此,索引文件表可以包括海量的索引文件。
S103:根据目标索引文件中片段的特征得到目标片段在多媒体文件中的位置信息;
目标索引文件中片段的特征包括每个数据包中第一帧的解码时间,因此,可以基于该特征得到目标片段在多媒体文件中的位置信息。在本发明的一个实施例中,根据所述目标索引文件中片段的特征得到所述目标片段在所述多媒体文件中的位置信息,包括:获得所述目标片段的起始时间和结束时间;根据所述目标索引文件中片段的特征、所述目标片段的起始时间和结束时间,确定所述目标片段在所述多媒体文件中的起始位置和结束位置。
片段的特征为数据包的特征数据,结合图4所示,包括但不限于Idx:通道ID、Key:是否为关键帧、Time:帧解码时间、Serial:包序号以及CompositionTime:相对时间。
进一步而言,根据所述目标索引文件中片段的特征、所述目标片段的起始时间和结束时间,确定所述目标片段在所述多媒体文件中的起始位置和结束位置,包括:根据所述目标索引文件中片段的特征、所述目标片段的起始时间,得到所述目标片段在所述多媒体文件中的起始帧;根据目标索引文件中片段的特征、所述目标片段的结束时间,得到所述目标片段在所述多媒体文件中的结束帧。
假设视音频总时长30分钟,每两分钟的视音频片段构成一个数据包,则视音频包括15个数据包,对应15个索引文件,假设请求的视音频片段为第5分钟到9分钟的片段,则视音频片段对应的索引文件为索引文件3至索引文件5,即:索引文件3至索引文件5为目标索引文件,而索引文件3至索引文件4包括的总的视音频片段为4分钟-10分钟的视音频片段,即:索引文件3中的第4分钟开始时刻对应的为第一帧的解码时间,而索引文件5中第9分钟结束时刻对应的为最后一帧的解码时间。而请求的视频频片段为第5分钟到9分钟的片段,因此,知道索引文件3中的第4分钟开始时刻对应的为第一帧的解码时间的情况下,通过时间偏移,可以确定出视频频片段为第5分钟这一时刻在索引文件3中对应的视音频帧的位置,同样地,可以确定出第9分钟这一时刻在索引文件5中对应的视音频帧的位置,即:知道需要获得是第几帧(起始帧)到第几帧(结束帧)的数据。
也就是说,存储服务解析索引文件,将其格式化为字典、IndexHeader对象、包时序队列等,其中,字典:将包的时间与特征数据建立一一映射,包时序队列:缓存包的时间序列对象,IndexHeader对象:指向元数据。以上三个结构保证了索引和块的一一映射及快速查找功能。如图6所示,为包字典结构的示意图,即:解析出每个数据包的时间(首个帧的解码时间)和数据包特征之间的映射关系。
S104:根据位置信息从多媒体文件的数据中拉流。即:根据目标片段的起始帧和结束帧,从多媒体文件的数据即二进制块文件中拉流。
作为一个具体的示例,在视频云系统中的实施过程如下:用户配置一路摄像头(拉流协议为RTSP)至视频云系统,视频云调用流媒体服务器的接口(添加摄像头),流媒体服务器启动RTSP拉流服务,成功拉流后,该路流就会以直播的方式放出来。配置存储策略:调用流媒体服务的存储策略接口,添加该路流的存储策略后,此时系统会自动启动流的存储服务,首先流会被统一转为Packet结构,然后发送给存储服务,存储服务起动线程进行序列化落盘机制。视频回放:视频回放业务程序检测到索引文件的存在后,启动反序列化操作,然后向拉流端发布可点播的资源消息,当用户从拉流端点播该资源时(请求包中会带一个起始时间和结束时间),反序列化后的对象根据传入的参数进行检索和数据包输出,依此完成点播服务。当然,如果是文件导出,和回放类似,即:基本流程和视频回放一致,只是在数据包输出时进行文件格式转换,也就是说,按照用户指定的文件格式进行二次封包,然后将封包后的完整文件发送给用户即可。
根据本发明实施例的多媒体文件的获取方法,当接收到目标片段的获取请求时,可以快速地查询到目标片段对应的目标索引文件,进而,能够根据目标索引文件中片段的特征快速地确定出目标片段在多媒体文件中的位置信息,并根据位置信息从多媒体文件的数据中准确地拉流。能够任意且快速地从完整的文件中截取到目标片段,提升用户的使用体验,从而,保证视频能够快速、高效地根据用户指定的任意时间段下载文件片段。
图7为本申请一个实施例中多媒体文件的获取装置的方框示意图。
如图7所示,本申请实施例的多媒体文件的获取装置700,包括:接收模块710、检索模块720、定位模块730和获取模块740,其中:
接收模块710,用于接收目标片段的获取请求,所述获取请求包括多媒体文件的标识,所述目标片段为所述多媒体文件的至少一部分;
检索模块720,用于根据所述标识从索引文件表中得到所述目标片段对应的目标索引文件,所述索引文件表包括至少一个索引文件,所述索引文件包括片段的特征,所述片段由所述多媒体文件分包得到;
定位模块730,用于根据所述目标索引文件中片段的特征得到所述目标片段在所述多媒体文件中的位置信息;
获取模块740,用于根据所述位置信息从所述多媒体文件的数据中拉流。
在本发明的一个实施例中,检索模块720,具体用于:
根据所述标识确定所述多媒体文件;
从所述索引文件表中检索所述多媒体文件的索引文件;
根据所述目标片段对应的时间段,从所述多媒体文件的索引文件中得到所述目标片段对应的目标索引文件。
在本发明的一个实施例中,定位模块730,具体用于:
获得所述目标片段的起始时间和结束时间;
根据所述目标索引文件中片段的特征、所述目标片段的起始时间和结束时间,确定所述目标片段在所述多媒体文件中的起始位置和结束位置。
在本发明的一个实施例中,定位模块730,具体用于:
根据所述目标索引文件中片段的特征、所述目标片段的起始时间,得到所述目标片段在所述多媒体文件中的起始帧;
根据目标索引文件中片段的特征、所述目标片段的结束时间,得到所述目标片段在所述多媒体文件中的结束帧。
在本发明的一个实施例中,获取模块740,具体用于:
根据所述目标片段的起始帧和所述结束帧,从所述多媒体文件的数据中拉流。
在本发明的一个实施例中,在根据所述标识从索引文件表中得到所述目标片段对应的目标索引文件之前,还包括:
根据所述多媒体文件的分包,得到所述多媒体文件的片段;
提取所述多媒体文件的片段的特征;
根据所述特征得到所述索引文件,并将所述索引文件存入所述索引文件表。
在本发明的一个实施例中,还包括:
将所述多媒体文件转换为块文件,得到所述多媒体文件的数据;
存储所述多媒体文件的数据。
应当理解,装置700中记载的诸单元或模块与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于装置700及其中包含的单元,在此不再赘述。装置700可以预先实现在电子设备的浏览器或其他安全应用中,也可以通过下载等方式而加载到电子设备的浏览器或其安全应用中。装置700中的相应单元可以与电子设备中的单元相互配合以实现本申请实施例的方案。
在上文详细描述中提及的若干模块或者单元,这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
综上所述,本申请实施例提出的多媒体文件的获取装置,当接收到目标片段的获取请求时,可以快速地查询到目标片段对应的目标索引文件,进而,能够根据目标索引文件中片段的特征快速地确定出目标片段在多媒体文件中的位置信息,并根据位置信息从多媒体文件的数据中准确地拉流。能够任意且快速地从完整的文件中截取到目标片段,提升用户的使用体验,从而,保证视频能够快速、高效地根据用户指定的任意时间段下载文件片段。
下面参考图8,图8示出了适于用来实现本申请实施例的电子设备或服务器的计算机系统的结构示意图,
如图8所示,计算机系统包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM1003中,还存储有系统的操作指令所需的各种程序和数据。CPU1001、ROM1002以及RAM1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005;包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本申请的实施例,上文参考流程图图2描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以为的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作指令。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个连接表示的方框实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作指令的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或多个程序,当上述程序被一个或者一个以上的处理器用来执行描述于本申请的多媒体文件的获取方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其他技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种多媒体文件的获取方法,其特征在于,包括:
接收目标片段的获取请求,所述获取请求包括多媒体文件的标识,所述目标片段为所述多媒体文件的至少一部分;
根据所述标识从索引文件表中得到所述目标片段对应的目标索引文件,所述索引文件表包括至少一个索引文件,所述索引文件包括片段的特征,所述片段由所述多媒体文件分包得到;
根据所述目标索引文件中片段的特征得到所述目标片段在所述多媒体文件中的位置信息;
根据所述位置信息从所述多媒体文件的数据中拉流。
2.根据权利要求1所述的多媒体文件的获取方法,其特征在于,所述根据所述标识从索引文件表中得到所述目标片段对应的目标索引文件,包括:
根据所述标识确定所述多媒体文件;
从所述索引文件表中检索所述多媒体文件的索引文件;
根据所述目标片段对应的时间段,从所述多媒体文件的索引文件中得到所述目标片段对应的目标索引文件。
3.根据权利要求1所述的多媒体文件的获取方法,其特征在于,所述根据所述目标索引文件中片段的特征得到所述目标片段在所述多媒体文件中的位置信息,包括:
获得所述目标片段的起始时间和结束时间;
根据所述目标索引文件中片段的特征、所述目标片段的起始时间和结束时间,确定所述目标片段在所述多媒体文件中的起始位置和结束位置。
4.根据权利要求3所述的多媒体文件的获取方法,其特征在于,所述根据所述目标索引文件中片段的特征、所述目标片段的起始时间和结束时间,确定所述目标片段在所述多媒体文件中的起始位置和结束位置,包括:
根据所述目标索引文件中片段的特征、所述目标片段的起始时间,得到所述目标片段在所述多媒体文件中的起始帧;
根据目标索引文件中片段的特征、所述目标片段的结束时间,得到所述目标片段在所述多媒体文件中的结束帧。
5.根据权利要求4所述的多媒体文件的获取方法,其特征在于,所述根据所述位置信息从所述多媒体文件的数据中拉流,包括:
根据所述目标片段的起始帧和所述结束帧,从所述多媒体文件的数据中拉流。
6.根据权利要求1-5任一项所述的多媒体文件的获取方法,其特征在于,在根据所述标识从索引文件表中得到所述目标片段对应的目标索引文件之前,还包括:
根据所述多媒体文件的分包,得到所述多媒体文件的片段;
提取所述多媒体文件的片段的特征;
根据所述特征得到所述索引文件,并将所述索引文件存入所述索引文件表。
7.根据权利要求6所述的多媒体文件的获取方法,其特征在于,还包括:
将所述多媒体文件转换为块文件,得到所述多媒体文件的数据;
存储所述多媒体文件的数据。
8.一种多媒体文件的获取装置,其特征在于,包括:
接收模块,用于接收目标片段的获取请求,所述获取请求包括多媒体文件的标识,所述目标片段为所述多媒体文件的至少一部分;
检索模块,用于根据所述标识从索引文件表中得到所述目标片段对应的目标索引文件,所述索引文件表包括至少一个索引文件,所述索引文件包括片段的特征,所述片段由所述多媒体文件分包得到;
定位模块,用于根据所述目标索引文件中片段的特征得到所述目标片段在所述多媒体文件中的位置信息;
获取模块,用于根据所述位置信息从所述多媒体文件的数据中拉流。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现根据权利要求1-7中任一所述的多媒体文件的获取方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现根据权利要求1-7中任一所述的多媒体文件的获取方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210737787.4A CN115048541A (zh) | 2022-06-27 | 2022-06-27 | 多媒体文件的获取方法、装置、设备及介质 |
CN202310332079.7A CN116506413A (zh) | 2022-06-27 | 2023-03-30 | 多媒体文件的存储方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210737787.4A CN115048541A (zh) | 2022-06-27 | 2022-06-27 | 多媒体文件的获取方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115048541A true CN115048541A (zh) | 2022-09-13 |
Family
ID=83163988
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210737787.4A Withdrawn CN115048541A (zh) | 2022-06-27 | 2022-06-27 | 多媒体文件的获取方法、装置、设备及介质 |
CN202310332079.7A Pending CN116506413A (zh) | 2022-06-27 | 2023-03-30 | 多媒体文件的存储方法、装置、设备及介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310332079.7A Pending CN116506413A (zh) | 2022-06-27 | 2023-03-30 | 多媒体文件的存储方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN115048541A (zh) |
-
2022
- 2022-06-27 CN CN202210737787.4A patent/CN115048541A/zh not_active Withdrawn
-
2023
- 2023-03-30 CN CN202310332079.7A patent/CN116506413A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116506413A (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2383941B1 (en) | Client terminal, method and system for downloading streaming media | |
US11356748B2 (en) | Method, apparatus and system for slicing live streaming | |
US9961398B2 (en) | Method and device for switching video streams | |
US10051013B2 (en) | Method and apparatus for streaming multimedia content of server by using cache | |
KR101312902B1 (ko) | 트리거를 사용하지 않는 양방향 텔레비전 | |
CN111367687A (zh) | 进程间数据通信方法和装置 | |
US20240056641A1 (en) | Video playing method and apparatus, device, and medium | |
US8824676B2 (en) | Streaming video to cellular phones | |
KR20100085725A (ko) | 콘텐트 정보 제공 및 재생 방법 및 장치 | |
US10404828B2 (en) | Streaming apparatus, streaming method, and streaming service system using the streaming apparatus | |
US20210021655A1 (en) | System and method for streaming music on mobile devices | |
US11706498B2 (en) | Playback method, system, device and readable storage medium of live broadcast content | |
CN114205664B (zh) | 投屏方法、投屏装置、投屏显示装置、投屏系统及介质 | |
US20220256226A1 (en) | Video data processing method, electronic device and computer-readable medium | |
CN114299972A (zh) | 音频处理方法、装置、设备及存储介质 | |
US7735096B2 (en) | Destination application program interfaces | |
CN112243158B (zh) | 媒体文件处理方法、装置、计算机可读介质及电子设备 | |
CN108924630A (zh) | 一种显示缓存进度的方法和播放设备 | |
CN113079386B (zh) | 一种视频在线播放方法、装置、电子设备及存储介质 | |
CN113873288A (zh) | 在直播过程中生成回放的方法和装置 | |
CN112689020A (zh) | 一种消息传输方法、消息中间件、电子设备及存储介质 | |
CN115048541A (zh) | 多媒体文件的获取方法、装置、设备及介质 | |
WO2019140963A1 (zh) | 数据传输 | |
WO2022242461A1 (zh) | 直播音视频处理方法、装置、客户端和服务器 | |
CN104980817A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220913 |