想把硬盘录像机中的一段视频截取出来,然后公网访问有什么好的方案?

2022-05-20 11:34:39 +08:00
 vishun

可暂定海康的硬盘录像机,目前了解的:

不知道还有什么好的方案或现成的项目吗?

1058 次点击
所在节点    问与答
7 条回复
David1119
2022-05-20 11:53:04 +08:00
海康有 sdk ,各种语言都有,比较方便,可以直接访问 DVR
https://open.hikvision.com/
Elissa
2022-05-20 15:39:52 +08:00
我司是在一个服务器用定时任务,ffmpeg 录像 rtsp 流,然后保存到指定位置,你试下能不能把保存到指定位置换成 oss
vishun
2022-05-20 16:50:11 +08:00
@Elissa 谢谢提供方法,但这样就相当于每时每刻都要录制了吧,我是想只后期查找出状况的时间段内的视频,一直录制的话感觉感觉保存的太多了。
Elissa
2022-05-20 17:15:40 +08:00
@vishun 那就不需要你这边控制了,海康的硬盘录像机(NVR)在接入录像机后,直接用 NVR 后台管理所有摄像头,可以直接在 NVR 后台设置录像策略,比如有可移动目标进入提前划定的区域开始录像,或者直接只录像有东西动的画面
vishun
2022-05-20 17:47:17 +08:00
@Elissa 是我没把应用场景描述清楚,这个视频是要给外网其他人看的。比如有客户来这里装货,我这边记录装货的起止时间,客户回去后一点数目少了一袋,这个时候他就可以提交个申请,我这边就根据记录的时间截取视频,然后上传到 oss ,这样客户就能自己看视频来数下数量是否一致了,上面只是初步的设想。
i3x
2022-05-21 02:43:06 +08:00
最简单的方法。海康不知道,我用大华。硬盘录像机本身我只给配了非常便宜的二手旧硬盘。本质是一个小时一段的文件。一段结束之后,ftp 方式自动上传到 ftp 服务器。
ftp 服务器搞的空间够大,服务器本地存储发时间非常久。

你的需求用 apache+cgi 就可以了。用 bash 编写一个 cgi 脚本。当客户访问之后就调用 ffmpeg 用 copy 方式切视频。切出需要的片段。
如果视频长度有间隔,就先切出所有的片段为 ts 方式,再 copy 方式转 mp4 之类的。

我的快递发货就有这个功能,录像尽力保存。
1 、客户下单延迟 5 分钟打印面单和清单。
2 、打包员在工作台摄像头前出示面单,摄像头不止是对接录像机,还有个条形码识别。
3 、识别成功,打包台侧面小显示器显示画面,以及叠加层显示录像时间,就是实际打包开始时间。
打包结束之后就在旁边的电脑检查再次核对清单。无误就在小键盘输入订单尾号和个人密码。相当于进行了签名。
实际上在这个流程,仅仅是记录了订单号,开始结束时间,以及参与的员工。

如果疑似发货数量问题。输入订单号,脚本就按照要求去切割视频,切割好的视频自动上传到直链网盘。提交查询的客服就会得到邮件通知。这个链接就可以分享了。

我只是用了大华录像机,摄像头是第三方的工业那种。不是 usb 那种,就普通网络头。同价位在近距离场景清晰度更好一些。

硬盘录像机的格式没有那么神秘。不是加密了必须硬盘录像机才能解析。
很多看起来神秘兮兮的格式实际上拷到电脑上资源管理器里都出现预览图了。其他的转换工具现成的也很多。
vishun
2022-05-21 11:25:38 +08:00
@i3x 谢谢提供方法,但是 ffmpeg 没怎么用过,感觉从一堆视频中来根据起止时间来检索也挺麻烦的,不一定比直接通过 sdk 来取方便。发送到网盘确实原先没想到的,感觉也是一种方法。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/854136

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX