Mobile live video with Linux, EVDO and a custom protocol
Summary
Kyle Vogt describes the home-built Justin.tv backpack that reliably streamed live video to the net over bundled mobile connections. Four modems close together at times produced up to fifty percent packet loss. Together the system reached about 1.2 megabits per second of uplink.
Ideas
- A small Linux computer connects the camera, MPEG-4 encoder and mobile modems.
- Several EVDO connections share the video stream for higher total throughput.
- A custom real-time protocol reacts to high packet loss and fluctuating connections.
- Connection balancing distributes data across several simultaneously active modems.
- Swappable batteries allow long operation without a complete interruption.
- Standard components make fast prototypes possible despite unusual requirements.
Insights
- Unreliable networks require error handling close to the application instead of simply adding bandwidth.
- Mobile systems optimise energy, weight, throughput and reliability at the same time.
- Early hardware prototypes may be expensive if they remove central uncertainties.
- Custom protocols only pay off for requirements outside established standards.
Facts
- The first version used a VIA EPIA mini-ITX computer.
- A 14.8-volt battery powered the system for about eight hours.
Recommendations
- Simulate packet loss and connection changes during development.
- Log throughput, latency and energy consumption per radio link.
- Only replace special parts once a working end-to-end prototype exists.
References
Links to the original source and the Web Archive open in a new tab.