← back to work
Read the post →
CASE STUDY
IN PROGRESSONVIF surveillance framework for Android/JVM
Started: May, 2026Target: Q4 2026Role: Architect and Lead Engineer

Overview
A streaming library for ONVIF-compliant IP cameras, built to run four simultaneous Wi-Fi camera feeds on the same constrained hardware that runs the rest of the platform. It's the project I'm actively building right now.
The challenge
Cheap, embedded hardware has no room for four decoded video streams running at once, and ONVIF cameras vary wildly in supported stream profiles, codecs, and discovery behavior. The library needs to find cameras reliably (WS-Discovery and IP scanning), onboard and poll them, negotiate a stream profile that fits the device's budget, and still leave room for two-way audio.
Stack
KotlinJVMWSDiscoveryONVIFFFmpegAndroid NDKStreaming
RELATED JOURNAL ENTRY
I continue to struggle with ONVIF video streaming
It's not as simple as it might seem at first glance. There's a huge amount of stuff I never even knew about throughout my entire career.