Pi-based rear view mirror for vehicles using IP cameras.
About a year or two ago I started building a rear view mirror for the Sprinter camper i'm dragging my heels on building. The system uses a Pi4b, a Waveshare 11.9" DSI touchscreen, and a WittyPi UPS for graceful shutdown.
The original implementation used MPV to display the video feeds, and allowed the user to pan the video vertically by moving the MPV window within the desktop environment in Y whilst a script running via a systemd service restricted movement in X and initially positioned the window. This worked, but wasn't ideal. X11 is no longer favoured and I'd rather ditch the desktop environment completely.
I'm working on this new implementation using SDL2 & GStreamer. My vehicle is outfitted with four cameras, three external on the roof rack and one internal acting as a dashcam. These are cheap SSC338Q based IP cams flashed with OpenIPC. Each connects to a Teltonika PoE switch running off 12v power. I have an old laptop motherboard and battery (XPS 9560) onboard running Frigate and Home Assistant in docker for recording. HA knows when the vehicle ignition is on, and disables motion detection, and therefore object detection, in Frigate. Frigate is configured for constant recording giving me a 24/7 360 degree "dashcam" with Frigate's smart features when stationary. A cellular modem provides for remote access.
The rear view mirror does not record, but acts solely as a display for the rear and side cameras. The user can switch between cameras by tapping on the edges of the screen, or the top and bottom centres to pan vertically.