mobile CCTV,mobile surveillance,police body worn cameras

标题: 关于录像检索/上传的问题 [打印本页]

author: ywz    time: 2015-5-30 15:02
标题: 关于录像检索/上传的问题
本帖最后由 ywz 于 2015-5-30 15:06 编辑

       正常情况下,服务器先通过录像检索查看终端存储设备里面录像文件,然后有需要时再通过FTP等方式将录像文件上传到服务器。
       在DEMO里面,好像只是找到录像检索部分而找不到文件上传部分,然后按思路走,如果自己做的话应该得找到文件的详细路径才能编写FTP将文件上传到相应的服务器。
       测试了一下DEMO里面的录像检索功能,发现只能找到一个简单的路径:/00_00/record。前面的部分是什么?还有一点是DEMO代码的输出日期写错了,基准应该是1900年,而不是1990年,所以打印信息时多了90年,变成2105年了。

       PS.本来打算上传图片操作的过程的,但上传不了,只能通过手写出来了:
       (1)使用DEMO的函数为int BVPU_SC_RecordFileFilterTest(BVPU_SC sdk);
       (2)在第二个FOR循环的最后添加代码BVINFO("\t\t\tPath: %s\n", refileall.RecordFileInfo[cnt].szFilePath);
       (3)通过远程登陆查看到的部分打印信息为:
       [bv_demo-hi3515][bv_demo.c 0859][INFO] ==>           (1)     01_20150520_111528.dav  type: 2, size: 1931687
       [bv_demo-hi3515][bv_demo.c 0862][INFO] ==>                   stImageSize(0 0), iFPS(0)
       [bv_demo-hi3515][bv_demo.c 0874][INFO] ==>                   begin:  2105-5-20_11-15-28
       [bv_demo-hi3515][bv_demo.c 0876][INFO] ==>                   end:    2105-5-20_11-18-28
       [bv_demo-hi3515][bv_demo.c 0877][INFO] ==>                   Path: /00_00/record
       [bv_demo-hi3515][bv_demo.c 0859][INFO] ==>           (2)     01_20150520_111828.dav  type: 2, size: 1941641
       [bv_demo-hi3515][bv_demo.c 0862][INFO] ==>                   stImageSize(0 0), iFPS(0)
       [bv_demo-hi3515][bv_demo.c 0874][INFO] ==>                   begin:  2105-5-20_11-18-28
       [bv_demo-hi3515][bv_demo.c 0876][INFO] ==>                   end:    2105-5-20_11-21-28
       [bv_demo-hi3515][bv_demo.c 0877][INFO] ==>                   Path: /00_00/record
       [bv_demo-hi3515][bv_demo.c 0859][INFO] ==>           (3)     01_20150520_112128.dav  type: 2, size: 1940572
       [bv_demo-hi3515][bv_demo.c 0862][INFO] ==>                   stImageSize(0 0), iFPS(0)
       [bv_demo-hi3515][bv_demo.c 0874][INFO] ==>                   begin:  2105-5-20_11-21-28
       [bv_demo-hi3515][bv_demo.c 0876][INFO] ==>                   end:    2105-5-20_11-24-28
       [bv_demo-hi3515][bv_demo.c 0877][INFO] ==>                   Path: /00_00/record



author: besovideo    time: 2015-5-30 21:28
可以上传附件了。
FTP上传的应该是没在SDK里面。
author: ywz    time: 2015-6-3 09:14
besovideo 发表于 2015-5-30 21:28
可以上传附件了。
FTP上传的应该是没在SDK里面。

我是指那个路径不完整,如果完整的话,不用你们的SDK(FTP上传接口)我也可以做吧?或者你们也可以做一个FTP的接口,这样子更方便的~
author: besovideo    time: 2015-6-4 10:51
我们的服务器保存录像的机制,其实不是PU上传文件,而是NRU SERVER类似开启了一个CU来获取实时视频流,然后保存在SERVER上。做FTP上传的只有照片抓拍上传才是走FTP。
author: ywz    time: 2015-6-4 11:28
besovideo 发表于 2015-6-4 10:51
我们的服务器保存录像的机制,其实不是PU上传文件,而是NRU SERVER类似开启了一个CU来获取实时视频流,然后 ...

我指的是“录像检索->下载”的功能,这个应该需要上传文件的吧?
author: 国士无双    time: 2015-6-4 11:36
1.这个功能还在规划、设计中;
2.路径是没有问题的,我们的命令是在标准ftp上改的,用标准的ftp命令这要给这个路径也可以,不过连上比较复杂,ftp和底层不相关,由livecams中转了(PS:我们用的文件系统不是标准的文件系统);
3.那个时间的问题,我看了下bv_demo.c里面基准时间就是1900啊。
author: ywz    time: 2015-6-13 15:39
如果使用FTP来上传这个路径中的文件,应该怎么实现?
我已经调通了FTP上传了,但不能上传这个路径中的文件,其它的文件都是可以通过我编写的函数上传到FTP服务器的。

函数:int8_t UpLoad_AssignFile_To_FtpServer(char *name, char *path)
参数name:上传到FTP服务器的文件名
参数path:上传文件的路径
返回:0成功  1失败

例:
UpLoad_AssignFile_To_FtpServer("openatdll.dll", "/tmp/openatdll.dll");是可以实现上传文件/tmp/openatdll.dll的。
UpLoad_AssignFile_To_FtpServer("123.txt", "/00_00/record/02_20150613_112826.dav");这个就不行了,找不到路径文件。
author: liuwei    time: 2015-6-15 10:42
ywz 发表于 2015-6-13 15:39
如果使用FTP来上传这个路径中的文件,应该怎么实现?
我已经调通了FTP上传了,但不能上传这个路径中的文件 ...

您好!
第一个问题,为什么对/tmp/openatdll.dll的操作可以实现?
因为这是对标准文件系统的操作,所以调用标准ftp是没问题的。
第二个问题,为什么对我们录像文件的操作失败?
由于标准文件系统非常不适合用来存储录像文件,所以我们的设备上使用的是专门为录像存储设备设计的私有文件系统,这个系统并不支持标准FTP中对文件的读写接口。因此所有对我们的私有文件系统中保存的文件的操作都需要调用我们封装好的文件操作接口。所以你们现在想用ftp来实现录像下载功能就需要把ftp中对文件的读写接口修改成我们SDK中提供的读写接口。
author: liuwei    time: 2015-6-15 10:47
ywz 发表于 2015-6-13 15:39
如果使用FTP来上传这个路径中的文件,应该怎么实现?
我已经调通了FTP上传了,但不能上传这个路径中的文件 ...

相关接口函数定义在BVPU_sdk_FS.h中
author: ywz    time: 2015-6-15 16:20
liuwei 发表于 2015-6-15 10:47
相关接口函数定义在BVPU_sdk_FS.h中

[attach]111[/attach]

我想试一下你说的方法行不行得通的,但是怎么只是定义了头文件的接口,实际上并找不到此函数的?

author: besovideo    time: 2015-6-15 17:21
哦,说还需要我们专用DVRFS的库,这个你QQ找我索取吧
author: liuwei    time: 2015-6-15 17:26
ywz 发表于 2015-6-15 16:20
我想试一下你说的方法行不行得通的,但是怎么只是定义了头文件的接口,实际上并找不到此函数的?

这个SDK应该是没有开启文件操作权限,使用更新过的SDK即可。
author: ywz    time: 2015-6-16 10:37
更新了SDK后,发现编译错误:
[attach]112[/attach]

后来查找原因,发现Makefile文件的库路径改了,libBVPUsdk.so等库也更新了。
改回原来的库路径也行不通了:
[attach]113[/attach]

我想知道是否可以发一个最新对应Makefile的文件系统的库libs过来?
[attach]114[/attach]
author: astrol    time: 2015-6-16 11:46
这个Makefile是我们使用的,你们需要的库文件系统里都有,你需要修改Makefile,把相应库的路径改成你们的系统里库所在的路径!
author: besovideo    time: 2015-6-16 11:53
就是绝对路径的问题,根据你的电脑环境修改路径
author: ywz    time: 2015-6-16 14:28
[attach]115[/attach]
这个是怎么回事?路径我都已经修改好了,你们给的文件系统的库都全部包含进去了。这种现象是用了新的libBVPUsdk.so等库才出现的~
author: liuwei    time: 2015-6-18 16:28
ywz 发表于 2015-6-16 14:28
这个是怎么回事?路径我都已经修改好了,你们给的文件系统的库都全部包含进去了。这种现象是用了新的libB ...

忘了你们使用的之前的版本了,马上回滚到你们的版本重新出一个SDK给你们使用.
author: besovideo    time: 2015-6-18 16:31
哦,XXX,消耗我们这么多研发力量,你们也不采购,都没法给兄弟们发些奖金
author: ywz    time: 2015-6-23 11:36
liuwei 发表于 2015-6-18 16:28
忘了你们使用的之前的版本了,马上回滚到你们的版本重新出一个SDK给你们使用.

换上新的文件系统后编译通过了,但接着在运行的时候出现如下问题:
[attach]118[/attach]
应该是运行了BVPU_FS_Init();这条指令出现的问题,这是怎么回事?

author: ywz    time: 2015-6-23 11:38
besovideo 发表于 2015-6-18 16:31
哦,XXX,消耗我们这么多研发力量,你们也不采购,都没法给兄弟们发些奖金

木有办法呀,都还没做出来,做出来别人要了才有单,有单了才采购的~
author: liuwei    time: 2015-6-23 15:44
ywz 发表于 2015-6-23 11:36
换上新的文件系统后编译通过了,但接着在运行的时候出现如下问题:

应该是运行了BVPU_FS_Init();这条 ...

我们这边测试是ok的。
给出的推测是,你们应该是没有把新给你们的sdk库放入文件系统的/usr/lib目录中。
author: ywz    time: 2015-6-23 17:30
liuwei 发表于 2015-6-23 15:44
我们这边测试是ok的。
给出的推测是,你们应该是没有把新给你们的sdk库放入文件系统的/usr/lib目录中。

我在Makefile修改了一些东西,因为在你们给的最新的文件系统里面找不到有include的文件夹,所以我就只是添加了lib的库。

原来的:
[attach]122[/attach]

修改的:
[attach]121[/attach]

是因为我改的Makefile有问题而导致的?

author: liuwei    time: 2015-6-23 17:48
ywz 发表于 2015-6-23 17:30
我在Makefile修改了一些东西,因为在你们给的最新的文件系统里面找不到有include的文件夹,所以我就只是 ...


在给你的SDK文件目录下有这么几个文件  libBVPUsdk-arm-hisi-linux.so  libBVPUsdk-arm-hisi-linux.so.0.0.4  libBVPUsdk.so ,把这几个库用cp -rdfv 拷贝到你目前使用的我们的文件系统里的/usr/lib里面即可。你的问题不在于编译,而是程序运行的时候在文件系统里面找不到新的sdk的动态库。
author: ywz    time: 2015-6-24 09:15
liuwei 发表于 2015-6-23 17:48
在给你的SDK文件目录下有这么几个文件  libBVPUsdk-arm-hisi-linux.so  libBVPUsdk-arm-hisi-linux.so. ...

昨天我回复之前已经对比过了,md5sum都是一样的。

文件系统里的那3个库:
[attach]123[/attach]

SDK里的那3个库:
[attach]124[/attach]

author: liuwei    time: 2015-6-24 11:38
我这边测试依然没问题,我建议你检查下你的文件系统,可能是哪一次不小心把sdk库拷到了比如lib这样的目录下面,导致程序运行的时候优先使用的是老旧的sdk库。或者重新做一个新的文件系统。我这边用一个老旧的sdk替换到文件系统里面才会出现和你一样的问题。
author: ywz    time: 2015-6-24 17:29
liuwei 发表于 2015-6-24 11:38
我这边测试依然没问题,我建议你检查下你的文件系统,可能是哪一次不小心把sdk库拷到了比如lib这样的目录下 ...

我明白你的意思了,是需要更新设备里的文件系统吧?我之前只是更新了编译环境的文件系统~

我通过生成固件更新文件系统后,出现了不断重启的现象,不知道是不是要配合新的固件更新文件才行的?
[attach]127[/attach]
通过串口调试看到的现象如下:
[attach]126[/attach]
串口打印完上面的信息后设备就重启了。。。

我接着尝试使用原来的旧版文件系统只更新那三个SDK库,然后发现用远程登陆的方式运行程序时,出现如下现象:
[attach]125[/attach]

author: liuwei    time: 2015-6-25 09:50
ywz 发表于 2015-6-24 17:29
我明白你的意思了,是需要更新设备里的文件系统吧?我之前只是更新了编译环境的文件系统~

我通过生成 ...

cant resolve symbol 应该还是库的问题,你把新文件系统下面usr/lib里面库替换到老旧的文件系统里面,再更新下三个SDK库。替换之前先备份下。
author: ywz    time: 2015-7-9 11:30
liuwei 发表于 2015-6-25 09:50
cant resolve symbol 应该还是库的问题,你把新文件系统下面usr/lib里面库替换到老旧的文件系统里面,再 ...

已经尝试过几种不一样的方法了(1.新的BVS-W4020-VC-E.filesys.3515、旧的filesys.3515和旧的tools;2.新的BVS-W4020-VC-E.filesys.3515、将新的BVS-W4020-VC-E.filesys.3515文件夹里面的内容复制到filesys.3515下【除了文件ulmage】和旧的tools;3.旧的BVS-W4020-VC-E.filesys.3515里面usr/lib里面的库替换成新的BVS-W4020-VC-E.filesys.3515/usr/lib、旧的filesys.3515里面usr/lib里面的库替换成新的BVS-W4020-VC-E.filesys.3515/usr/lib和旧的tools;......),还是一样的问题(不断重启)。

我想问BVS-W4020-VC-E.filesys.3515和filesys.3515只是差了一个ulmage文件吗(你们只是给了新的BVS-W4020-VC-E.filesys.3515文件给我,另外的filesys.3515和tools文件夹我都是用旧的)?新的BVS-W4020-VC-E.filesys.3515能和旧的filesys.3515和旧的tools共用?
[attach]167[/attach]





欢迎光临 mobile CCTV,mobile surveillance,police body worn cameras (http://bbs.besovideo.com:8067/) Powered by Discuz! X3.2