Video From an Embedded Camera Lags by Seconds: Building Low-Latency Streaming on Linux SoCs
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
- Use the SoC's hardware encoder and keep frames in hardware buffers from sensor to network.
- Tune encoder settings for low latency.
- Pick a protocol suited to the job, such as RTSP for recorders or WebRTC for browsers.
- Measure glass-to-glass latency end to end and remove buffering step by step.
- 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.