概述
IPC一般都会有本地存储的需求,插入TF卡或SD卡后,会在卡中进行录像文件的存储。录像存储一般有两种方式:文件存储和流式存储。
文件存储有以下三个问题:一是最后一个录像文件可能由于异常断电而丢失,或者无法使用;二是录像文件一般采用mp4格式,而mp4文件有某些限制,比如:只支持AAC编码格式,不支持ADPCM、G711A等编码格式;三是获取录像文件的连续时间段不方便(用于客户端展示时间轴)。
流式存储有以下四个问题:一是需要一下子缓存若干秒的所有媒体数据,耗费的内存比较多;二是需要保证所有媒体数据的同步,一旦不同步,就会导致数据不连续;三是录像与时间强相关,不好删除,也不好扩展(比如:支持人脸、标记录像重要性、或者新的需求),修改时间可能会导致录像丢失(将时间往前修改时,或将时间往后修改较大时)或者不连续;四是磁盘采用私有格式,没法在磁盘上保存文件(比如:不太好支持TF卡/SD卡升级固件)。
基于上述两方面的原因,设计了一种新的媒体数据存储机制。TF卡/SD卡采用FAT32或EXT4文件系统,用于规避流式存储的一些弊端。同时,采用特定的目录结构,录像文件使用裸码流存储(可选加密码流),没有mp4、avi等容器的概念,用于规避文件存储的一些弊端。
媒体存储接口类
媒体存储接口类需要导出如下几个接口:
1、初始化接口,用于传入初始化参数。