top of page
Neelansh Sethi

Neelansh Sethi

Senior Software Engineer - Invideo

Hi, I’m Neelansh. I’ve been a software engineer for a little over 6 years now, and my work has mostly been with product-based startups where you get to wear many hats and figure things out on the fly. Most recently, I’ve been part of the InVideo mobile team, working hands-on with the Rust video engine that powers our Flutter apps on Android and iOS. Before that, I worked with Bounce, a shared mobility startup, and Backstage, where I built and scaled mobile products in fast-paced environments. I also really enjoy being part of the developer community, learning from others, and sharing back whatever I can along the way. Socials: GitHub: https://github.com/Neelansh-ns X: https://x.com/neelansh_ns LinkedIn: https://www.linkedin.com/in/neelanshsethi

Building a cross‑platform native video engine in Rust for Flutter

This session walks through how we embedded a single Rust video engine across iOS and Android in a production Flutter app. We'll cover Flutter's PlatformView to host a native GL surface, MethodChannel to control the engine (passing events), and 'flutter_rust_bridge' to stream events from Rust back to Dart. On the native side, the engine uses a unified render loop (Notan Mobile) while integrating platform decoders: Android NDK 'MediaCodec', iOS 'VideoToolbox', and Web 'WebCodecs'. We'll show how we integrate Rust with Flutter for a smooth video-playing experience. We'll close with a quick demo of a Flutter app driving Rust and receiving live events. Key takeaways for the audience: • How to structure a single Rust engine for Android/iOS/Web. • Practical Flutter integration: 'PlatformView' for native GL, 'MethodChannel' for commands, FRB for event streams. • Decoder integrations: Like 'MediaCodec' (NDK), 'VideoToolbox', 'WebCodecs', feeding a common render path. • Simple UI overlays with egui: drawing controls/overlays inside Notan's render loop
bottom of page