Video From an Embedded Camera Lags by Seconds: Building Low-Latency Streaming on Linux SoCs

Nikhil Robinson · · 2 min read

Security, inspection and robotics cameras need live video, not a slideshow from seconds ago. How I cut streaming latency.

The problem clients bring: "Our camera stream is seconds behind reality and the board runs hot. For our use case that is unusable."

What is really going wrong

  • Video is encoded in software instead of on the SoC's hardware encoder.
  • Frames are copied between several buffers before encoding.
  • Large buffers and encoder settings tuned for quality, not latency.
  • A streaming protocol or player that buffers heavily by default.

How I solve it

  1. Use the SoC's hardware encoder and keep frames in hardware buffers from sensor to network.
  2. Tune encoder settings for low latency.
  3. Pick a protocol suited to the job, such as RTSP for recorders or WebRTC for browsers.
  4. Measure glass-to-glass latency end to end and remove buffering step by step.
  5. Check CPU load and temperature so the stream stays stable over long runs.

What the client gets

Near real-time video at a fraction of the CPU load, which often also fixes overheating and frees room for on-device AI.