日常折腾 --- AX206 屏 + lcd4linux 变身摄像头监控小屏
之前写过一篇 编译 LCD4Linux 增加 Image,VNC,X11 驱动 的文章,这次我把 LCD4Linux 用在了 FriendlyWrt 小主机上,配合 ax206 屏实现了一个实时监控小屏。
背景
我还有一块 ax206 小屏,480x320 分辨率,之前一直没想好怎么用。想着能不能把监控画面实时显示在小屏上,放在桌面上随时看看门口的情况。
思路
整体思路很简单:
- ffmpeg 从 摄像头 的 RTSP 子码流中每隔 1 秒截取一帧图片
- lcd4linux 的 Image Widget 加载这张图片并显示到 ax206 屏
- 通过 procd 服务管理,实现自动启动和异常重启
这里有个关键问题:ffmpeg 写文件和 lcd4linux 读文件如果直接操作同一个文件,会出现读写冲突导致小屏显示闪烁的问题。于是需要一个”中转”机制。
解决方案
使用两个服务:
cam_ffmpeg:负责从 RTSP 流截取图片到/tmp/cam.pngcam_watch:监听文件变化,将图片复制到/tmp/cam_copy.png
lcd4linux 只读取 /tmp/cam_copy.png,避免了读写冲突。