Work Shop floor

A cooler camera wall that checks its own picture

The camera wall kept freezing and overheating its kiosk PC. I moved rendering to a workstation that sends one video stream to the kiosk, and added checks for frozen pictures and missing camera feeds.

IP security camera
IP security camera Photo: Bungle, CC BY-SA 4.0

Results

74 °Ckiosk temperature, down from 95–99 °C
37 sfrom cold boot to a live wall
24cameras with automated health checks

The problem

The kiosk decoded camera feeds in software because its browser would not use hardware decoding. It overheated, throttled and shut down. Camera tiles could stop showing live video while the browser stayed running.

What I did

  • A relay: a workstation renders the wall off-screen, encodes it on its graphics card and streams it over the network. The kiosk only plays one video, with hardware decoding.
  • A watchdog every 5 minutes that counts camera tiles actually rendering frames, compares screen grabs for a frozen picture, and backs off while the camera server is down.
  • Health checks on every camera and all 3 recorders, including saved footage. A shared reboot lock prevents overlapping restart attempts by the watchers.
  • A locked-down kiosk that runs weekday business hours, blanks at lunch and powers back on after an outage.
Camera wall relay Camera feeds from 3 recorders go through the camera server to a workstation, which renders the 24-tile wall off-screen and hardware-encodes it as one stream. The kiosk PC only plays that stream with hardware decoding, which reduced its temperature from 95–99 °C to about 74 °C. A watchdog on both machines checks every 5 minutes that tiles are live and the picture is moving. Kiosk PC: 95–99 °C → about 74 °C Cameras 3 recorders Camera server live feeds Workstation renders + encodes Kiosk PC plays one stream Wall display business hours Watchdog every 5 minutes checks tiles are live and the picture moves
The workstation renders and encodes the wall, so the kiosk PC only plays one stream.

What I took from it

The browser could stay running while the camera tiles were frozen. I added picture checks and traced the heat problem to software decoding on the kiosk PC.

Privacy