CN112148677A - 一种面向嵌入式音视频设备的文件定位方法、系统及设备 - Google Patents
一种面向嵌入式音视频设备的文件定位方法、系统及设备 Download PDFInfo
- Publication number
- CN112148677A CN112148677A CN202010953013.6A CN202010953013A CN112148677A CN 112148677 A CN112148677 A CN 112148677A CN 202010953013 A CN202010953013 A CN 202010953013A CN 112148677 A CN112148677 A CN 112148677A
- Authority
- CN
- China
- Prior art keywords
- file
- slice
- record
- time stamp
- target slice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开一种面向嵌入式音视频设备的文件定位方法,所述方法包括建立计数文件和索引文件,通过移动文件指针在索引文件中快速定位目标文件记录,获得目标切片文件的存储路径。本发明还公开一种基于该方法的面向嵌入式音视频设备的文件定位系统和电子设备,利用本发明公开的方法和系统,可将搜索的时间复杂度从O(N)降为O(logN),这将大大提高文件定位速度,降低文件定位的时间成本,故具有明显的技术优势和有益效果。
Description
技术领域
本发明涉及文件定位领域,尤其涉及一种面向嵌入式音视频设备的文件定位方法、系统和设备。
背景技术
一般嵌入式音视频设备既可以直播也可以录像,而录像文件一般以固定的文件封装格式临时存储在sd卡上。常见的视频封装格式有mp4、mpegts等。mpegts格式的优势是大多数云厂商都支持,可以支持浏览器播放。在回放录像文件时,需要对录像文件进行快进快退等定位播放操作。
目前通常为了尽可能使回放首开快,mpegts格式的录像文件应尽可能小,一般嵌入式音视频设备视音频流每5s切片封装为一个ts文件,常规的音视频录制文件采用时间戳作为文件名的一部分,通过文件名中的时间戳信息完成文件的搜索和定位,例如文件命名方法是按照年/月/日/小时/starttime-endtime.ts的文件名结构来存储,每一个ts文件名都包含开始和结束时间戳,比如在2020/6/2418:6:14这个时间点产生了一个ts文件,它对应的时间戳是1592993174,单位为秒,那么这个ts的结束时间戳就是1592993174,开始时间戳为1592993174-5=1592993169,那么这个ts文件的名字即为1592993169-1592993174.ts,它会存储在如下目录:/mnt/sdcard/2020/06/24/18/1592993169-1592993174.ts,这样就会导致SD卡中存储大量的ts文件。
当播放时,需要根据给定的时间进行定位,目前的流程是首先对于定位时间转换出它对应的时间。比如时间戳为1592993150,他对应的时间为2020/6/2418:5:50,这样我们得到文件位于/mnt/sdcard/2020/06/24/18目录下。由于一个小时为3600s,每5s切片封装为一个ts文件,则每个小时的音视频切片存储为大概720个ts文件,那么就需要在这些ts文件里面,找到我们需要的。常规使用库函数readdir去遍历这720个文件,在嵌入式音视频设备的cpu上做这样的遍历处理非常耗时,可能要耗时几秒钟,这样使得回放首开比较慢,用户体验较差。而通常嵌入式音视频设备的cpu的性能也会比x86架构的差很多,因此在数量庞的ts文件在播放视频文件时,难以快速定位到指定的位置的视频。
综上,如何提高嵌入式音视频设备的音视频录制文件的定位速度是本领域技术人员亟需解决的技术问题。
发明内容
本发明为解决现有技术存在的嵌入式音视频设备的音视频录制文件的定位的不足,提出一种面向嵌入式音视频设备的文件定位的解决方案,目的是提高嵌入式音视频设备的文件定位速度。
为了实现以上目的,本发明设计了一种面向嵌入式音视频设备的文件定位方法,所述方法包括:获取索引文件中记录的切片文件的总数;读入索引文件的内容,所述索引文件用于记录本地存储的音视频切片文件的存储路径记录;初始化检索目标切片文件的记录区间;获取所述记录区间的中间记录的第一时间戳,比较判断所述目标切片文件的时间戳与所述第一时间戳,如果不一致,则重新计算调整检索目标切片文件的记录区间,重复该步骤;返回获得的目标切片文件的存储路径。
优选的,在所述的初始化检索目标切片文件的记录区间之前还包括:在所述索引文件中获取切片文件记录的第一条记录的位置和最后一条记录的位置。
优选的,所述的初始化检索目标切片文件的记录区间的方法为:将检索目标切片文件的记录区间的最小值设置为所述第一条记录的位置;将检索目标切片文件的记录区间的最大值设置为所述最后一条记录的位置设置。
优选的,所述的重新计算调整检索目标切片文件的记录区间的方法是:如果所述目标切片视频的时间戳大于第一时间戳,则将第一时间戳对应记录的位置设为检索目标切片文件的记录区间的最小值;如果所述目标切片视频的时间戳小于第一时间戳,则将第一时间戳对应记录的位置设为检索目标切片文件的记录区间的最大值。
优选的,所述获取所述记录区间的中间记录的方法是:移动文件指针到所述记录区间的中间位置。
本发明还公开一种面向嵌入式音视频设备的文件定位方法,包括以下步骤:产生计数文件,初始化文件内容为0,所述计数文件记录索引文件中记录的切片文件的总数;产生索引文件,初始化索引文件为空。
本发明还公开一种面向嵌入式音视频设备的文件定位方法,包括以下步骤:产生新的切片文件时,将新的切片文件的路径写入索引文件末尾,同时将当前计数文件内容加一。
本发明还公开一种面向嵌入式音视频设备的文件定位系统,包括:初始化模块、切片文件存储模块、切片文件获取模块、文件定位模块,其中:初始化模块:初始化计数文件和索引文件;切片文件存储模块:用于存储切片文件,同时更新索引文件和计数文件;切片文件获取模块:用于调用文件定位模块获取切片文件;文件定位模块:用于在本地存储的音视频切片文件中获取目标切片文件。
本发明还公开一种电子设备,其特征在于,所述系统包括处理器以及存储器,所述存储器用于存储可执行程序;所述处理器用于执行所述可执行程序以实现所述的方法。
本发明公开的方法和系统中所述的模块,在实际应用中,即可以在一台服务器上部署多个模块,也可以每一模块独立部署在不同的服务器上,特别的,根据需要,为了提供更强大的计算处理能力,也可以根据需要将模块部署到集群服务器上。
利用本发明公开的方法、系统和设备,大大降低了文件定位时间,例如N条记录,采用原始的检索方法需要检索N条,传统搜索的时间复杂度为O(N),采用本发明公开的方法检索,搜索的时间复杂度为O(logN),由此可见,本发明所述的方法可大大提高文件定位速度,降低文件定位的时间成本,故具有明显的技术优势和有益效果。
为了对本发明有更清楚全面的了解,下面结合附图,对本发明的具体实施方式进行详细描述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种实施例中面向嵌入式音视频设备的文件定位方法的流程示意图。
图2示出了一种实施例中查找目标切片文件的原理示意图。
图3示出了一种实施例中面向嵌入式音视频设备的文件定位系统的结构示意图。
具体实施方式
请参阅图1,图1示出了一种实施例中面向嵌入式音视频设备的文件定位方法的流程示意图,具体包括步骤S11~S15:
步骤S11,获取索引文件中记录的切片文件的总数。
步骤S12,读入索引文件的内容,所述索引文件用于记录本地存储的音视频切片文件的存储路径记录。
在该实施例中,读入索引文件代码示例如下:
FILE*fp=fopen("xxx.index","r");
if(!fp){return;}
步骤S13,初始化检索目标切片文件的记录区间。
在该实施例中中,需要初始化三个值:索引文件记录的总数total,索引文件内查找目标文件记录的搜索范围[start,end],初始化时,start=0即是第一条记录的开始位置,end=total,即最后一条记录的位置。
步骤S14,获取所述记录区间的中间记录的第一时间戳,比较判断所述目标切片文件的时间戳与所述第一时间戳,如果不一致,则重新计算调整检索目标切片文件的记录区间,重复该步骤。
该步骤的原理请参考图2所示的过程。
步骤S15,返回获得的目标切片文件的存储路径。
请参阅图2,图2示出了一种实施例中查找目标切片文件的原理示意图,图2包括三个阶段图2a、图2b和图2c,其中图2a代表第一次查找示例,图2b代表第二次查找示例,图2c代表第三次查找示例。
在本实施例中,首先设定三个变量:inttotal=0;intstart=0,end=0;total表示记录总数,start和end表示搜索的起止记录的范围。
读出索引文件记录的总数,得到total的值。
用fopen打开索引文件,获取索引文件的记录的开始和结束的位置,获得start和end的值,初始化时,start=0,end=total。
如图2a所示,第一次搜索,调用fseek移动文件指针到文件的中间位置,中间位置为:(end-start)/2,代码示例如下:
fseek(fp,(end-start)/2);
如图2b所示,根据上一次判断的结果是,要查找的目标文件时间戳大于中间记录文件的时间戳,则此时更新start,将上一次中间记录文件的位置作为新的start,此时start=(end-start)/2;继续在新的搜索范围[start,end]中查找,同样的,调用fseek移动文件指针到文件的中间位置,中间位置为:(end-start)/2,代码示例为:
fseek(fp,(end-start)/2);
如图2c所示,根据上一次判断的结果,要查找的目标文件时间戳小于中间记录文件的时间戳,则此时更新end,将上一次中间记录文件的位置作为新的end,此时end=(end-start)/2;继续在新的搜索范围[start,end]中查找,同样的,调用fseek移动文件指针到文件的中间位置,中间位置为:(end-start)/2,代码示例为:
fseek(fp,(end-start)/2)。
后面以此类推,直到查找到目标文件。
请参阅图3,图3示出了一种实施例中面向嵌入式音视频设备的文件定位系统的结构实施例,该实施例中,文件定位系统包括初始化模块01、切片文件存储模块02、切片文件获取模块03、文件定位模块04,其中:
初始化模块01:初始化计数文件和索引文件;
产生计数文件,初始化文件内容为0,所述计数文件记录索引文件中记录的切片文件的总数;产生索引文件,初始化索引文件为空。
切片文件存储模块02:用于存储切片文件,同时更新索引文件和计数文件。
在该实施例中中,产生新的切片文件时,将新的切片文件的路径写入索引文件末尾,同时将当前计数文件内容加一。
切片文件获取模块03:用于调用文件定位模块获取切片文件。
文件定位模块04:用于在本地存储的音视频切片文件中获取目标切片文件。
本申请实施例还提供一种电子设备,所述电子设备中包括处理器及存储器,所述存储器中存储有可执行程序,当所述可执行程序在计算机上运行时,所述计算机执行上述任一实施例所述的方法和系统。
需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可以存储于计算机可读存储介质中,所述存储介质可以包括但不限于:只读存储器(ROM,Read OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种面向嵌入式音视频设备的文件定位方法,其特征在于,包括以下步骤:
获取索引文件中记录的切片文件的总数;
读入索引文件的内容,所述索引文件用于记录本地存储的音视频切片文件的存储路径记录;
初始化检索目标切片文件的记录区间;
获取所述记录区间的中间记录的第一时间戳,比较判断所述目标切片文件的时间戳与所述第一时间戳,如果不一致,则重新计算调整检索目标切片文件的记录区间,重复该步骤;
返回获得的目标切片文件的存储路径。
2.如权利要求1所述的方法,其特征是,在所述的初始化检索目标切片文件的记录区间之前还包括:在所述索引文件中获取切片文件记录的第一条记录的位置和最后一条记录的位置。
3.如权利要求2所述的方法,其特征是,所述的初始化检索目标切片文件的记录区间的方法为:
将检索目标切片文件的记录区间的最小值设置为所述第一条记录的位置;
将检索目标切片文件的记录区间的最大值设置为所述最后一条记录的位置设置。
4.如权利要求1-3所述的方法,其特征是,所述的重新计算调整检索目标切片文件的记录区间的方法是:
如果所述目标切片文件的时间戳大于第一时间戳,则将第一时间戳对应记录的位置设为检索目标切片文件的记录区间的最小值;
如果所述目标切片文件的时间戳小于第一时间戳,则将第一时间戳对应记录的位置设为检索目标切片文件的记录区间的最大值。
5.如权利要求4所述的方法,其特征是,所述获取所述记录区间的中间记录的方法是:移动文件指针到所述记录区间的中间位置。
6.一种面向嵌入式音视频设备的文件定位方法,其特征在于,包括以下步骤:
产生计数文件,初始化文件内容为0,所述计数文件记录索引文件中记录的切片文件的总数;
产生索引文件,初始化索引文件为空。
7.一种面向嵌入式音视频设备的文件定位方法,其特征在于,包括以下步骤:
产生新的切片文件时,将新的切片文件的路径写入索引文件末尾,同时将当前计数文件内容加一。
8.一种面向嵌入式音视频设备的文件定位系统,其特征在于,包括:初始化模块、切片文件存储模块、切片文件获取模块、文件定位模块,其中:
初始化模块:初始化计数文件和索引文件;
切片文件存储模块:用于存储切片文件,同时更新索引文件和计数文件;
切片文件获取模块:用于调用文件定位模块获取切片文件;
文件定位模块:用于在本地存储的音视频切片文件中获取目标切片文件。
9.一种电子设备,其特征在于,所述系统包括处理器以及存储器,
所述存储器用于存储可执行程序;
所述处理器用于执行所述可执行程序以实现权利要求1-3和/或5-7所述的任意一种面向嵌入式音视频设备的文件定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010953013.6A CN112148677A (zh) | 2020-09-11 | 2020-09-11 | 一种面向嵌入式音视频设备的文件定位方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010953013.6A CN112148677A (zh) | 2020-09-11 | 2020-09-11 | 一种面向嵌入式音视频设备的文件定位方法、系统及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148677A true CN112148677A (zh) | 2020-12-29 |
Family
ID=73890927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010953013.6A Pending CN112148677A (zh) | 2020-09-11 | 2020-09-11 | 一种面向嵌入式音视频设备的文件定位方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148677A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102027750A (zh) * | 2009-03-30 | 2011-04-20 | 松下电器产业株式会社 | 记录介质、再现装置及集成电路 |
US20140115472A1 (en) * | 2011-10-28 | 2014-04-24 | Panasonic Corporation | Recording medium, playback device, recording device, playback method and recording method for editing recorded content while maintaining compatibility with old format |
CN104994340A (zh) * | 2015-06-25 | 2015-10-21 | 广东工业大学 | 一种音视频存储方式的精确定位回放方法 |
CN108717458A (zh) * | 2018-05-24 | 2018-10-30 | 昆明联诚科技股份有限公司 | 一种用于监控行业的历史视频文件格式存储方法及系统 |
-
2020
- 2020-09-11 CN CN202010953013.6A patent/CN112148677A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102027750A (zh) * | 2009-03-30 | 2011-04-20 | 松下电器产业株式会社 | 记录介质、再现装置及集成电路 |
US20140115472A1 (en) * | 2011-10-28 | 2014-04-24 | Panasonic Corporation | Recording medium, playback device, recording device, playback method and recording method for editing recorded content while maintaining compatibility with old format |
CN104994340A (zh) * | 2015-06-25 | 2015-10-21 | 广东工业大学 | 一种音视频存储方式的精确定位回放方法 |
CN108717458A (zh) * | 2018-05-24 | 2018-10-30 | 昆明联诚科技股份有限公司 | 一种用于监控行业的历史视频文件格式存储方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8938430B2 (en) | Intelligent data archiving | |
EP2372715B1 (en) | Device and method for reading out data from recording medium | |
US7831578B2 (en) | Apparatus for file system management with virtual file name | |
CN106815275B (zh) | 一种通过备用数据库实现主备数据库同步的方法与设备 | |
US20180357246A1 (en) | System and method for file archiving using machine learning | |
US20130325915A1 (en) | Computer System And Data Management Method | |
US11250888B1 (en) | Flash memory and method for storing and retrieving embedded audio video data | |
JP2009540466A (ja) | メディアファイルを管理するためのアプリケーションプログラムインターフェース | |
US11947823B2 (en) | System and methods for providing a memory slice data structure for use with diverse memory and storage media | |
CN114860654A (zh) | 一种基于Flink数据流的Iceberg表Schema动态变更方法及系统 | |
CN106205656B (zh) | 一种文件播放位置的定位方法及装置 | |
CN112148677A (zh) | 一种面向嵌入式音视频设备的文件定位方法、系统及设备 | |
US9110595B2 (en) | Systems and methods for enhancing performance of software applications | |
CN113918535A (zh) | 一种数据读取方法、装置、设备及存储介质 | |
CN117093579A (zh) | 数据查询、数据存储方法、装置、设备及存储介质 | |
KR101992631B1 (ko) | 비동기 방식을 사용하는 파일 색인장치 및 그 방법 | |
US10572452B1 (en) | Context-based read-ahead for B+ tree data structures in a deduplication system | |
US20070203877A1 (en) | Intermediate cache utility for file system access | |
JP5879284B2 (ja) | 情報記録方法及び情報記録装置及びプログラム | |
US20190310938A1 (en) | Tape data access with random access features | |
JP2008071048A (ja) | 動的コンテンツ提示システム及びそのプログラム | |
CN110765290A (zh) | 图片存储方法、读取方法、装置及存取系统 | |
US10216424B1 (en) | Staging of write operations for container-based storage for sequential media | |
CN110018990B (zh) | 一种缓存快照、读取快照的方法和装置 | |
CN114756278B (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 |