一、前言
本篇博文为大家带来录像文件是如何修改文件命名和文件类型的,在一些特殊情况下文件系统又是如何区分文件的文件类型的,使用的 SDK 版本是 Hi3562V100_MobileCam_SDK_V2.0.0.2。
二、修改文件命名
2.1 DTCF 文件系统
DTCF 文件系统即日期时间文件系统,是录像和拍照模块的支撑模块,同时也向预览、回放等业务层应用提供媒体文件的命名添加、检索、删除和关联功能。 在 Reference 层中文件管理模块是状态管理模块的支撑模块,同时也向 NetCtrl、UI 等应用层业务提供检索、删除等功能。
文件管理模块在整个系统中的位置,如图 2.1 所示。
图 2.1 DTCF 文件管理模块上下文
2.2 DTCF 文件命名规则
DTCF文件的全路径是由根路径、二级目录名、文件名三部分组成。规则示意图如图 2.2 所示。路径中黑色部分由本模块内产生,红色和绿色部分在初始化时由外部配置决定。
图 2.2 DTCF 文件命名规则
也就是说,黑色部分的日期时间是会自动生成的,我们能改的只有红色和绿色部分,下面分点说一下可以修改的这部分:
① 其中红色的根路径就是挂载存储 SD 卡的路径,这个可以通过修改 SD 卡的挂载路径进行变更。
② 然后绿色的二级目录名是由文件类型决定的,文件类型的定义可以在 middleware\component\dtcf\include\hi_dtcf.h 文件中修改,上限是 14 个,如图 2.3 所示。
不同的文件类型一般有不同的二级目录名,但是也可以把多个文件类型放到同一个二级目录内,只需要在配置文件 config_product_filemng.ini 中把多个文件类型的目录名设为一样的就行了,如图 2.4 所示即把一般录像的前后摄文件都放到 drive_front_norm 目录内。如果把多个文件类型放到同一个二级目录内的话,在公版 SDK 会产生一些 BUG,无法准确获取该二级目录内文件的文件类型,这个问题后面会提到。
图 2.3 文件类型定义
图 2.4 修改文件类型对应目录名
③ 红色的文件名后缀可以在 middleware\component\dtcf\src\hi_dtcf.c 文件中修改,如图 2.5 所示。上面是文件类型,下面是对应的后缀字符串。
图 2.5 修改文件后缀名
④ 最后的绿色文件格式名就是最后要保存成哪种视频文件格式,这个可以在配置文件 ini 里 record.common 一项中修改,如图 2.6 所示。
图 2.6 修改视频文件格式
三、具有相同二级目录名的文件类型
3.1 HI_DTCF_Scan 接口
上面提到过具有相同二级目录名的文件类型在使用过程中会出现一些 BUG,原因就在 HI_DTCF_Scan 这个接口里。举个例子,根据图 2.4 的修改,假设 drive_front_norm 这个目录内有 HI_DTCF_NORM_FRONT 和 HI_DTCF_NORM_REAR 两种文件各 3 个,现在向 HI_DTCF_Scan 接口输入HI_DTCF_NORM_FRONT 文件类型,会得到一共有 6 个文件,并且 6 个都是 HI_DTCF_NORM_FRONT 类型的文件,把后摄文件的也当做前摄文件了,如图 3.1 和 3.2 所示。
图 3.1 LOG 显示
图 3.2 实际文件
3.2 解决方法
只需要在 HI_DTCF_Scan 中利用文件名的后缀判定是属于哪种文件类型就可以了,如图 3.3 所示。
图 3.3 判断录像文件类型
四、结果验证
下面我们尝试运行经过修改的代码,结果如下:
图 4.1 LOG 显示
图 4.2 实际文件
可以看出能正常判断前后摄文件的数量了。
参考资料:
【1】《HiMobileCam V2.0 参考设计开发指南.pdf》
【2】《Camera 中间件开发参考.pdf》
评论