Home Open Source Article

JPEG Screenshots Beat Custom H.264 Pipeline on Enterprise Networks

TL;DR

Helix replaced a three-month WebCodecs/H.264 streaming system with simple JPEG polling for better reliability on constrained networks.

Key Points

  • Enterprise networks block UDP/WebRTC; HTTPS port 443 only forces TCP-only solutions
  • H.264 pipeline suffered 30-45s latency on poor connections due to TCP buffering and keyframe dependencies
  • JPEG fallback: 100-150KB per frame vs 200-500KB for H.264 keyframes, with zero decoder state corruption
  • Adaptive hybrid: 60fps H.264 on RTT <150ms, automatic fallback to 2-10fps JPEG polling with user-controlled retry

Why It Matters

This is a practical case study in graceful degradation and real-world constraints defeating elegant engineering. For developers building remote desktop/streaming tools, it demonstrates that simple, reliable solutions often outperform complex ones when networks are unreliable—a lesson applicable to any infrastructure dealing with enterprise firewalls or poor connectivity.
View Helix on GitHub

Source: blog.helix.ml