In this episode of the Elixir Mentor Podcast, I sit down with Daniil Popov to discuss CyanView, a system that brings Phoenix LiveView to embedded devices for professional video production. We examine the challenges of creating unified camera control systems that work across 27+ different protocols from manufacturers like Sony, Canon, and RED.
Daniil shares how CyanView enables real-time camera shading for major broadcast events including the Olympics, Super Bowl, and Le Mans races. We discuss the technical implementation of LiveView on resource-constrained 32-bit ARM processors, managing distributed systems with MQTT, and solving complex problems like socket reconnection and performance optimization on embedded devices.
Our conversation covers the unique advantages of using Elixir for embedded systems, from binary pattern matching for protocol reverse engineering to supervision trees for fault tolerance. Daniil explains how they utilize nearly 80% of Elixir's capabilities—far more than typical web applications—including NIFs for C integration, custom FPGA modules for color correction, and practical approaches to creating responsive interfaces on limited hardware.
The episode wraps up with discussion of the future of camera control technology, the challenges of working with proprietary protocols, and why Elixir's actor model and distributed computing capabilities make it uniquely suited for this complex problem space. Whether you're interested in embedded systems, LiveView applications, or the intersection of hardware and software, this conversation offers valuable perspectives on pushing Elixir beyond traditional web development.
Resources Mentioned:
- CyanView:https://cyanview.com/
- Phoenix LiveView Documentation
- MQTT Protocol and Mosquitto
- Burrito and Tauri for Binary Compilation
Connect with Daniil:
- X/Twitter:https://x.com/mrpopov_com
SUPPORT ELIXIR MENTOR
- Elixir Mentor:https://elixirmentor.com/?utm_source=elixir-mentor