CN104967862A - 一种视频存储方法及装置和视频搜索方法及装置 - Google Patents

一种视频存储方法及装置和视频搜索方法及装置 Download PDF

Info

Publication number
CN104967862A
CN104967862A CN201510435923.4A CN201510435923A CN104967862A CN 104967862 A CN104967862 A CN 104967862A CN 201510435923 A CN201510435923 A CN 201510435923A CN 104967862 A CN104967862 A CN 104967862A
Authority
CN
China
Prior art keywords
frame
video
information
user
data
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
CN201510435923.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.)
Netposa Technologies Ltd
Original Assignee
Netposa Technologies 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 Netposa Technologies Ltd filed Critical Netposa Technologies Ltd
Priority to CN201510435923.4A priority Critical patent/CN104967862A/zh
Publication of CN104967862A publication Critical patent/CN104967862A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • H04N21/2326Scheduling disk or memory reading operations
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明提供了一种视频存储方法及装置和视频搜索方法及装置。其中,该视频存储方法包括:获取待存储的视频;根据视频中每个视频帧的帧信息生成每个视频帧的帧索引信息,并根据每个视频帧的帧索引信息生成视频对应的帧索引文件;将帧索引文件和视频存储到视频存储***中。通过本发明为每个视频帧生成了帧索引信息,并根据帧索引信息生成帧索引文件,在存储视频的同时存储了帧索引文件,如此存储的视频支持流式点播,可以根据帧索引文件直接搜索到用户需要的视频帧,缩短了搜索视频的响应时间,提高了搜索视频帧的效率。

Description

一种视频存储方法及装置和视频搜索方法及装置
技术领域
本发明涉及数据存储及数据传输领域,具体而言,涉及一种视频存储方法及装置和视频搜索方法及装置。
背景技术
目前,视频的容量一般很大,而且网络中存在海量的视频,如何实现海量视频的存储以及如何从存储的海量视频中快速查询视频,已成为急需解决的问题。
当前,现有技术中提供了一种存储视频及搜索视频的方法,包括:在视频服务器中,通过存储视频的标识与视频数据的对应关系来实现海量视频的存储。当接收到用户搜索视频的请求时,根据用户提交的视频的标识,从视频的标识与视频数据的对应关系中获取对应的视频数据,将获取的视频数据发送给用户。
在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:
存储的视频无法支持流式点播,无法直接搜索到用户需要的一些视频帧,用户只能在整个视频下载完之后才能播放需要观看的视频帧,当视频容量很大时,将花费大量的时间,导致获取需要的视频帧的效率很低。
发明内容
有鉴于此,本发明实施例的目的在于提供一种视频存储方法及装置和视频搜索方法及装置,实现视频的流式点播,能够根据帧索引文件直接搜索到用户需要的视频帧,缩短了搜索视频的响应时间,提高了搜索视频帧的效率。
第一方面,本发明实施例提供了一种视频存储方法,所述方法包括:
获取待存储的视频;
根据所述视频中每个视频帧的帧信息生成所述每个视频帧的帧索引信息,并根据所述每个视频帧的帧索引信息生成所述视频对应的帧索引文件;
将所述帧索引文件和所述视频存储到视频存储***中。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述根据所述视频中每个视频帧的帧信息生成所述每个视频帧的帧索引信息,包括:
对于所述视频中的每一视频帧,从当前帧的帧信息中获取所述当前帧的帧类型和时间戳;
根据所述当前帧的时间戳,确定所述当前帧的时间偏移量;将所述视频中位于所述当前帧之前的部分的容量确定为所述当前帧的数据偏移量;
将所述当前帧的所述帧类型、所述时间戳、所述时间偏移量和所述数据偏移量组成所述当前帧的帧索引信息。
结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,当所述视频的类型为实时视频时,所述方法还包括:
从所述实时视频中获取所述实时视频的编码信息、解码信息及供应商标识;
将所述编码信息、解码信息及所述供应商标识添加到所述当前帧的帧索引信息中;或者,将所述编码信息、解码信息及所述供应商标识添加到所述帧索引文件中。
结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述将所述当前帧的所述帧类型、所述时间戳、所述时间偏移量和所述数据偏移量组成所述当前帧的帧索引信息之后,还包括:
在所述当前帧的帧类型为P帧或B帧时,获取所述当前帧的关键帧位置,将所述关键帧位置添加到所述当前帧的帧索引信息中,所述关键帧位置为位于所述当前帧之前最近的I帧的位置;
和/或,在所述当前帧中包含用户标记信息时,获取所述用户标记信息及所述用户标记信息的长度,将所述用户标记信息及所述用户标记信息的长度添加到所述当前帧的帧索引信息中。
结合第一方面,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述方法还包括:
接收待存储的图片,将预设数量的图片组成图片组;
获取所述图片组中每个图片的标识及每个图片在所述图片组中的位置;
将每个所述图片的标识及位置组成所述图片组对应的图片索引文件;
将所述图片索引文件和所述图片组存储到所述视频存储***中。
结合第一方面,本发明实施例提供了上述第一方面的第五种可能的实现方式,其中,所述将所述帧索引文件和所述视频存储到视频存储***中,包括:
从所述视频中获取所述视频的视频标识,在视频存储***中存储所述视频标识、所述帧索引文件和所述视频的对应关系,所述视频存储***包括分布式文件***、存储服务器和第三方存储设备。
第二方面,本发明实施例提供了一种视频搜索方法,所述方法包括:
接收用户的视频播放请求,所述视频播放请求包括所述用户欲播放视频的视频标识和视频帧信息,所述视频帧信息包括以下一种或多种:视频帧的时间戳、时间偏移量和数据偏移量;
根据所述视频标识、所述视频帧信息和视频存储***存储的帧索引文件,从所述视频存储***存储的视频中获取所述视频帧信息对应的视频帧的数据;
将获取的所述视频帧的数据提供给所述用户。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述将获取的所述视频帧的数据提供给所述用户,包括:
从所述帧索引文件中获取所述视频帧的供应商标识、编码信息、帧类型和时间戳;
将所述供应商标识、编码信息、帧类型和时间戳组成视频帧头;
将所述视频帧头和所述视频帧的数据组成视频帧数据包,将所述视频帧数据包发送给所述用户。
结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述将视频帧头和所述视频帧的数据组成视频帧数据包之后,还包括:
获取所述视频帧的解码信息并添加到所述视频帧数据包中;以及在若所述视频帧的帧类型为P帧或B帧,则从所述帧索引文件中获取所述视频帧的关键帧的位置,根据所述关键帧的位置,获取所述关键帧的数据,将所述关键帧的数据添加到所述视频帧数据包中。
第三方面,本发明实施例提供了一种视频存储装置,所述装置包括:
获取模块,用于获取待存储的视频;
生成模块,用于根据所述视频中每个视频帧的帧信息生成所述每个视频帧的帧索引信息,并根据所述每个视频帧的帧索引信息生成所述视频对应的帧索引文件;
存储模块,用于将所述帧索引文件和所述视频存储到视频存储***中。
结合第三方面,本发明实施例提供了上述第三方面的第一种可能的实现方式,其中,所述生成模块包括:
获取单元,用于对于所述视频中的每一视频帧,从当前帧的帧信息中获取所述当前帧的帧类型和时间戳;
确定单元,用于根据所述当前帧的时间戳,确定所述当前帧的时间偏移量;将所述视频中位于所述当前帧之前的部分的容量确定为所述当前帧的数据偏移量;
组成单元,用于将所述当前帧的所述帧类型、所述时间戳、所述时间偏移量和所述数据偏移量组成所述当前帧的帧索引信息。
结合第三方面的第一种可能的实现方式,本发明实施例提供了上述第三方面的第二种可能的实现方式,其中,当所述视频的类型为实时视频时,所述装置还包括:
第一添加模块,用于从所述实时视频中获取所述实时视频的编码信息、解码信息及供应商标识;将所述编码信息、解码信息及所述供应商标识添加到所述当前帧的帧索引信息中;或者,将所述编码信息、解码信息及所述供应商标识添加到所述帧索引文件中。
结合第三方面的第一种可能的实现方式,本发明实施例提供了上述第三方面的第三种可能的实现方式,其中,所述装置还包括:
第二添加模块,用于在所述当前帧的帧类型为P帧或B帧时,获取所述当前帧的关键帧位置,将所述关键帧位置添加到所述当前帧的帧索引信息中,所述关键帧位置为位于所述当前帧之前最近的I帧的位置;和/或,用于在所述当前帧中包含用户标记信息时,获取所述用户标记信息及所述用户标记信息的长度,将所述用户标记信息及所述用户标记信息的长度添加到所述当前帧的帧索引信息中。
结合第三方面,本发明实施例提供了上述第三方面的第四种可能的实现方式,其中,所述装置还包括:
图片存储模块,用于接收待存储的图片,将预设数量的图片组成图片组;获取所述图片组中每个图片的标识及每个图片在所述图片组中的位置;将每个所述图片的标识及位置组成所述图片组对应的图片索引文件;将所述图片索引文件和所述图片组存储到所述视频存储***中。
结合第三方面,本发明实施例提供了上述第三方面的第五种可能的实现方式,其中,所述存储模块,用于从所述视频中获取所述视频的视频标识,在视频存储***中存储所述视频标识、所述帧索引文件和所述视频的对应关系,所述视频存储***包括分布式文件***、存储服务器和第三方存储设备。
第四方面,本发明实施例提供了一种视频搜索装置,所述装置包括:
接收模块,用于接收用户的视频播放请求,所述视频播放请求包括所述用户欲播放视频的视频标识和视频帧信息,所述视频帧信息包括以下一种或多种:视频帧的时间戳、时间偏移量和数据偏移量;
获取模块,用于根据所述视频标识、所述视频帧信息和视频存储***存储的帧索引文件,从所述视频存储***存储的视频中获取所述视频帧信息对应的视频帧的数据;
提供模块,用于将获取的所述视频帧的数据提供给所述用户。
结合第四方面,本发明实施例提供了上述第四方面的第一种可能的实现方式,其中,所述提供模块包括:
获取单元,用于从所述帧索引文件中获取所述视频帧的供应商标识、编码信息、帧类型和时间戳;
组成单元,用于将所述供应商标识、编码信息、帧类型和时间戳组成视频帧头;将所述视频帧头和所述视频帧的数据组成视频帧数据包;
发送单元,用于将所述视频帧数据包发送给所述用户。
结合第四方面的第一种可能的实现方式,本发明实施例提供了上述第四方面的第二种可能的实现方式,其中,所述装置还包括:
添加模块,用于获取所述视频帧的解码信息并添加到所述视频帧数据包中;且在所述视频帧的帧类型为P帧或B帧时,从所述帧索引文件中获取所述视频帧的关键帧的位置,根据所述关键帧的位置,获取所述关键帧的数据,将所述关键帧的数据添加到所述视频帧数据包中。
在本发明实施例提供的方法及装置中,为每个视频帧生成了帧索引信息,并根据帧索引信息生成帧索引文件,在存储视频的同时存储了视频对应的帧索引文件,如此存储的视频支持流式点播,可以根据帧索引文件直接搜索到用户需要的视频帧,缩短了搜索视频的响应时间,提高了搜索视频帧的效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1A示出了本发明实施例1所提供的一种视频存储方法流程图;
图1B示出了本发明实施例1所提供的一种视频存储架构示意图;
图2A示出了本发明实施例2所提供的一种视频搜索方法流程图;
图2B示出了本发明实施例2所提供的一种视频帧传输格式的示意图;
图3示出了本发明实施例3所提供的一种视频存储装置的结构示意图;
图4示出了本发明实施例4所提供的一种视频搜索装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关技术中无法直接搜索到用户需要的一些视频帧,只能下载完整个视频后才能播放需要观看的视频帧,当视频容量很大时,将花费大量的时间,导致获取需要的视频帧的效率很低。基于此,本发明实施例提供了一种视频存储方法及装置和视频搜索方法及装置。下面通过实施例进行描述。
实施例1
参见图1A,本发明实施例提供了一种视频存储方法。该方法具体包括以下步骤:
步骤101:获取待存储的视频;
本发明实施例的执行主体可以为服务器。本发明实施例中的视频可以为标准格式的视频文件,如MP4(Moving Picture 4,动态图像格式)或AVI(Audio Video Interleaved,音频视频交错格式)等格式的视频文件,也可为非标准格式的视频文件,如一些监控视频供应商自定义的非标准格式的视频或从摄像机直接获取的实时的视频流。
当用户需要存储视频时,用户可以通过终端将待存储的视频发送给服务器。服务器接收待存储的视频,然后通过如下步骤102的操作对该视频进行视频流化处理,生成每一视频帧的帧索引信息,并生成该视频对应的帧索引文件。
步骤102:根据该视频中每个视频帧的帧信息生成每个视频帧的帧索引信息,并根据每个视频帧的帧索引信息生成视频对应的帧索引文件;
视频是由多个视频帧按照时间先后顺序组成的,每个视频帧都具有帧信息,视频帧的帧信息中包括视频帧的时间戳和帧类型等。视频帧的时间戳为视频帧在视频对应的时间轴上的时间点。视频帧的帧类型可以为I帧、P帧或B帧。I帧为关键帧,可以解码出一帧有效的图像。P帧和B帧需要根据位于其前面的I帧才能正确解码出有效的图像。
在本发明实施例中,对于该视频中的每一视频帧,上述生成视频帧的帧索引信息的操作具体包括:
从该视频中获取一个视频帧,将该视频帧作为当前帧。从当前帧的帧信息中获取当前帧的帧类型和时间戳;根据当前帧的时间戳,确定当前帧的时间偏移量,该时间偏移量表示当前帧与视频的零时刻之间的时间段;将该视频中位于当前帧之前的部分的容量确定为当前帧的数据偏移量,该数据偏移量表示该视频中时间戳早于当前帧的时间戳的所有视频数据的容量;将当前帧的帧类型、时间戳、时间偏移量和数据偏移量组成当前帧的帧索引信息。
由于P帧和B帧的解码依赖位于其前面的I帧,所以很据上述操作生成当前帧的帧索引信息之后,还需要对当前帧的帧类型进行判断,若当前帧的帧类型为I帧,则确定当前帧可以独立解码出有效的图像。若当前帧的帧类型为P帧或B帧,则确定当前帧无法独立解码出有效的图像,需要借助于当前帧前面的且离当前帧最近的I帧才能解码出有效的图像,将位于当前帧之前最近的I帧的位置确定为当前帧的关键帧位置,获取当前帧的关键帧位置,将该关键帧位置添加到当前帧的帧索引信息中。如此当用户请求播放当前帧时,可以根据该关键帧位置将当前帧之前最近的I帧的数据也提供给用户,以使用户先解码该I帧数据再解码当前帧,从而解码出有效的图像。
在本发明实施例中,上述关键帧位置可以为当前帧之前最近的I帧的时间戳、时间偏移量、数据偏移量或其它可以定位到当前帧之前最近的I帧的索引信息。
另外,用户在通过本发明实施例提供的方法存储视频之前,还可能在视频的某些视频帧中添加了用户标记信息,该用户标记信息可以为文字、线条或图案等。为了在后续用户请求播放这些视频帧时能够显示用户添加的用户标记信息,本发明实施例在生成当前帧的帧索引信息时,还需要判断当前帧中是否包含用户标记信息,若包含用户标记信息,则获取用户标记信息及用户标记信息的长度,并将用户标记信息及用户标记信息的长度添加到当前帧的帧索引信息中。
为了便于理解生成当前帧的帧索引信息的过程,下面举例进行说明。例如,假设当前帧的时间戳为01:00,当前帧的帧类型为P帧,视频中从零时刻到01:00之间的所有视频数据的容量为0.5MB,用户在存储视频之前在当前帧中添加了长度为2字节的文字“监控对象”。则可以确定出当前帧的时间偏移量为1分钟,数据偏移量为0.5MB,从视频中确定出位于当前帧之前最近的I帧的时间戳,假设当前帧之前最近的I帧的时间戳为00:55,将该I帧的时间戳00:55确定为当前帧的关键帧位置,将当前帧的帧类型P帧、时间戳01:00、时间偏移量1分钟、数据偏移量0.5MB、关键帧位置00:55、用户标记信息“监控对象”以及用户标记信息的长度2字节组成当前帧的帧索引信息。
另外,在本发明实施例中视频包括各个视频帧的数据,还可以包括视频基本信息,视频基本信息中包括视频标识、视频的编码信息、解码信息、视频的文件格式和视频的供应商标识等。视频标识可以为视频的名称或链接等。解码信息可以为视频对应的供应商的解码器的相关信息,如供应商的解码器的名称、版本号和下载链接等。
上述视频的编码信息可以为视频的编码格式,编码格式可以为H.264(高度压缩数字视频编解码器标准)或MPEG-4(音视频信息压缩编码标准)等。由于视频解码时需要参照视频的编码格式进行解码,所以在生成当前帧的帧索引信息时,还可以从视频的视频基本信息中获取视频的编码信息,将视频的编码信息添加到当前帧的帧索引信息中,以使后续播放该当前帧时可以根据该编码信息对当前帧解码。
另外,如果视频中还包含音频数据,则该视频数据还有对应的音频编码格式,音频编码格式可以为PCM(Pulse Code Modulation,脉冲编码调制)等。本发明实施例还需要将视频对应的音频编码格式添加到当前帧的帧索引信息中,以使后续播放该当前帧时可以根据该音频编码格式对当前帧包含的音频数据进行解码。
本发明实施例中视频文件的格式可以为MP4或AVI等标准格式,也可以为一些监控视频供应商自定义的非标准格式。本发明实施例中根据视频的文件格式不同将视频分为不同的类型,标准格式的视频为标准类型,非标准格式的视频为实时视频类型。由于用户的终端一般很难直接解码非标准格式的视频,所以为了保证非标准格式的视频能正确解码,还需要从视频的视频基本信息中获取视频的文件格式,根据视频的文件格式确定视频的类型,如果确定出视频的类型为标准类型,可以不进行任何操作,也可以在当前帧的帧索引信息中添加用于指示标准类型的预设字符。如果确定出视频的类型为实时视频,则从实时视频的视频基本信息中获取实时视频的解码信息及供应商标识,将该解码信息及供应商标识添加到当前帧的帧索引信息中,以使后续用户可以根据该解码信息及供应商标识获取该供应商的解码器并利用该供应商的解码器成功解码视频。
对于视频中其它每个视频帧,都可以同上述当前帧,按照上述操作分别生成其它每个视频帧的帧索引信息。另外,在生成视频的每一视频帧的帧索引信息时,可以按照视频帧的时间戳的先后顺序依次处理,也可以对视频包括的多个视频帧并行处理,同时生成多个视频帧的帧索引信息,提高处理效率。
通过上述操作生成视频中每一视频帧的帧索引信息后,将每一视频帧的帧索引信息组成该视频对应的帧索引文件。在生成帧索引文件时,视频帧的帧索引信息可以随机排列,也可以按照视频帧的时间戳的先后顺序排列。按照时间戳的先后顺序排列可以增加帧索引信息排列的条理性,在后续根据帧索引文件搜索视频帧时也能够按照时间戳先后排序的帧索引信息,快速准确地搜索到用户需要的视频帧。
在本发明实施例中,对于视频的编码信息、解码信息及供应商标识,还可以不将编码信息、解码信息及供应商标识添加到视频帧的帧索引信息中,而是在用户请求获取一视频帧时,临时从视频的视频基本信息中获取视频的编码信息、解码信息及供应商标识,将该编码信息、解码信息及供应商标识添加到该视频帧对应的数据包中。另外,也可以将该编码信息、解码信息及供应商标识单独添加到帧索引文件中,在用户请求获取视频帧时,从帧索引文件中获取编码信息、解码信息及供应商标识,并添加到该视频帧对应的数据包中。这样可以避免将编码信息、解码信息及供应商标识添加到每个视频帧的帧索引信息中,简化了生成视频帧的帧索引信息的操作,提高了生成帧索引信息及帧索引文件的效率。
另外,当待存储的视频为非标准格式的视频且待存储的视频中不包含解码信息和供应商标识时,在对待存储的视频进行流化处理时,也可以不在视频帧的帧索引信息中添加解码信息和供应商标识。
在本发明实施例中通过上述操作对视频进行流化处理时,可以通过预先设计的视频文件帧分析器来生成每个视频帧的帧索引信息,也可以采用视频对应的供应商提供的SDK(SoftwareDevelopment Kit,软件开发工具包)来生成每个视频帧的帧索引信息,通过供应商提供的SDK可以快速准确地对供应商对应的视频进行流化处理,提高流化处理的效率。
通过上述步骤102生成视频对应的帧索引文件之后,可以通过如下步骤103的操作来存储视频。
步骤103:将该帧索引文件和该视频存储到视频存储***中。
上述视频存储***包括分布式文件***、存储服务器、第三方存储设备或存储服务器集群等。
上述存储操作具体包括:从视频的视频基本信息中获取视频的视频标识,在视频存储***中存储视频标识、帧索引文件和视频的对应关系。
本发明实施例除支持视频的存储外,也支持海量图片的存储。在存储图片时,为了提高存储图片的性能,减少实际存储管理的图片的数量,可以通过如下操作将多个图片聚合成一个相当于视频文件的图片组来存储,具体包括:
接收待存储的图片,将预设数量的图片组成图片组;获取图片组中每个图片的标识及每个图片在图片组中的位置,图片的标识可以为图片的名称或链接等,图片在图片组中的位置可以为图片在图片组中排列的序号等;将每个图片的标识及位置组成图片组对应的图片索引文件;将图片索引文件和图片组存储到视频存储***中。
本发明实施例提供的存储方法即支持视频和图片的存储,也支持文本等普通文件的存储,且该存储方法可以支持存储节点的集中部署和分布式部署等多种部署方式。其中,集中部署是将存储视频和普通文件的所有存储节点集中成一个存储池,多个用户共享该存储池中存储的资源,提升存储池的利用率。而分布式部署是设立多个存储视频和普通文件的存储节点,每个存储节点间相互独立,每个用户单独使用一个存储节点,或者少数几个用户分享一个存储节点,这样可以提升用户对存储带宽的独享性。另外,部署方式还可以是限流部署,限流部署也是采用集中部署的方式,但对用户采用限流操作,避免某个用户频繁访问存储节点而影响到其他用户。
本发明实施例存储视频及普通文件的存储架构如图1B所示,在该存储架构中,服务器或视频存储***为用户开放了云存储访问接口,服务器或视频存储***通过该云存储访问接口接收用户上传的待存储的视频或图片等。存储架构的底层存储***可以为分布式文件***、存储服务器物理集群和第三方存储设备或***等。为了使本发明实施例提供的存储方法能够适应与更多的底层存储设施,还提供了基础文件***的抽象接口,由于大部分的分布式文件***和第三方存储***都提供NFS(Network File System,网络文件***)协议或CIFS(Common Internet File System,通用网络文件***)协议,通过Linux(类Unix操作***)下的mount命令可以将存储***挂载到本地的一个目录上。出于性能的考虑,通过分布式文件***或第三方存储***的SDK访问底层存储SAN(Storage AreaNetwork and SAN Protocols,存储区域网络)和NAS(NetworkAttached Storage,网络附属存储)等。另外,本存储架构支持的服务功能包括视频文件流化服务、小文件聚合服务、实时流访问服务和普通文件管理服务。
在本发明实施例中,由于在存储视频之前,对视频进行了流化处理,生成了每个视频帧的帧索引信息,并根据帧索引信息生成了视频对应的帧索引文件,如此支持根据某一视频帧的信息直接搜索出该视频帧,实现了视频的流式点播,而且本发明实施例中还支持监控视频等实时视频的流式点播,同时可以为用户提供实时视频的供应商标识,或者直接为用户提供实时视频的供应商的解码器,确保了用户能够成功解码实时视频。
在本发明实施例中,为每个视频帧生成了帧索引信息,并根据帧索引信息生成帧索引文件,在存储视频的同时存储了视频对应的帧索引文件,如此存储的视频支持流式点播,可以根据帧索引文件直接搜索到用户需要的视频帧,缩短了搜索视频的响应时间,提高了搜索视频帧的效率。
实施例2
参见图2A,本发明实施例提供了一种视频搜索方法,该方法具体包括以下步骤:
步骤201:接收用户的视频播放请求,该视频播放请求包括用户欲播放视频的视频标识和视频帧信息;
上述视频标识可以为视频的名称或链接等。上述视频帧信息包括以下一种或多种:视频帧的时间戳、时间偏移量和数据偏移量。其中,视频帧的时间戳为视频帧在视频对应的时间轴上的时间点,时间偏移量表示该视频帧与视频的零时刻之间的时间段,数据偏移量表示该视频中时间戳早于该视频帧的时间戳的所有视频数据的容量。
有时用户在播放视频时,可能不想要从头开始播放该视频,而是从视频的时间轴上选择一个位置点,直接从该位置点处开始播放,此时不需要获取整个视频的视频数据,只需要获取该位置点及该位置点以后的视频帧的数据即可。
当用户的终端检测到用户选择视频的时间轴上一个位置点时,获取该位置点在视频的时间轴上对应的时刻,将该时刻确定为用户欲播放的视频帧的时间戳,将该时间戳作为欲播放的视频帧的视频帧信息。或者,根据该时间戳确定欲播放的视频帧的时间偏移量,将该时间偏移量作为欲播放的视频帧的视频帧信息。或者,根据该时间戳,确定该视频中时间戳早于该视频帧的时间戳的所有视频数据的容量,该确定的容量即为欲播放的视频帧的数据偏移量,将该数据偏移量作为欲播放的视频帧的视频帧信息。或者,还可以将上述时间戳、时间偏移量和数据偏移量中的任意组合作为欲播放的视频帧的视频帧信息。
用户的终端通过上述操作得到视频帧信息后,发送视频播放请求给服务器,并在该视频播放请求中携带欲播放的视频的视频标识和视频帧信息。服务器接收用户的终端发送的视频播放请求,然后通过如下步骤202的操作为用户搜索欲播放的视频帧的数据。
步骤202:根据该视频播放请求携带的视频标识和视频帧信息以及视频存储***存储的帧索引文件,从视频存储***存储的视频中获取视频帧信息对应的视频帧的数据;
上述视频存储***包括分布式文件***、存储服务器、第三方存储设备或存储服务器集群等。上述帧索引文件中包括帧索引文件对应的视频中每个视频帧的帧索引信息,视频帧的帧索引信息中至少包括视频帧的时间戳、时间偏移量、数据偏移量和帧类型。
服务器或视频存储***中存储了视频标识、帧索引文件和视频的对应关系。根据该视频播放请求中携带的视频标识,从上述对应关系中获取对应的帧索引文件及视频。然后根据该视频播放请求中携带的视频帧信息,从上述获取的帧索引文件包括的每个视频帧的帧索引信息中查询出包含该视频帧信息的帧索引信息。根据查询到的帧索引信息从该视频中获取该帧索引信息对应的视频帧的数据。
步骤203:将获取的视频帧的数据提供给用户。
本发明实施例提供了视频帧的传输格式,如图2B所示,视频帧的传输格式包括视频帧头和视频帧数据,视频帧头至少包括视频的编码信息、供应商标识以及视频帧的帧类型和时间戳。
上述将视频帧的数据提供给用户的操作具体包括:从帧索引文件中该视频帧对应的帧索引信息中获取视频帧的帧类型和时间戳,若该帧索引信息中包括供应商标识和编码信息,则从该帧索引信息中获取供应商标识和编码信息。若该帧索引信息中不包括供应商标识和编码信息,则直接从视频的视频基本信息或帧索引文件中获取供应商标识和编码信息。将获取的供应商标识、编码信息、帧类型和时间戳组成视频帧头,将视频帧头和该视频帧的数据组成视频帧数据包,将视频帧数据包发送给用户的终端。
由于在将视频帧的数据发送给用户的终端的同时,还将视频帧头包括的供应商标识、编码信息、帧类型和时间戳发送给用户的终端,用户的终端根据该视频帧头包括的供应商标识可以获取对应的供应商的解码器,利用该解码器根据视频的编码信息来成功解码该视频帧的数据。
为了进一步确保实时视频的解码成功,还可以根据视频的文件格式判断视频的类型,若该视频的类型为实时视频,则获取该视频帧的解码信息并添加到上述视频帧数据包中。其中,解码信息可以为视频对应的供应商的解码器的相关信息,如供应商的解码器的名称、版本号及下载链接等。
另外,由于视频帧的帧类型包括I帧、P帧和B帧。I帧为关键帧,可以解码出一帧有效的图像。P帧和B帧需要根据位于其前面的I帧才能正确解码出有效的图像。由于P帧和B帧的解码依赖位于其前面的I帧,所以为了保证P帧和B帧的成功解码,本发明实施例还需要判断用户欲播放的视频帧的帧类型,若帧类型为P帧或B帧,则从帧索引文件中包括的该欲播放的视频帧的帧索引信息中获取该视频帧的关键帧的位置,该关键帧的位置可以为位于该视频帧之前且离该视频帧最近的I帧的位置,关键帧的位置可以是关键帧的时间戳。根据该关键帧的位置,获取该关键帧的数据,并将该关键帧的数据添加到视频帧数据包中。如此用户的终端接收到该视频帧数据包时,先解码该关键帧的数据,然后再解码上述视频帧的数据,这样确保了帧类型为P帧或B帧的视频帧的解码成功。
另外,由于视频存储***中存储的视频中还可能包含一些用户标记信息,该用户标记信息可以为用户在存储视频之前添加的文字、线条或图案等。为了在用户请求播放视频帧时能够显示用户添加的用户标记信息,本发明实施例还判断用户欲播放的视频帧对应的帧索引信息中是否包含用户标记信息及用户标记信息的长度,若包含,则从该帧索引信息中获取用户标记信息及用户标记信息的长度,并将用户标记信息及用户标记信息的长度添加到上述视频帧数据包中。
在本发明实施例中,接收到用户的视频播放请求时,根据视频标识、视频帧信息和视频存储***存储的帧索引文件,从视频存储***存储的视频中获取视频帧信息对应的视频帧的数据,如此实现了视频的流式点播,可以根据帧索引文件直接搜索到用户需要的视频帧,缩短了搜索视频的响应时间,提高了搜索视频帧的效率。
实施例3
参见图3,本发明实施例提供了一种视频存储装置,该装置用于执行上述视频存储方法。该装置具体包括:
接收模块301,用于获取待存储的视频;
生成模块302,用于根据上述接收模块301接收的视频中每个视频帧的帧信息生成每个视频帧的帧索引信息,并根据每个视频帧的帧索引信息生成视频对应的帧索引文件;
上述生成模块302生成每个视频帧的帧索引信息的操作,具体可以通过如下获取单元、确定单元和组成单元来生成帧索引信息,包括:
上述获取单元,用于对于视频中的每一视频帧,从当前帧的帧信息中获取当前帧的帧类型和时间戳;上述确定单元,用于根据当前帧的时间戳,确定当前帧的时间偏移量;将视频中位于当前帧之前的部分的容量确定为当前帧的数据偏移量;上述组成单元,用于将当前帧的帧类型、时间戳、时间偏移量和数据偏移量组成当前帧的帧索引信息。
在本发明实施例中视频中包括各个视频帧的数据,还可以包括视频的视频基本信息,视频基本信息中包括视频辨识、视频的编码信息、解码信息、视频的文件格式和视频的供应商标识等。视频标识可以为视频的名称或链接等。解码信息可以为视频对应的供应商的解码器的相关信息,如供应商的解码器的名称、版本号及下载链接等。
上述视频的编码信息可以为视频的编码格式,编码格式包括H.264或MPEG-4等。由于视频解码时需要参照视频的编码格式进行解码,所以还需要通过第一添加模块从视频中获取视频的编码信息,将编码信息添加到当前帧的帧索引信息中;或者,将编码信息添加到帧索引文件中。
上述视频的文件格式可以为MP4或AVI等标准格式,也可以为一些监控视频供应商自定义的非标准格式。本发明实施例中根据视频的文件格式不同将视频分为不同的类型,标准格式的视频为标准类型,非标准格式的视频为实时视频类型。由于用户的终端一般很难直接解码非标准格式的视频,所以为了保证非标准格式的视频能正确解码,当根据视频的文件格式确定视频的类型为实时视频时,第一添加模块还获取视频的解码信息及供应商标识,将该解码信息及供应商标识添加到当前帧的帧索引信息中,或者,将供解码信息及应商标识添加到帧索引文件中。
在本发明实施例中,视频帧的帧类型可以为I帧、P帧或B帧。I帧为关键帧,可以解码出一帧有效的图像。P帧和B帧需要根据位于其前面的I帧才能正确解码出有效的图像。由于P帧和B帧的解码依赖位于其前面的I帧,所以生成模块302通过上述三个功能单元生成当前帧的帧索引信息后,还需要对当前帧的帧类型进行判断,若当前帧的帧类型为I帧,则确定当前帧可以独立解码出有效的图像。若当前帧的帧类型为P帧或B帧,则需要通过第二添加模块的操作来获取当前帧的关键帧位置,将关键帧位置添加到当前帧的帧索引信息中,关键帧位置为位于当前帧之前最近的I帧的位置。
另外,用户在通过本发明实施例提供的方法存储视频之前,还可能在视频的某些视频帧中添加了用户标记信息,该用户标记信息可以为文字、线条或图案等。为了在后续用户请求播放这些视频帧时能够显示用户添加的用户标记信息,还需要通过第二添加模块获取用户标记信息及用户标记信息的长度,将用户标记信息及用户标记信息的长度添加到当前帧的帧索引信息中。
通过上述生成模块302生成视频对应的帧索引文件后,通过如下存储模块303来存储视频。
存储模块303,用于将上述生成模块302生成的帧索引文件和视频存储到视频存储***中。
上述存储模块303,用于从视频中获取视频的视频标识,在视频存储***中存储视频标识、帧索引文件和视频的对应关系,视频存储***包括分布式文件***、存储服务器和第三方存储设备。
本发明实施例除支持视频的存储外,也支持图片的存储。在存储图片时,为了提高存储图片的性能,减少实际存储管理的图片的数量,该视频存储装置还包括图片存储模块。图片存储模块接收待存储的图片,将预设数量的图片组成图片组;获取图片组中每个图片的标识及每个图片在图片组中的位置;将每个图片的标识及位置组成图片组对应的图片索引文件;将图片索引文件和图片组存储到视频存储***中。
在本发明实施例中,为每个视频帧生成了帧索引信息,并根据帧索引信息生成帧索引文件,在存储视频的同时存储了视频对应的帧索引文件,如此存储的视频支持流式点播,可以根据帧索引文件直接搜索到用户需要的视频帧,缩短了搜索视频的响应时间,提高了搜索视频帧的效率。
实施例4
参见图4,本发明实施例提供了一种视频搜索装置,该装置用于执行上述视频搜索方法。该装置具体包括:
接收模块401,用于接收用户的视频播放请求,该视频播放请求包括用户欲播放视频的视频标识和视频帧信息,视频帧信息包括以下一种或多种:视频帧的时间戳、时间偏移量和数据偏移量;
获取模块402,用于根据视频标识、视频帧信息和视频存储***存储的帧索引文件,从视频存储***存储的视频中获取视频帧信息对应的视频帧的数据;
提供模块403,用于将获取的视频帧的数据提供给用户。
上述提供模块403具体通过如下获取单元、组成单元和发送单元三个功能单元来将视频帧的数据提供给用户,具体包括:
获取单元,用于从帧索引文件中获取视频帧的供应商标识、编码信息、帧类型和时间戳;组成单元,用于将供应商标识、编码信息、帧类型和时间戳组成视频帧头;将视频帧头和视频帧的数据组成视频帧数据包;发送单元,用于将视频帧数据包发送给用户。
本发明实施例中,该视频搜索装置还可以包括添加模块。在提供模块403将视频帧的数据提供给用户前,添加模块获取视频帧的解码信息并添加到视频帧数据包中。
另外,由于视频帧的帧类型包括I帧、P帧和B帧。I帧为关键帧,可以解码出一帧有效的图像。P帧和B帧需要根据位于其前面的I帧才能正确解码出有效的图像。由于P帧和B帧的解码依赖位于其前面的I帧,所以为了保证P帧和B帧的成功解码,视频搜索装置还需要判断用户欲播放的视频帧的帧类型,若帧类型为P帧或B帧,则上述添加模块还从帧索引文件中获取视频帧的关键帧的位置,根据关键帧的位置,获取关键帧的数据,将关键帧的数据添加到视频帧数据包中。
在本发明实施例中,接收到用户的视频播放请求时,根据视频标识、视频帧信息和视频存储***存储的帧索引文件,从视频存储***存储的视频中获取视频帧信息对应的视频帧的数据,如此实现了视频的流式点播,可以根据帧索引文件直接搜索到用户需要的视频帧,缩短了搜索视频的响应时间,提高了搜索视频帧的效率。
本发明实施例所提供的视频存储装置及视频搜索装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的装置、模块和单元的具体工作过程,均可以参考上述方法实施例中的对应过程。
在本申请所提供的几个实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (18)

1.一种视频存储方法,其特征在于,所述方法包括:
获取待存储的视频;
根据所述视频中每个视频帧的帧信息生成所述每个视频帧的帧索引信息,并根据所述每个视频帧的帧索引信息生成所述视频对应的帧索引文件;
将所述帧索引文件和所述视频存储到视频存储***中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述视频中每个视频帧的帧信息生成所述每个视频帧的帧索引信息,包括:
对于所述视频中的每一视频帧,从当前帧的帧信息中获取所述当前帧的帧类型和时间戳;
根据所述当前帧的时间戳,确定所述当前帧的时间偏移量;将所述视频中位于所述当前帧之前的部分的容量确定为所述当前帧的数据偏移量;
将所述当前帧的所述帧类型、所述时间戳、所述时间偏移量和所述数据偏移量组成所述当前帧的帧索引信息。
3.根据权利要求2所述的方法,其特征在于,当所述视频的类型为实时视频时,所述方法还包括:
从所述实时视频中获取所述实时视频的编码信息、解码信息及供应商标识;
将所述编码信息、解码信息及所述供应商标识添加到所述当前帧的帧索引信息中;或者,将所述编码信息、解码信息及所述供应商标识添加到所述帧索引文件中。
4.根据权利要求2所述的方法,其特征在于,所述将所述当前帧的所述帧类型、所述时间戳、所述时间偏移量和所述数据偏移量组成所述当前帧的帧索引信息之后,还包括:
在所述当前帧的帧类型为P帧或B帧时,获取所述当前帧的关键帧位置,将所述关键帧位置添加到所述当前帧的帧索引信息中,所述关键帧位置为位于所述当前帧之前最近的I帧的位置;
和/或,在所述当前帧中包含用户标记信息时,获取所述用户标记信息及所述用户标记信息的长度,将所述用户标记信息及所述用户标记信息的长度添加到所述当前帧的帧索引信息中。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收待存储的图片,将预设数量的图片组成图片组;
获取所述图片组中每个图片的标识及每个图片在所述图片组中的位置;
将每个所述图片的标识及位置组成所述图片组对应的图片索引文件;
将所述图片索引文件和所述图片组存储到所述视频存储***中。
6.根据权利要求1所述的方法,其特征在于,所述将所述帧索引文件和所述视频存储到视频存储***中,包括:
从所述视频中获取所述视频的视频标识,在视频存储***中存储所述视频标识、所述帧索引文件和所述视频的对应关系,所述视频存储***包括分布式文件***、存储服务器和第三方存储设备。
7.一种视频搜索方法,其特征在于,所述方法包括:
接收用户的视频播放请求,所述视频播放请求包括所述用户欲播放视频的视频标识和视频帧信息,所述视频帧信息包括以下一种或多种:视频帧的时间戳、时间偏移量和数据偏移量;
根据所述视频标识、所述视频帧信息和视频存储***存储的帧索引文件,从所述视频存储***存储的视频中获取所述视频帧信息对应的视频帧的数据;
将获取的所述视频帧的数据提供给所述用户。
8.根据权利要求7所述的方法,其特征在于,所述将获取的所述视频帧的数据提供给所述用户,包括:
从所述帧索引文件中获取所述视频帧的供应商标识、编码信息、帧类型和时间戳;
将所述供应商标识、编码信息、帧类型和时间戳组成视频帧头;
将所述视频帧头和所述视频帧的数据组成视频帧数据包,将所述视频帧数据包发送给所述用户。
9.根据权利要求8所述的方法,其特征在于,所述将视频帧头和所述视频帧的数据组成视频帧数据包之后,还包括:
获取所述视频帧的解码信息并添加到所述视频帧数据包中;且在所述视频帧的帧类型为P帧或B帧时,从所述帧索引文件中获取所述视频帧的关键帧的位置,根据所述关键帧的位置,获取所述关键帧的数据,将所述关键帧的数据添加到所述视频帧数据包中。
10.一种视频存储装置,其特征在于,所述装置包括:
获取模块,用于获取待存储的视频;
生成模块,用于根据所述视频中每个视频帧的帧信息生成所述每个视频帧的帧索引信息,并根据所述每个视频帧的帧索引信息生成所述视频对应的帧索引文件;
存储模块,用于将所述帧索引文件和所述视频存储到视频存储***中。
11.根据权利要求10所述的装置,其特征在于,所述生成模块包括:
获取单元,用于对于所述视频中的每一视频帧,从当前帧的帧信息中获取所述当前帧的帧类型和时间戳;
确定单元,用于根据所述当前帧的时间戳,确定所述当前帧的时间偏移量;将所述视频中位于所述当前帧之前的部分的容量确定为所述当前帧的数据偏移量;
组成单元,用于将所述当前帧的所述帧类型、所述时间戳、所述时间偏移量和所述数据偏移量组成所述当前帧的帧索引信息。
12.根据权利要求11所述的装置,其特征在于,当所述视频的类型为实时视频时,所述装置还包括:
第一添加模块,用于从所述实时视频中获取所述实时视频的编码信息、解码信息及供应商标识;将所述编码信息、解码信息及所述供应商标识添加到所述当前帧的帧索引信息中;或者,将所述编码信息、解码信息及所述供应商标识添加到所述帧索引文件中。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二添加模块,用于在所述当前帧的帧类型为P帧或B帧时,获取所述当前帧的关键帧位置,将所述关键帧位置添加到所述当前帧的帧索引信息中,所述关键帧位置为位于所述当前帧之前最近的I帧的位置;和/或,用于在所述当前帧中包含用户标记信息时,获取所述用户标记信息及所述用户标记信息的长度,将所述用户标记信息及所述用户标记信息的长度添加到所述当前帧的帧索引信息中。
14.根据权利要求10所述的装置,其特征在于,所述装置还包括:
图片存储模块,用于接收待存储的图片,将预设数量的图片组成图片组;获取所述图片组中每个图片的标识及每个图片在所述图片组中的位置;将每个所述图片的标识及位置组成所述图片组对应的图片索引文件;将所述图片索引文件和所述图片组存储到所述视频存储***中。
15.根据权利要求10所述的装置,其特征在于,所述存储模块,用于从所述视频中获取所述视频的视频标识,在视频存储***中存储所述视频标识、所述帧索引文件和所述视频的对应关系,所述视频存储***包括分布式文件***、存储服务器和第三方存储设备。
16.一种视频搜索装置,其特征在于,所述装置包括:
接收模块,用于接收用户的视频播放请求,所述视频播放请求包括所述用户欲播放视频的视频标识和视频帧信息,所述视频帧信息包括以下一种或多种:视频帧的时间戳、时间偏移量和数据偏移量;
获取模块,用于根据所述视频标识、所述视频帧信息和视频存储***存储的帧索引文件,从所述视频存储***存储的视频中获取所述视频帧信息对应的视频帧的数据;
提供模块,用于将获取的所述视频帧的数据提供给所述用户。
17.根据权利要求16所述的装置,其特征在于,所述提供模块包括:
获取单元,用于从所述帧索引文件中获取所述视频帧的供应商标识、编码信息、帧类型和时间戳;
组成单元,用于将所述供应商标识、编码信息、帧类型和时间戳组成视频帧头;将所述视频帧头和所述视频帧的数据组成视频帧数据包;
发送单元,用于将所述视频帧数据包发送给所述用户。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括:
添加模块,用于获取所述视频帧的解码信息并添加到所述视频帧数据包中;且在所述视频帧的帧类型为P帧或B帧时,从所述帧索引文件中获取所述视频帧的关键帧的位置,根据所述关键帧的位置,获取所述关键帧的数据,将所述关键帧的数据添加到所述视频帧数据包中。
CN201510435923.4A 2015-07-22 2015-07-22 一种视频存储方法及装置和视频搜索方法及装置 Pending CN104967862A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510435923.4A CN104967862A (zh) 2015-07-22 2015-07-22 一种视频存储方法及装置和视频搜索方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510435923.4A CN104967862A (zh) 2015-07-22 2015-07-22 一种视频存储方法及装置和视频搜索方法及装置

Publications (1)

Publication Number Publication Date
CN104967862A true CN104967862A (zh) 2015-10-07

Family

ID=54221786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510435923.4A Pending CN104967862A (zh) 2015-07-22 2015-07-22 一种视频存储方法及装置和视频搜索方法及装置

Country Status (1)

Country Link
CN (1) CN104967862A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302883A (zh) * 2015-10-13 2016-02-03 深圳市乐唯科技开发有限公司 一种基于时间的媒体文件的管理方法和***
CN107959892A (zh) * 2017-12-11 2018-04-24 南京酷亨网络科技有限公司 一种用于海洋执法的雷达和视频数据快速定位方法
CN109982020A (zh) * 2019-02-26 2019-07-05 南京邮电大学 一种视频存储及检索方法
CN110245258A (zh) * 2018-12-10 2019-09-17 浙江大华技术股份有限公司 视频文件建立索引的方法、视频文件解析方法及相关***
CN110740344A (zh) * 2019-09-17 2020-01-31 浙江大华技术股份有限公司 视频提取方法以及相关装置
CN111125427A (zh) * 2019-12-26 2020-05-08 浪潮电子信息产业股份有限公司 一种视频文件的读取方法、装置、电子设备及介质
CN111510658A (zh) * 2020-04-23 2020-08-07 上海依图网络科技有限公司 图片数据处理方法、装置、电子设备及存储介质
CN112541390A (zh) * 2020-10-30 2021-03-23 四川天翼网络服务有限公司 一种用于考试视频违规分析的抽帧动态调度方法及***
CN112788366A (zh) * 2020-12-28 2021-05-11 杭州海康威视***技术有限公司 视频处理的方法和装置
CN113157969A (zh) * 2021-03-09 2021-07-23 聚融医疗科技(杭州)有限公司 一种用于超声诊断的快速进入电影回放状态的方法及***
CN113779303A (zh) * 2021-11-12 2021-12-10 腾讯科技(深圳)有限公司 视频集合的索引方法、装置和存储介质及电子设备
CN113965798A (zh) * 2021-10-25 2022-01-21 北京百度网讯科技有限公司 一种视频信息生成、展示方法、装置、设备及存储介质
CN114125493A (zh) * 2021-11-22 2022-03-01 威创集团股份有限公司 一种流媒体的分布式存储方法、装置和设备
CN114430469A (zh) * 2022-04-01 2022-05-03 浙江大华技术股份有限公司 视频数据存储方法、读取方法、电子设备和可读存储介质
CN115171241A (zh) * 2022-06-30 2022-10-11 南京领行科技股份有限公司 一种视频帧定位方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1873820A (zh) * 2006-05-18 2006-12-06 北京中星微电子有限公司 视频文件处理方法、视频索引方法和视频索引装置
CN101859585A (zh) * 2010-07-01 2010-10-13 福建省三奥信息科技有限公司 一种对视频素材进行帧精确剪辑的***和方法
CN102143351A (zh) * 2010-08-06 2011-08-03 华为软件技术有限公司 监控录像的定位方法、图片抓拍方法,及装置和***
EP2661084A1 (en) * 2012-05-01 2013-11-06 Eldon Technology Limited trading as Echostar Europe Method to play a video data stream, device and computer program
CN103780877A (zh) * 2013-12-26 2014-05-07 深圳市华仁达技术有限公司 基于h264编码的海量视频数据的存储及检索方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1873820A (zh) * 2006-05-18 2006-12-06 北京中星微电子有限公司 视频文件处理方法、视频索引方法和视频索引装置
CN101859585A (zh) * 2010-07-01 2010-10-13 福建省三奥信息科技有限公司 一种对视频素材进行帧精确剪辑的***和方法
CN102143351A (zh) * 2010-08-06 2011-08-03 华为软件技术有限公司 监控录像的定位方法、图片抓拍方法,及装置和***
EP2661084A1 (en) * 2012-05-01 2013-11-06 Eldon Technology Limited trading as Echostar Europe Method to play a video data stream, device and computer program
CN103780877A (zh) * 2013-12-26 2014-05-07 深圳市华仁达技术有限公司 基于h264编码的海量视频数据的存储及检索方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302883A (zh) * 2015-10-13 2016-02-03 深圳市乐唯科技开发有限公司 一种基于时间的媒体文件的管理方法和***
CN105302883B (zh) * 2015-10-13 2018-12-21 深圳市乐唯科技开发有限公司 一种基于时间的媒体文件的管理方法和***
CN107959892A (zh) * 2017-12-11 2018-04-24 南京酷亨网络科技有限公司 一种用于海洋执法的雷达和视频数据快速定位方法
CN110245258A (zh) * 2018-12-10 2019-09-17 浙江大华技术股份有限公司 视频文件建立索引的方法、视频文件解析方法及相关***
CN110245258B (zh) * 2018-12-10 2023-03-17 浙江大华技术股份有限公司 视频文件建立索引的方法、视频文件解析方法及相关***
CN109982020A (zh) * 2019-02-26 2019-07-05 南京邮电大学 一种视频存储及检索方法
CN110740344A (zh) * 2019-09-17 2020-01-31 浙江大华技术股份有限公司 视频提取方法以及相关装置
CN111125427A (zh) * 2019-12-26 2020-05-08 浪潮电子信息产业股份有限公司 一种视频文件的读取方法、装置、电子设备及介质
CN111510658A (zh) * 2020-04-23 2020-08-07 上海依图网络科技有限公司 图片数据处理方法、装置、电子设备及存储介质
CN112541390A (zh) * 2020-10-30 2021-03-23 四川天翼网络服务有限公司 一种用于考试视频违规分析的抽帧动态调度方法及***
CN112541390B (zh) * 2020-10-30 2023-04-25 四川天翼网络股份有限公司 一种用于考试视频违规分析的抽帧动态调度方法及***
CN112788366A (zh) * 2020-12-28 2021-05-11 杭州海康威视***技术有限公司 视频处理的方法和装置
CN112788366B (zh) * 2020-12-28 2023-03-24 杭州海康威视***技术有限公司 视频处理的方法和装置
CN113157969A (zh) * 2021-03-09 2021-07-23 聚融医疗科技(杭州)有限公司 一种用于超声诊断的快速进入电影回放状态的方法及***
CN113965798A (zh) * 2021-10-25 2022-01-21 北京百度网讯科技有限公司 一种视频信息生成、展示方法、装置、设备及存储介质
CN113779303B (zh) * 2021-11-12 2022-02-25 腾讯科技(深圳)有限公司 视频集合的索引方法、装置和存储介质及电子设备
CN113779303A (zh) * 2021-11-12 2021-12-10 腾讯科技(深圳)有限公司 视频集合的索引方法、装置和存储介质及电子设备
CN114125493A (zh) * 2021-11-22 2022-03-01 威创集团股份有限公司 一种流媒体的分布式存储方法、装置和设备
CN114430469A (zh) * 2022-04-01 2022-05-03 浙江大华技术股份有限公司 视频数据存储方法、读取方法、电子设备和可读存储介质
CN115171241A (zh) * 2022-06-30 2022-10-11 南京领行科技股份有限公司 一种视频帧定位方法、装置、电子设备及存储介质
CN115171241B (zh) * 2022-06-30 2024-02-06 南京领行科技股份有限公司 一种视频帧定位方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN104967862A (zh) 一种视频存储方法及装置和视频搜索方法及装置
CN105052107B (zh) 使用质量信息进行媒体内容自适应传输
CN101677325B (zh) 发布媒体描述信息和获取媒体的方法、装置、***
CN105376612A (zh) 一种视频播放方法、媒体设备、播放设备以及多媒体***
CN105120321A (zh) 一种视频搜索方法、视频存储方法和相关装置
CN102055717A (zh) 快速播放的方法、终端及服务器
JPWO2013157440A1 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
WO2013159703A1 (en) Offline download method, multimedia file download method and system thereof
US9712590B2 (en) Method and device for transmitting streaming media
CN102196008A (zh) 点对点下载方法、视频设备和内容发送方法
CN108810657B (zh) 一种设置视频封面的方法和***
CN105025319A (zh) 一种视频推送方法和装置
CN103299600A (zh) 用于传输直播媒体内容的装置和方法
CN105228001A (zh) 一种flv格式视频在线播放的方法及***
CN103327021B (zh) 一种多设备互动方法及相关设备、***
CN103139173A (zh) 终端设备、媒体交换网***、媒体业务下载方法及***
CN109842804A (zh) 音视频数据的处理方法及服务器、计算机存储介质
CN103078683B (zh) 一种文件传输方法及***
CN111741338A (zh) Hls流媒体播放方法、***、设备及存储介质
CN104104972A (zh) 多媒体播放方法、装置及***
CN102833241B (zh) 流媒体业务流量记录合并处理方法及装置
CN108810575B (zh) 一种发送目标视频的方法和装置
CN113873288A (zh) 在直播过程中生成回放的方法和装置
CN110677443A (zh) 数据发送和接收方法、发送端、接收端、***及存储介质
CN104936042A (zh) 一种视频片段下载方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20151007

RJ01 Rejection of invention patent application after publication