本帖最后由 ciasdmxhxjjpd@c 于 2023-12-13 18:55 编辑
RT
基本逻辑是,当监测到摄像头有变化(有人,或白天夜晚切换),触发nodered 执行 ffmpeg 录像1分钟。避免长时间,无意义录制。
### 1. homeassisant 里配置一个 二进制传感器。
binary_sensor:
- platform: ffmpeg_motion
input: -rtsp_transport tcp -i rtsp://admin:[email protected]:554/h264/ch1/main/av_stream
name: ezviz motion
changes: 10
reset: 60
extra_arguments: -filter:v "crop=100:100"
### 2. 下载编译好的ffmpeg 静态文件(可选,有条件的自己编译,或从源里安装)
https://johnvansickle.com/ffmpeg/
存储挂载 在 /mnt/monitor,把ffmpeg 放进去。
/dev/sda3 125.9G 112.2M 119.3G 0% /mnt/monitor
### 3. 映射到 nodedred 容器里
### 4. nodered 安装 插件 @kevingodell/node-red-ffmpeg
### 5. 配置
### 6. 小 tips
由于插件不支持 配置输出文件名。我们的目的是输出一个以时间为文件名的mp4文件。
mv ffmpeg ffmpeg-bak
#!/bin/sh
/mnt/ffmpeg-bak $@ -y /mnt/$(TZ=UTC-8 date +\%m\%d\%H\%M).mp4
### 7.结果
root@OpenWRT:/mnt/monitor# ls
12131416.mp4 12131420.mp4 12131421.mp4 ffmpeg ffmpeg-bak
root@OpenWRT:/mnt/monitor#
|