我的方案:ffmpeg + alist +rclone 可直接保存到onedrive等网盘
我用的摄像头是USB摄像头,对没错就是普通电脑聊天的那个摄像头,型号是海康威视dse12
至于为什么用USB摄像头,是因为前段时间掏了个n5095,放在客厅,然后发现有个吃灰多年的摄像头,想着能不能折腾,有些人是那种专业的家庭监控,我手上没有,不知道本方案实不实用于你们,但是支持Onvif的可以一试。
本方案开始:
第一步:docker 先搭建alist,然后配置自己的网盘。(安装搭建步骤省略,自行百度)
第二步:rclone+fluse 通过webdav方式挂载alist。(步骤百度)
最后的挂载命令可参考我的:nohup rclone --vfs-cache-mode writes mount alist:/ /alist &
第三步:安装ffmpeg。
(1)如果你和我一样是USB摄像头,最后保存的命令参考我的,cd到需要保存的目录:nohup ffmpeg -hide_banner -f alsa -ac 1 -ar 16000 -i sysdefault:CARD=Camera -s 640*480 -i /dev/video0 -vf “drawtext=font*20:fontfile=lazy.ttf:text=‘%{localtime\:%Y\-%m\-%d %H-%M-%S}‘“ -f segment -segment_time 600 -reset_timestamps 1 -strftime 1 output_%Y-%m-%d_%H-%M-%S.mp4 &
其中sysdefault:CARD=Camera 是声卡,/dev/video0是摄像头
可通过arecord -L查询声卡, ls /dev/video* -l查询摄像头
(2)如果是Onvif协议摄像头,找到自己rtsp的推流地址,保存的命令参考我的。(不确定行不行,自己试试吧)
cd到需要保存的目录:ffmpeg -rtsp_transport tcp -i rtsp://127.0.0.1:1935/stream/example -c copy -f segment -segment_time 60 stream_piece_%d.mp4
我没试过,自己折腾吧
附上我的onedrive