CN116415032A - 一种视频文件读取、存储方法及装置 - Google Patents

一种视频文件读取、存储方法及装置 Download PDF

Info

Publication number
CN116415032A
CN116415032A CN202111639487.4A CN202111639487A CN116415032A CN 116415032 A CN116415032 A CN 116415032A CN 202111639487 A CN202111639487 A CN 202111639487A CN 116415032 A CN116415032 A CN 116415032A
Authority
CN
China
Prior art keywords
video
file
video file
stored
metadata
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
Application number
CN202111639487.4A
Other languages
English (en)
Inventor
王海青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202111639487.4A priority Critical patent/CN116415032A/zh
Publication of CN116415032A publication Critical patent/CN116415032A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Abstract

本申请实施例提供了一种视频文件读取、存储方法及装置,涉及视频处理技术领域,上述方法包括:获得包含待读取视频的待读取时刻的视频读取指令;从分布式文件系统所存储的各个视频对象文件对应的对象元数据中,查找目标元数据;从各个视频对象文件中,读取目标元数据对应的目标视频文件。应用本申请实施例提供的方案,能够提高对已存储视频文件进行处理的效率。

Description

一种视频文件读取、存储方法及装置
技术领域
本申请涉及视频处理技术领域,特别是涉及一种视频文件读取、存储方法及装置。
背景技术
一般情况下,存储设备在将一份视频文件存储至存储空间时,可以对上述视频文件的元数据也进行存储,这样在客户端存在访问需求时,存储设备能够基于上述元数据在存储空间中访问到上述视频文件,其中,上述元数据可以包括视频文件的名称、大小、格式、存储位置等信息。
现有技术中,存储设备在存储视频文件时,往往将需要存储的视频文件作为一个整体进行存储,视频文件的元数据所包括的信息往往也是针对整个视频文件的名称、大小、格式、存储位置等信息,这就导致客户端在需要对已存储的视频文件中的部分视频片段进行播放、转发等处理时,需要先从存储设备的存储空间中将整个视频文件读取出来,进而才能对所读取的视频文件中的部分视频片段进行处理,而当视频文件较大时,客户端从存储空间中读取视频文件的耗时较长。由此可见,应用现有技术中的视频文件存储、读取方式,对已存储视频文件进行处理的效率较低。
发明内容
本申请实施例的目的在于提供一种视频文件读取、存储方法及装置,以提高对已存储视频文件进行处理的效率。具体技术方案如下:
第一方面,本申请实施例提供了一种视频文件读取方法,所述方法包括:
获得包含待读取视频的待读取时刻的视频读取指令;
从分布式文件系统所存储的各个视频对象文件对应的对象元数据中,查找目标元数据,其中,每一视频对象文件对应的视频片段为所述待读取视频的部分片段,每一视频对象文件对应的对象元数据包含:反映该视频对象文件所对应的视频片段的时间段的视频时间信息,所述目标元数据所包含的目标视频时间信息反映的时间段覆盖所述待读取时刻;
从各个视频对象文件中,读取所述目标元数据对应的目标视频文件。
第二方面,本申请实施例还提供了一种视频文件存储方法,所述方法应用于存储设备,包括:
获得基于待存储的第一视频文件切分得到的多个第二视频文件;
针对每一第二视频文件,获得反映该第二视频文件所对应视频片段的时间段的视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据;
以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统。
本申请的一个实施例中,所述获得基于待存储视频的第一视频文件切分得到的多个第二视频文件,包括:
获得对所述第一视频文件进行切分得到的多个子视频文件;
针对每一子视频文件,判断该子视频文件所占的空间是否大于空间阈值;若为否,则确定该子视频文件为第二视频文件;若为是,则将该子视频文件切分为所占空间不大于所述预设空间阈值的多个第二视频文件。
本申请的一个实施例中,所述空间阈值的大小基于所述存储设备所处的网络环境确定。
本申请的一个实施例中,所述获得基于待存储视频的第一视频文件切分得到的多个第二视频文件,包括:
获得待存储文件以及该待存储文件的文件格式;
根据所述待存储文件的文件格式,判断所述待存储文件是否为视频文件;
若为是,则确定所述待存储文件为第一视频文件,并获得基于所述待存储文件切分得到的多个第二视频文件。
本申请的一个实施例中,所述针对每一第二视频文件,获得反映该第二视频文件所对应视频片段的时间段的视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据,包括:
针对每一第二视频文件,对该第二视频文件进行视频转码,从转码后的该第二视频文件中提取起始视频帧的播放时刻和终止视频帧的播放时刻作为视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据,其中,所述起始视频帧为:该第二视频文件所对应视频片段的第一帧图像,所述终止视频帧为:该第二视频文件所对应视频片段的最后一帧图像。
本申请的一个实施例中,所述以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统,包括:
针对每一第二视频文件,检测分布式文件系统所存储的对象文件的元数据中是否存在该第二视频文件的对象元数据,若不存在,则以对象存储方式将该第二视频文件以及该第二视频文件的对象元数据存储至所述分布式存储系统。
第三方面,本申请实施例还提供了一种视频文件读取装置,所述装置包括:
指令获得模块,用于获得包含待读取视频的待读取时刻的视频读取指令;
元数据查找模块,用于从分布式文件系统所存储的各个视频对象文件对应的对象元数据中,查找目标元数据,其中,每一视频对象文件对应的视频片段为所述待读取视频的部分片段,每一视频对象文件对应的对象元数据包含:反映该视频对象文件所对应的视频片段的时间段的视频时间信息,所述目标元数据所包含的目标视频时间信息反映的时间段覆盖所述待读取时刻;
文件读取模块,用于从各个视频对象文件中,读取所述目标元数据对应的目标视频文件。
第四方面,本申请实施例还提供了一种视频文件存储装置,所述装置应用于存储设备,包括:
文件获得模块,用于基于待存储的第一视频文件切分得到的多个第二视频文件;
元数据生成模块,用于针对每一第二视频文件,获得反映该第二视频文件所对应视频片段的时间段的视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据;
文件存储模块,用于以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统。
本申请的一个实施例中,所述文件获得模块,具体用于:
获得对所述第一视频文件进行切分得到的多个子视频文件;
针对每一子视频文件,判断该子视频文件所占的空间是否大于空间阈值;若为否,则确定该子视频文件为第二视频文件;若为是,则将该子视频文件切分为所占空间不大于所述预设空间阈值的多个第二视频文件。
本申请的一个实施例中,所述空间阈值的大小基于所述存储设备所处的网络环境确定。
本申请的一个实施例中,所述文件获得模块,具体用于:
获得待存储文件以及该待存储文件的文件格式;
根据所述待存储文件的文件格式,判断所述待存储文件是否为视频文件;
若为是,则确定所述待存储文件为第一视频文件,并获得基于所述待存储文件切分得到的多个第二视频文件。
本申请的一个实施例中,所述元数据生成模块,具体用于:
针对每一第二视频文件,对该第二视频文件进行视频转码,从转码后的该第二视频文件中提取起始视频帧的播放时刻和终止视频帧的播放时刻作为视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据,其中,所述起始视频帧为:该第二视频文件所对应视频片段的第一帧图像,所述终止视频帧为:该第二视频文件所对应视频片段的最后一帧图像。
本申请的一个实施例中,所述文件存储模块,具体用于:
针对每一第二视频文件,检测分布式文件系统所存储的对象文件的元数据中是否存在该第二视频文件的对象元数据,若不存在,则以对象存储方式将该第二视频文件以及该第二视频文件的对象元数据存储至所述分布式存储系统。
第五方面,本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面或第二方面任一所述的方法步骤。
第六方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面任一所述的方法步骤。
第七方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面任一所述的方法步骤。
本申请实施例有益效果:
由以上可见,应用本申请实施例提供的方案进行视频文件存储、读取时,获得的基于待存储的第一视频文件切分得到的多个第二视频文件,并针对每一第二视频文件,获得基于该第二视频文件所对应视频的播放时刻确定的视频时间信息,并生成包含视频时间信息的、该第二视频文件的对象元数据,然后以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统。每一视频文件的元数据中所包含的视频时间信息,能够反映该视频文件对应的视频片段的开始时刻至终止时刻的时间段,在需要读取已存储的视频文件时,只需根据待读取视频的待读取时刻,从所存储的各个对象元数据中,查找包含的目标时间信息反映的时间段覆盖待读取时刻的的目标元数据,进而读取目标元数据对应的目标视频文件,上述目标视频文件为待读取视频的部分片段对应的视频文件,这样无需读取对应待读取视频的全部视频文件,缩短了读取视频文件的耗时,从而提高了对已存储视频文件进行读取的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本申请实施例提供的第一种视频文件读取方法的流程示意图;
图2为本申请实施例提供的第一种视频文件存储方法的流程示意图;
图3为本申请实施例提供的第二种视频文件存储方法的流程示意图;
图4为本申请实施例提供的第三种视频文件存储方法的流程示意图;
图5为本申请实施例提供的第四种视频文件存储方法的流程示意图;
图6为本申请实施例提供的第五种视频文件存储方法的流程示意图;
图7为本申请实施例提供的一种视频文件存储装置的结构示意图;
图8为本申请实施例提供的一种视频文件读取装置的结构示意图;
图9为本申请实施例提供的第一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
首先对本视频文件存储方案中涉及的存储方式和文件类型进行说明:
本方案中进行对象存储的应用场景为基于分布式文件存储系统CEPH的场景,本方案中涉及的第一视频文件、第二视频文件、子视频文件以及待存储文件等文件的类型均为对象文件,相应地,本方案中对上述对象文件进行存储的方式为对象存储方式。
下面对本申请实施例提供的视频文件存储、读取方法及装置进行详细介绍。
参见图1,图1为本申请实施例提供的本申请的一个实施例中,参见图1,提供了一种视频文件读取方法的流程示意图,上述方法包括以下步骤S101-S103。
步骤S101:获得包含待读取视频的待读取时刻的视频读取指令。
在需要对待读取视频进行播放的情况下,上述待读取时刻可以是对待读取视频进行播放的待播放时刻,并且,由于该待播放时刻可能是待读取视频的起始播放时刻,也可以是待读取视频的其他任一播放时刻,因此,上述待读取时刻可能是待读取视频的播放时间段中的任一播放时刻。
在需要对待读取视频中的部分视频片段进行转发、下载等操作的情况下,上述待读取时刻可以是上述部分视频片段的起始播放时刻和/或终止播放时刻。
步骤S102:从分布式文件系统所存储的各个视频对象文件对应的对象元数据中,查找目标元数据。
其中,每一视频对象文件对应的视频片段为所述待读取视频的部分片段,每一视频对象文件对应的对象元数据包含:反映该视频对象文件所对应的视频片段的时间段的视频时间信息,上述目标元数据所包含的目标视频时间信息反映的时间段覆盖上述待读取时刻。
上述视频时间信息可以反映视频对象文件对应的视频片段从起始播放时刻至终止播放时刻的时间段,上述视频时间信息存在以下三种情况:
第一种情况下,上述视频时间信息可以是视频对象文件所对应视频片段的起始播放时刻和终止播放时刻。
第二种情况下,上述视频时间信息还可以是视频对象文件所对应视频片段的起始播放时刻和播放时长。
第三种情况下,上述视频时间信息还可以是视频对象文件所对应视频片段的终止播放时刻和播放时长。上述视频时间信息也可以是视频对象文件所对应视频片段的中间任一视频帧对应的播放时刻、这一视频帧之前该视频片段的播放时长以及这一视频帧之后该视频片段的播放时长。
具体的,分布式文件系统CEPH包含的视频文件索引index中存储有视频对象文件的对象元数据,通过读取index中存储的每一视频对象文件对应的对象元数据,可以得知该视频对象文件对应的视频片段在上述待读取视频中的播放时间段,从而可以确定包含上述待读取时刻的播放时间段对应的视频时间信息为目标视频时间信息,进而确定包含目标视频时间信息的对象元数据为目标元数据。
若存在多个待读取时刻,则可以针对每一待读取时刻,查找包含的目标视频时间信息与该待读取时刻相匹配的目标元数据。
步骤S103:从各个视频对象文件中,读取目标元数据对应的目标视频文件。
由于上述对象元数据中除视频时间信息外,通常还包含所对应的视频对象文件的其他属性信息,例如文件名称、类型等,因此,可以在分布式文件系统中存储的各个视频对象文件中,查找与目标元数据中包含的文件名称、类型等属性信息相一致的视频对象文件作为目标视频文件,从而读取该目标视频文件。
除此之外,若上述对象元数据中包含所对应的视频对象文件的存储位置,则可以通过目标元数据中包含的目标存储位置,读取存储在目标存储位置中的目标视频文件。
由以上可见,本申请实施例提供的方案中,由于视频对象文件的对象元数据包含的视频时间信息反映了该视频对象文件对应的视频片段的时间段,因此,若视频时间信息与待读取时刻相匹配,则说明待读取时刻为该视频对象文件对应的视频片段中的一个播放时刻,这样能够使得所读取的目标视频文件为期望读取的视频文件。并且,由于所读取的目标视频文件为对应待读取视频的部分片段的视频文件,而非待读取视频对应的视频文件,因此,读取视频文件的速度较快。因此,应用本申请实施例提供的方案进行视频文件读取,可以快速、准确的读取视频文件。
与上述视频文件存储方法相对应地,本申请实施例还提供了一种视频文件读取方法,下面进行详细介绍。
本申请的一个实施例中,参见图2,提供了第一种视频文件存储方法的流程示意图,上述方法应用于存储设备,上述存储设备可以是计算机、服务器等,也可以是基于多个存储单元构建的分布式存储系统,包括以下步骤S201-S203。
步骤S201:获得基于待存储的第一视频文件切分得到的多个第二视频文件。
由于视频在电子设备中通常是以视频文件的形式存在,因此,上述第一视频文件用于描述待存储的视频,对待存储视频进行存储可以理解为对第一视频文件进行存储。
上述第二视频文件用于描述待存储视频的部分片段,切分后得到的所有第二视频文件对应待存储视频的整个视频片段。
一种情况下,可以获得已对上述第一视频文件进行切分的多个第二视频文件。
另一种情况下,还可以获得上述第一视频文件,然后对第一视频文件进行切分,从而得到多个第二视频文件。
这种情况下,可以基于待存储视频的播放时长,将第一视频文件切分为时长相同的多个第二视频文件;还可以基于第一视频文件所占的空间,将第一视频文件切分为所占空间相同的多个第二视频文件;也可以基于预先设定切分后视频文件的数量,对第一视频文件进行切分,获得多个第二视频文件。
步骤S202:针对每一第二视频文件,获得反映该第二视频文件所对应视频片段的时间段的视频时间信息,生成包含视频时间信息的、该第二视频文件的对象元数据。
上述视频时间信息可以反映第二视频文件对应的视频片段从起始播放时刻至终止播放时刻的时间段,上述视频时间信息以及获得上述视频时间信息的方式存在以下三种情况:
第一种情况下,上述视频时间信息可以是第二视频文件所对应视频片段的起始播放时刻和终止播放时刻。
这种情况下,一种实现方式中,可以获得人工手动输入的第二视频文件所对应视频片段的起始播放时刻和终止播放时刻。
另一种实现方式中,还可以通过后续图3所示实施例中步骤S202A获得上述视频时间信息,这里暂不详述。
第二种情况下,上述视频时间信息还可以是第二视频文件所对应视频片段的起始播放时刻和播放时长。
这种情况下,上述起始播放时刻可以按照上述第一种情况所述的方法获得。另外,可以检测第二视频文件所对应视频片段包含的视频帧的数量,再将检测得到的数量与待存储视频的视频帧率相除,从而得到第二视频文件所对应视频片段的播放时长。其中,上述视频帧率可以通过检测一秒钟内待存储视频的视频帧的数量获得。
例如,若检测到第二视频文件所对应视频片段包含的视频帧的数量为1200帧,待存储视频的视频帧率为30fps,则计算得到上述播放时长为1200/30=40秒。
另外,上述视频时间信息也可以是用户通过外部输入设备输入的信息。
第三种情况下,上述视频时间信息还可以是第二视频文件所对应视频片段的终止播放时刻和播放时长。上述视频时间信息也可以是第二视频文件所对应视频片段的中间任一视频帧对应的播放时刻、这一视频帧之前该视频片段的播放时长以及这一视频帧之后该视频片段的播放时长。
获得上述视频时间信息的方式可以参见上述两种情况的描述。
获得上述视频时间信息之后,可以生成包含该视频时间信息的元数据作为第二视频文件的对象元数据。另外,该对象元数据还可以包含第二视频文件的名称、大小、格式等信息。
步骤S203:以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统。
其中,上述分布式存储系统中通常包含视频文件索引index以及视频文件存储空间bucket,index可以存储对象文件的对象元数据,bucket中存在多个对象存储单元object,object用于存储对象文件。
具体的,上述第二视频文件的类型为对象文件,在存储各第二视频文件以及每一第二视频文件的对象元数据时,可以将各第二视频文件分别存储至不同的object中,将各第二视频文件的对象元数据分别作为不同的存储对象存储于index。
由以上可见,应用本申请实施例提供的方案进行视频文件存储、读取时,获得的基于待存储的第一视频文件切分得到的多个第二视频文件,并针对每一第二视频文件,获得基于该第二视频文件所对应视频的播放时刻确定的视频时间信息,并生成包含视频时间信息的、该第二视频文件的对象元数据,然后以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统。每一视频文件的元数据中所包含的视频时间信息,能够反映该视频文件对应的视频片段的开始时刻至终止时刻的时间段,在需要读取已存储的视频文件时,只需根据待读取视频的待读取时刻,从所存储的各个对象元数据中,查找包含的目标时间信息反映的时间段覆盖待读取时刻的的目标元数据,进而读取目标元数据对应的目标视频文件,上述目标视频文件为待读取视频的部分片段对应的视频文件,这样无需读取对应待读取视频的全部视频文件,缩短了读取视频文件的耗时,从而提高了对已存储视频文件进行读取的效率。
本申请的一个实施例中,参见图3,提供了第二种视频文件存储方法的流程示意图,与前述图2所示实施例相比,本实施例中,可以通过以下步骤S201A-S201B实现上述步骤S201。
步骤S201A:获得对第一视频文件进行切分得到的多个子视频文件。
该步骤与上述步骤S201相似,区别仅在于上述步骤S201的切分结果为第二视频文件,本步骤的切分结果为子视频文件,这里不再赘述。
步骤S201B:针对每一子视频文件,判断该子视频文件所占的空间是否大于空间阈值;若为否,则确定该子视频文件为第二视频文件;若为是,则将该子视频文件切分为所占空间不大于预设空间阈值的多个第二视频文件。
其中,上述预设空间阈值可以根据存储设备的存储空间或者读写性能进行确定。当上述存储设备的存储空间较大或者读写性能较好时,可以设置较大的空间阈值;当上述存储设备的存储空间较小或者读写性能较差时,可以设置较小的空间阈值。
本申请的一个实施例中,上述空间阈值的大小基于存储设备所处的网络环境确定。
上述存储设备所处的网络环境可以是存储设备与客户端之间的网络环境。例如,上述网络环境可以描述为存储设备与客户端之间进行数据传输的带宽、网速、丢包率等。
当上述存储设备所处的网络环境较好时,则说明存储设备与客户端之间的数据传输较为稳定,带宽较大,数据传输速率较快,此时可以确定数值较大的空间阈值;当上述存储设备所处的网络环境较差时,则存储设备与客户端之间的数据传输不稳定,带宽较小,数据传输速率较慢,此时可以确定数值较小的空间阈值。
由于存储设备所处的网络环境可能受多种不确定因素的影响而发生改变,因此,根据上述存储设备所处的网络环境确定上述空间阈值,可以使得所确定的空间阈值根据存储设备所处的网络环境的变化而做出调整,从而可以保证空间阈值始终与当前网络环境中的存储设备相适应,进而保证了视频文件存储的可靠性。
在确定上述空间阈值之后,可以判断每一子视频文件是否大于该空间阈值。
具体的,由于在存储设备获得已对上述第一视频文件进行切分的多个子视频文件或者存储设备将第一视频文件切分为预设数量个子视频文件的情况下,难以保证所获得的每一子视频文件所占空间均不大于空间阈值,当上述子视频文件所占空间大于上述空间阈值时,存储设备可能难以对子视频文件进行存储或者存储速度较慢。
例如,在以对象存储的方式进行视频文件存储的情况下,每一视频文件作为一个存储对象存储在存储设备中,一个存储对象对应存储设备中的一个存储位置,当该存储对象所占的空间大于该存储位置提供的空间,则需要对该存储对象进行切分,切分后的多个视频文件作为多个存储对象,分别存储在不同的存储位置。
鉴于此,需要判断每一子视频文件所占的空间是否大于空间阈值,若存在所占空间大于空间阈值的子视频文件,则需要对该子视频文件进行切分。
若上述子视频文件所占空间大于上述空间阈值,则说明上述子视频文件所占的空间较大,存储设备可能难以对其进行存储或者存储速度较慢,此时可以对上述子视频文件再次进行切分,使得切分后的每一视频文件均不大于预设空间阈值,以便于对切分后的视频文件分别进行存储;若上述子视频文件所占的空间小于上述预设空间阈值,则说明上述子视频文件所占的空间较小,存储设备能够对其进行存储或者存储速度较快,此时则不需要将上述子视频文件再次进行切分。
由以上可见,本申请实施例提供的方案中,通过判断将第一视频文件切分后得到的子视频文件所占的空间是否大于空间阈值,并将所占空间大于预设空间阈值的子视频文件再次进行切分,使得最终得到的各视频文件所占的空间均不大于预设空间阈值,从而保证了后续各视频文件均能正常的进行存储,提高了视频文件存储的可靠性。
本申请的一个实施例中,上述步骤S201的具体实现方式为:
获得待存储文件以及该待存储文件的文件格式;
根据所述待存储文件的文件格式,判断所述待存储文件是否为视频文件;
若为是,则确定所述待存储文件为第一视频文件,并获得基于所述待存储文件切分得到的多个第二视频文件。
上述待存储文件可以有多种。例如,视频文件、图像文件、文本文件等。
上述文件格式也可以有多种。例如,MP4(MPEG-4)、WMA(Windows Media Audio)、avi(Audio Video Interleave)等。
由于存储设备不仅可以存储视频文件,还可以存储其他类型的文件,并且,针对不同类型的文件,存储设备存储文件的方式可能不同,本申请实施例提供的方案为针对视频文件的存储方案,因此,需要检测所获得的待存储文件是否为视频文件。
具体的,一种实现方式中,可以通过识别待存储文件的文件名的后缀词来判断待存储文件的文件格式。
另一种实现方式中,还可以通过分析待存储文件包含的文件内容来判断待存储文件的文件格式。
例如,若待存储文件的文件内容为静态图像,则待存储文件的文件格式可以是jpeg(Joint Photographic Experts Group)格式;若待存储文件的文件内容为有格式的文本,则待存储文件的文件格式可以是html(Hyper Text Markup Language,超文本标记语言)格式;若待存储文件的文件内容为视频,则待存储文件的文件格式可能是mp4格式,也可能是avi格式,也可能是其他视频文件格式。
由于不同类型的文件对应不同的文件格式。例如,视频文件的文件格式可以是mp4、wma、av等,图像文件的文件格式可以是jpeg、gif等。因此,可以通过判断待存储文件的文件格式是否属于视频文件对应的文件格式,判断待存储文件是否为视频文件。若待存储文件的文件格式属于视频文件对应的文件格式,则说明待存储文件为视频文件,此时,确定该待存储文件为第一视频文件。
与上述步骤S201相类似,确定待存储文件为第一视频文件之后,可以获得基于待存储文件切分得到的多个第二视频文件。
由以上可见,本申请实施例提供的方案中,由于不同类型的文件进行存储的方式可能不同,若采用错误的存储方式对待存储文件进行存储,可以导致存储失败或存储后的文件出现乱码,本申请实施例提供的方案为针对视频文件的存储方案,因此,通过判断待存储文件是否为视频文件,可以保证文件的正常存储,提高文件存储的可靠性。
本申请的一个实施例中,参见图4,提供了第三种视频文件存储方法的流程示意图,与前述图2所示实施例相比,本实施例中,可以通过以下步骤S202A实现上述步骤S202。
步骤S202A:针对每一第二视频文件,对该第二视频文件进行视频转码,从转码后的该第二视频文件中提取起始视频帧的播放时刻和终止视频帧的播放时刻作为视频时间信息,生成包含视频时间信息的、该第二视频文件的对象元数据。
其中,起始视频帧为:该第二视频文件所对应视频片段的第一帧图像,终止视频帧为:该第二视频文件所对应视频片段的最后一帧图像。
在视频文件中,视频文件对应的视频片段通常是以视频编码的形式存在,在需要播放上述视频文件或者查看上述视频文件对应的视频片段的视频帧时,需要将上述视频文件对应的视频片段从视频编码形式转换为图像形式,进而进行播放或者查看。因此,对第二视频文件进行视频转码,也就是,将第二视频文件对应的待存储视频的部分视频片段从视频编码形式转换为图像形式。
具体的,可以应用现有的视频转码技术实现对第二视频文件进行视频转码,这里不再详述。
对第二视频文件进行视频转码之后,可以确定第二视频文件对应的视频片段的第一帧图像和最后一帧图像,进而获得该第一帧图像和该最后一帧图像的播放时刻作为视频时间信息。
本申请的一个实施例中,可以在针对视频文件的存储协议中,增加获得视频文件所对应的视频片段的起始播放时刻和终止播放时刻的协议,这样在存储上述第二视频文件时,可以根据上述存储协议获得第二视频文件所对应的视频片段的起始播放时刻和终止播放时刻,从而实现生成对象元数据。
由以上可见,本申请实施例提供的方案中,通过对第二视频文件进行视频转码,可以将第二视频文件所对应的视频片段从视频编码形式转换为图像形式,从而在转码后的第二视频文件中提取起始视频帧的播放时刻和终止视频帧的播放时刻作为视频时间信息,进而实现生成对象元数据。由于视频文件的播放过程可以看做是视频文件对应的视频片段中各视频帧按照播放时刻进行顺序展示的过程,因此,将上述起始视频帧的播放时刻和终止视频帧的播放时刻作为视频时间信息,能够准确反映第二视频文件所对应视频片段的时间段,进而提高了所生成的对象元数据的准确性。
本申请的一个实施例中,参见图5,提供了第四种视频文件存储方法的流程示意图,与前述图2所示实施例相比,本实施例中,可以通过以下步骤S203A实现上述步骤S203。
步骤S203A:针对每一第二视频文件,检测分布式文件系统所存储的对象文件的元数据中是否存在该第二视频文件的对象元数据,若不存在,则以对象存储方式将该第二视频文件以及该第二视频文件的对象元数据存储至分布式存储系统。
具体的,若已存储的对象文件的元数据中存在上述第二视频文件的对象元数据,则说明已存储的对象文件中已存在上述第二视频文件,此时,无需对上述第二视频文件进行存储;若已存储的对象文件的元数据中不存在上述第二视频文件的元数据,则说明已存储的视频文件中不存在上述第二视频文件,此时,需要对上述第二视频文件进行存储,并对上述第二视频文件对应的对象元数据进行存储。
例如,上述已存储的视频文件的元数据可以包含已存储的视频文件的文件名称,通过检测上述已存储的视频文件的元数据中是否存在包含上述第二视频文件的文件名的元数据,来检测已存储的视频文件中是否存在上述第二视频文件。
将第二视频文件以及第二视频文件的对象元数据存储至分布式文件系统时,可以将第二视频文件以及第二视频文件的对象元数据作为不同的存储对象,将第二视频文件存储至分布式文件系统中的object,将第二视频文件的对象元数据存储至分布式文件系统的index。
由以上可见,本申请实施例提供的方案中,检测分布式文件系统所存储的对象文件的元数据中是否存在该第二视频文件的对象元数据,若存在,则不对第二视频文件以及该第二视频文件的对象元数据进行存储,若存在,则对第二视频文件以及待第二视频文件的对象元数据进行存储,这样能够防止重复存储第二视频文件,从而节省存储资源。并且,由于视频文件的元数据的大小通常比视频文件的大小要小,检测视频文件的元数据的速度比检测视频文件的速度快,因此,通过检测已存储的视频文件的元数据的方式来检测已存储的视频文件中是否存在第二视频文件,能够提高检测已存储的视频文件的速度,进而能够提高本方案存储视频文件的效率。
本申请的一个实施例中,参见图6,提供了第五种视频文件存储方法的流程示意图,上述方法包括以下步骤S601-S605。
步骤S601:获得基于待存储文件切分得到的多个待存储子文件以及每一待存储子文件的文件格式。
步骤S602:针对每一待存储子文件,根据该待存储子文件的文件格式,判断该待存储子文件是否为视频文件;若为是,则确定该待存储子文件为子视频文件。
其中,上述步骤S601、S602的具体实施内容可参见前述实施例中的描述,这里不再详述。
步骤S603:针对每一子视频文件,判断该子视频文件所占的空间是否大于空间阈值;若为否,则确定该子视频文件为待存储视频文件;若为是,则将该子视频文件切分为所占空间不大于预设空间阈值的多个待存储视频文件,其中,空间阈值的大小基于存储设备所处的网络环境确定。
本步骤与上述步骤S201B相类似,这里不再详述。
步骤S604:针对每一待存储视频文件,对该待存储视频文件进行视频转码,从转码后的该待存储视频文件中提取起始视频帧的播放时刻和终止视频帧的播放时刻作为视频时间信息,生成包含视频时间信息的、该待存储视频文件的对象元数据,其中,起始视频帧为:该待存储视频文件所对应视频片段的第一帧图像,终止视频帧为:该待存储视频文件所对应视频片段的最后一帧图像。
本步骤与上述步骤S202A相类似,这里不再详述。
步骤S605:针对每一第二视频文件,检测分布式文件系统所存储的对象文件的元数据中是否存在该第二视频文件的对象元数据,若不存在,则以对象存储方式将该第二视频文件以及该第二视频文件的对象元数据存储至所述分布式存储系统。
本步骤与上述步骤S203A相类似,这里不再详述。
与上述视频文件存储方法相对应,本申请实施例还提供了一种视频文件存储装置。
参见图7,提供了一种视频文件存储装置的结构示意图,所述装置应用于存储设备,所述装置包括:
文件获得模块701,用于基于待存储的第一视频文件切分得到的多个第二视频文件;
元数据生成模块702,用于针对每一第二视频文件,获得反映该第二视频文件所对应视频片段的时间段的视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据;
文件存储模块703,用于以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统。
由以上可见,应用本申请实施例提供的方案进行视频文件存储、读取时,获得的基于待存储的第一视频文件切分得到的多个第二视频文件,并针对每一第二视频文件,获得基于该第二视频文件所对应视频的播放时刻确定的视频时间信息,并生成包含视频时间信息的、该第二视频文件的对象元数据,然后以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统。每一视频文件的元数据中所包含的视频时间信息,能够反映该视频文件对应的视频片段的开始时刻至终止时刻的时间段,在需要读取已存储的视频文件时,只需根据待读取视频的待读取时刻,从所存储的各个对象元数据中,查找包含的目标时间信息反映的时间段覆盖待读取时刻的的目标元数据,进而读取目标元数据对应的目标视频文件,上述目标视频文件为待读取视频的部分片段对应的视频文件,这样无需读取对应待读取视频的全部视频文件,缩短了读取视频文件的耗时,从而提高了对已存储视频文件进行读取的效率。
本申请的一个实施例中,所述文件获得模块701,具体用于:
获得对所述第一视频文件进行切分得到的多个子视频文件;
针对每一子视频文件,判断该子视频文件所占的空间是否大于空间阈值;若为否,则确定该子视频文件为第二视频文件;若为是,则将该子视频文件切分为所占空间不大于所述预设空间阈值的多个第二视频文件。
由以上可见,本申请实施例提供的方案中,通过判断将第一视频文件切分后得到的子视频文件所占的空间是否大于空间阈值,并将所占空间大于预设空间阈值的子视频文件再次进行切分,使得最终得到的各视频文件所占的空间均不大于预设空间阈值,从而保证了后续各视频文件均能正常的进行存储,提高了视频文件存储的可靠性。
本申请的一个实施例中,所述空间阈值的大小基于所述存储设备所处的网络环境确定。
由以上可见,本申请实施例提供的方案中,由于存储设备所处的网络环境可能受多种不确定因素的影响而发生改变,因此,根据上述存储设备所处的网络环境确定上述空间阈值,可以使得所确定的空间阈值根据存储设备所处的网络环境的变化而做出调整,从而可以保证空间阈值始终与当前网络环境中的存储设备相适应,进而保证了视频文件存储的可靠性。
本申请的一个实施例中,所述文件获得模块701,具体用于:
获得待存储文件以及该待存储文件的文件格式;
根据所述待存储文件的文件格式,判断所述待存储文件是否为视频文件;
若为是,则确定所述待存储文件为第一视频文件,并获得基于所述待存储文件切分得到的多个第二视频文件。
由以上可见,本申请实施例提供的方案中,由于不同类型的文件进行存储的方式可能不同,若采用错误的存储方式对待存储文件进行存储,可以导致存储失败或存储后的文件出现乱码,本申请实施例提供的方案为针对视频文件的存储方案,因此,通过判断待存储文件是否为视频文件,可以保证文件的正常存储,提高文件存储的可靠性。
本申请的一个实施例中,所述元数据生成模块702,具体用于:
针对每一第二视频文件,对该第二视频文件进行视频转码,从转码后的该第二视频文件中提取起始视频帧的播放时刻和终止视频帧的播放时刻作为视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据,其中,所述起始视频帧为:该第二视频文件所对应视频片段的第一帧图像,所述终止视频帧为:该第二视频文件所对应视频片段的最后一帧图像。
由以上可见,本申请实施例提供的方案中,通过对第二视频文件进行视频转码,可以将第二视频文件所对应的视频片段从视频编码形式转换为图像形式,从而在转码后的第二视频文件中提取起始视频帧的播放时刻和终止视频帧的播放时刻作为视频时间信息,进而实现生成对象元数据。由于视频文件的播放过程可以看做是视频文件对应的视频片段中各视频帧按照播放时刻进行顺序展示的过程,因此,将上述起始视频帧的播放时刻和终止视频帧的播放时刻作为视频时间信息,能够准确反映第二视频文件所对应视频片段的时间段,进而提高了所生成的对象元数据的准确性。
本申请的一个实施例中,所述文件存储模块703,具体用于:
针对每一第二视频文件,检测分布式文件系统所存储的对象文件的元数据中是否存在该第二视频文件的对象元数据,若不存在,则以对象存储方式将该第二视频文件以及该第二视频文件的对象元数据存储至所述分布式存储系统。
由以上可见,本申请实施例提供的方案中,检测分布式文件系统所存储的对象文件的元数据中是否存在该第二视频文件的对象元数据,若存在,则不对第二视频文件以及该第二视频文件的对象元数据进行存储,若存在,则对第二视频文件以及待第二视频文件的对象元数据进行存储,这样能够防止重复存储第二视频文件,从而节省存储资源。并且,由于视频文件的元数据的大小通常比视频文件的大小要小,检测视频文件的元数据的速度比检测视频文件的速度快,因此,通过检测已存储的视频文件的元数据的方式来检测已存储的视频文件中是否存在第二视频文件,能够提高检测已存储的视频文件的速度,进而能够提高本方案存储视频文件的效率。
与上述视频文件读取方法相对应,本申请实施例还提供了一种视频文件读取装置。
参见图8,提供了一种视频文件读取装置的结构示意图,所述装置包括:
指令获得模块801,用于获得包含待读取视频的待读取时刻的视频读取指令;
元数据查找模块802,用于从分布式文件系统所存储的各个视频对象文件对应的对象元数据中,查找目标元数据,其中,每一视频对象文件对应的视频片段为所述待读取视频的部分片段,每一视频对象文件对应的对象元数据包含:反映该视频对象文件所对应的视频片段的时间段的视频时间信息,所述目标元数据所包含的目标视频时间信息反映的时间段覆盖所述待读取时刻;
文件读取模块803,用于从各个待读取视频文件中,读取所述目标元数据对应的目标视频文件。
由以上可见,本申请实施例提供的方案中,由于待读取视频文件的对象元数据包含的视频时间信息反映了该待读取视频文件对应的视频片段的时间段,因此,若视频时间信息与待读取时刻相匹配,则说明待读取时刻为该待读取视频文件对应的视频片段中的一个播放时刻,这样能够使得所读取的目标视频文件为期望读取的视频文件。并且,由于所读取的目标视频文件为对应待读取视频的部分片段的视频文件,而非待读取视频对应的视频文件,因此,读取视频文件的速度较快。因此,应用本申请实施例提供的方案进行视频文件读取,可以快速、准确的读取视频文件。
本申请实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
获得基于待存储的第一视频文件切分得到的多个第二视频文件;
针对每一第二视频文件,获得反映该第二视频文件所对应视频片段的时间段的视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据;
以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统。
上述处理器901执行存储器903所存放的程序而实现视频文件存储的其他方案,与前述方法实施例中提及的方案相同,这里不再赘述。
上述处理器901,用于执行存储器903上所存放的程序时,还可以实现如下步骤:
获得包含待读取视频的待读取时刻的视频读取指令;
从分布式文件系统所存储的各个视频对象文件对应的对象元数据中,查找目标元数据,其中,每一视频对象文件对应的视频片段为所述待读取视频的部分片段,每一视频对象文件对应的对象元数据包含:反映该视频对象文件所对应的视频片段的时间段的视频时间信息,所述目标元数据所包含的目标视频时间信息反映的时间段覆盖所述待读取时刻;
从各个视频对象文件中,读取所述目标元数据对应的目标视频文件。
上述处理器901执行存储器903所存放的程序而实现视频文件读取的其他方案,与前述方法实施例中提及的方案相同,这里不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一视频文件存储或视频文件读取方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一视频文件存储或视频文件读取方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质和计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (12)

1.一种视频文件读取方法,其特征在于,所述方法包括:
获得包含待读取视频的待读取时刻的视频读取指令;
从分布式文件系统所存储的各个视频对象文件对应的对象元数据中,查找目标元数据,其中,每一视频对象文件对应的视频片段为所述待读取视频的部分片段,每一视频对象文件对应的对象元数据包含:反映该视频对象文件所对应的视频片段的时间段的视频时间信息,所述目标元数据所包含的目标视频时间信息反映的时间段覆盖所述待读取时刻;
从各个视频对象文件中,读取所述目标元数据对应的目标视频文件。
2.一种视频文件存储方法,其特征在于,所述方法应用于存储设备,包括:
获得基于待存储的第一视频文件切分得到的多个第二视频文件;
针对每一第二视频文件,获得反映该第二视频文件所对应视频片段的时间段的视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据;
以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统。
3.根据权利要求2所述的方法,其特征在于,所述获得基于待存储视频的第一视频文件切分得到的多个第二视频文件,包括:
获得对所述第一视频文件进行切分得到的多个子视频文件;
针对每一子视频文件,判断该子视频文件所占的空间是否大于空间阈值;若为否,则确定该子视频文件为第二视频文件;若为是,则将该子视频文件切分为所占空间不大于所述预设空间阈值的多个第二视频文件。
4.根据权利要求3所述的方法,其特征在于,所述空间阈值的大小基于所述存储设备所处的网络环境确定。
5.根据权利要求2所述的方法,其特征在于,所述获得基于待存储视频的第一视频文件切分得到的多个第二视频文件,包括:
获得待存储文件以及该待存储文件的文件格式;
根据所述待存储文件的文件格式,判断所述待存储文件是否为视频文件;
若为是,则确定所述待存储文件为第一视频文件,并获得基于所述待存储文件切分得到的多个第二视频文件。
6.根据权利要求2-5中任一项所述的方法,其特征在于,所述针对每一第二视频文件,获得反映该第二视频文件所对应视频片段的时间段的视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据,包括:
针对每一第二视频文件,对该第二视频文件进行视频转码,从转码后的该第二视频文件中提取起始视频帧的播放时刻和终止视频帧的播放时刻作为视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据,其中,所述起始视频帧为:该第二视频文件所对应视频片段的第一帧图像,所述终止视频帧为:该第二视频文件所对应视频片段的最后一帧图像。
7.根据权利要求2-5中任一项所述的方法,其特征在于,所述以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统,包括:
针对每一第二视频文件,检测分布式文件系统所存储的对象文件的元数据中是否存在该第二视频文件的对象元数据,若不存在,则以对象存储方式将该第二视频文件以及该第二视频文件的对象元数据存储至所述分布式存储系统。
8.一种视频文件读取装置,其特征在于,所述装置包括:
指令获得模块,用于获得包含待读取视频的待读取时刻的视频读取指令;
元数据查找模块,用于从分布式文件系统所存储的各个视频对象文件对应的对象元数据中,查找目标元数据,其中,每一视频对象文件对应的视频片段为所述待读取视频的部分片段,每一视频对象文件对应的对象元数据包含:反映该视频对象文件所对应的视频片段的时间段的视频时间信息,所述目标元数据所包含的目标视频时间信息反映的时间段覆盖所述待读取时刻;
文件读取模块,用于从各个视频对象文件中,读取所述目标元数据对应的目标视频文件。
9.一种视频文件存储装置,其特征在于,所述装置应用于存储设备,包括:
文件获得模块,用于基于待存储的第一视频文件切分得到的多个第二视频文件;
元数据生成模块,用于针对每一第二视频文件,获得反映该第二视频文件所对应视频片段的时间段的视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据;
文件存储模块,用于以对象存储方式将各第二视频文件以及每一第二视频文件的对象元数据存储至分布式文件系统。
10.根据权利要求9所述的装置,其特征在于,所述文件获得模块,具体用于:
获得对所述第一视频文件进行切分得到的多个子视频文件;
针对每一子视频文件,判断该子视频文件所占的空间是否大于空间阈值;若为否,则确定该子视频文件为第二视频文件;若为是,则将该子视频文件切分为所占空间不大于所述预设空间阈值的多个第二视频文件;
所述空间阈值的大小基于所述存储设备所处的网络环境确定;
所述文件获得模块,具体用于:
获得待存储文件以及该待存储文件的文件格式;
根据所述待存储文件的文件格式,判断所述待存储文件是否为视频文件;
若为是,则确定所述待存储文件为第一视频文件,并获得基于所述待存储文件切分得到的多个第二视频文件;
所述元数据生成模块,具体用于:
针对每一第二视频文件,对该第二视频文件进行视频转码,从转码后的该第二视频文件中提取起始视频帧的播放时刻和终止视频帧的播放时刻作为视频时间信息,生成包含所述视频时间信息的、该第二视频文件的对象元数据,其中,所述起始视频帧为:该第二视频文件所对应视频片段的第一帧图像,所述终止视频帧为:该第二视频文件所对应视频片段的最后一帧图像;
所述文件存储模块,具体用于:
针对每一第二视频文件,检测分布式文件系统所存储的对象文件的元数据中是否存在该第二视频文件的对象元数据,若不存在,则以对象存储方式将该第二视频文件以及该第二视频文件的对象元数据存储至所述分布式存储系统。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1所述的视频文件读取方法或权利要求2-7任一所述的视频文件存储方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时权利要求1所述的视频文件读取方法或权利要求2-7任一所述的视频文件存储方法。
CN202111639487.4A 2021-12-29 2021-12-29 一种视频文件读取、存储方法及装置 Pending CN116415032A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111639487.4A CN116415032A (zh) 2021-12-29 2021-12-29 一种视频文件读取、存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111639487.4A CN116415032A (zh) 2021-12-29 2021-12-29 一种视频文件读取、存储方法及装置

Publications (1)

Publication Number Publication Date
CN116415032A true CN116415032A (zh) 2023-07-11

Family

ID=87054769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111639487.4A Pending CN116415032A (zh) 2021-12-29 2021-12-29 一种视频文件读取、存储方法及装置

Country Status (1)

Country Link
CN (1) CN116415032A (zh)

Similar Documents

Publication Publication Date Title
CN109120964B (zh) 视频集合的消息推送方法、装置、计算机设备及存储介质
US9961398B2 (en) Method and device for switching video streams
US20050066063A1 (en) Sparse caching for streaming media
CN109947993B (zh) 基于语音识别的情节跳转方法、装置及计算机设备
CN107943877B (zh) 待播放多媒体内容的生成方法和装置
KR101916874B1 (ko) 자동으로 동영상 하이라이트 영상의 제목을 생성하는 방법, 장치 및 컴퓨터 판독가능 기록 매체
US10838691B2 (en) Method and apparatus of audio/video switching
CN108076377A (zh) 一种视频的存储、播放方法、装置、电子设备及存储介质
CN112866730B (zh) 流媒体数据传输方法及装置、系统、电子设备、存储介质
US20200218760A1 (en) Music search method and device, server and computer-readable storage medium
CN111897978A (zh) 直播状态监测方法、装置、电子设备及存储介质
CN113742518A (zh) 存储和提供视频的方法、设备和计算机程序产品
CN109299352B (zh) 搜索引擎中网站数据的更新方法、装置和搜索引擎
US10101801B2 (en) Method and apparatus for prefetching content in a data stream
CN109587517B (zh) 一种多媒体文件的播放方法及装置、服务器及存储介质
US10372754B2 (en) Creating an audio file sample based upon user preferences
CN116415032A (zh) 一种视频文件读取、存储方法及装置
US20120151010A1 (en) Electronic device and method for playing media content
CN107291870B (zh) 一种分布式存储中文件批量读取方法
CN114630143B (zh) 视频流存储方法、装置、电子设备和存储介质
CN111835801A (zh) 文件下载方法、装置、服务器、边缘设备、终端及介质
CN112584255B (zh) 一种流媒体数据的播放方法、装置、计算机设备和存储介质
JP5567906B2 (ja) 画面の再現を支援する装置及び方法
CN108228829B (zh) 用于生成信息的方法和装置
CN112218118A (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