Loading
Cartoon MangoCartoon Mango
CASE STUDY — RUST REAL-TIME SYSTEMS

How We Built a Real-Time LED Content Management System in Rust for Live Sports

Brihmanas by InfieldSports — an AI-enabled LED perimeter control system powering BCCI/IPL venues with zero-latency sponsor playback, ICC-compliant blackouts, and complete audit logging.

Build a Real-Time System with Rust
RustReal-Time SystemsLED ControlSports TechBCCI/IPL
Brihmanas LED content management system — real-time perimeter board control for live sports
Brihmanas — Real-Time LED Content ManagementBuild a Real-Time System
The Challenge

Six Problems That Demanded a Rust Rewrite

01

Managing 500+ LED cabinets across perimeter boards, sight screens, and ribbon boards simultaneously during live matches — every pixel accounted for.

02

ICC-mandated pavilion end blackout before bowler run-up — millisecond-accurate timing required with zero margin for error during live broadcast.

03

Sponsor contracts demand proof-of-play with second-accurate timestamps for every ad displayed — legal liability for missed impressions.

04

Zero tolerance for black screens — system must fail-safe to prestored sponsor creatives instantly if any component fails during a live match.

05

Legacy C++/Qt system was single-threaded, suffering 3-4 crashes per tournament during peak load from undefined behavior and memory leaks.

06

4K content across multiple HDMI outputs without frame drops — each output layer independently controlled for pixel-accurate positioning.

Why Rust

Three Pillars That Made Rust the Only Choice

01

Zero-Cost Abstractions

Real-time frame rendering at <8ms per frame. No garbage collector means no random pauses during live broadcast. C++ gave us 45ms average with spikes to 200ms during GC-equivalent memory management.

02

Memory Safety Without Runtime Cost

The legacy C++ system had undefined behavior bugs causing mid-match crashes. Rust's borrow checker eliminates use-after-free, double-free, and data races at compile time. Zero crashes in 2 full IPL seasons.

03

Fearless Concurrency

Multi-HDMI output requires true parallelism. Rust's ownership model lets us run timeline engine, content pipeline, output manager, and compliance engine on separate threads without locks or race conditions.

Architecture

5-Layer System Architecture

Layer 1

Timeline Engine

Tokio async runtime, frame-accurate scheduling, timecode sync, Adobe Premiere-style linear timeline

Layer 2

Content Pipeline

Zone-based pixel distribution, multi-layer compositing, alpha channel support, content stitching

Layer 3

Output Manager

Multi-HDMI routing, independent layer control, XY pixel positioning, 4K60fps rendering

Layer 4

Compliance Engine

ICC blackout rules engine, auto-failover to prestored creatives, rule-based triggering

Layer 5

Audit System

Every frame logged with timestamp + zone + content ID, auto-generated sponsor reports, email distribution

Key Features

Built for Live Broadcast Reliability

Timeline-Based Playback

Adobe Premiere-style linear timeline with timecode, slider play bar, and pre-programmed content scheduling for entire match durations.

Zone Creation

LED cabinet pixel math with auto-adjust pixel distribution and zone sets management for complex perimeter board configurations.

Content Stitcher

Pixel distribution by zones, title creation, content resizing, and real-time content replacement without playback interruption.

Multi-Layer Output

Each layer routes to separate HDMI output with adjustable Left/Top XY positioning and synchronized layer control.

Cabinet Numbering

Alternating colors with animation, outline boxes, dual color pickers, and font size control for LED cabinet identification.

Sun Shade Control

Gradient brightness per zone, angled shade at start/end positions, and panel-based shade zones for outdoor visibility.

Blackout Overlays

6+ overlay layers with pixel-level positioning, toggle buttons for enable/disable/swap to meet ICC compliance instantly.

Match Timer Clock

API-syncable timer with VS card + brand logo, customizable font/color/size, and real-time data linking.

<8ms

Frame Latency

vs 45ms legacy

0

Mid-Match Crashes

2 full seasons

500+

LED Cabinets Managed

4K60fps

Multi-Output

Results

Before vs After: C++ Legacy to Rust

Before (C++ Legacy)

  • 45ms average frame latency
  • Memory leaks after 4-hour sessions
  • 3-4 crashes per tournament
  • Manual blackout timing (human error)
  • No audit trail for sponsor accountability

After (Rust)

  • <8ms average frame latency
  • Zero memory leaks — ownership model
  • Zero crashes in 2 full IPL seasons
  • Automated ICC-compliant blackouts
  • Complete audit trail with second-accurate timestamps
Sponsor Accountability

Automated Match Reports for Every Stakeholder

Auto-generated reports sent to all stakeholders and sponsorship managers after every match — with a review-before-send option for match organizers.

Ad Timing Precision

Start and end time of each ad displayed, accurate to the second. Contractual proof-of-play for every sponsor.

Match & League Totals

Total number of ads played per match and per league. Ad count per total playlist duration for billing accuracy.

Crucial Moment Tracking

Ads displayed during crucial moments — goals, penalty kicks, team-wise goal reports for premium sponsor placements.

Tech Stack

What Powers Brihmanas

Language

Rust (stable channel)

Async Runtime

Tokio (multi-threaded)

Graphics

wgpu with Vulkan backend

Video Decode

FFmpeg bindings via ffmpeg-next crate

GPU Acceleration

NVIDIA CUDA for decode

Formats

MOV, MP4, H.264, Apple ProRes, AVC, JPG, PNG, Alpha

Desktop UI

Tauri (Rust-native)

Reliability

Main + Backup server auto-sync

"Cartoon Mango was great to work with. They improvise and provide 24X7 support."
— Gaurav Saxena, Media Manager, BCCI

Building Real-Time Systems? Let's Talk Rust.

Share your real-time challenge. We'll respond with an architecture plan and performance projections — not a sales pitch.

  • Real-time systems architecture review
  • Timeline and cost estimate
  • Engineering-first conversation, no fluff

Your information is secure. We never share your data.

FAQ

Common Questions

  • Rust gave us C++-equivalent performance with compile-time memory safety. The legacy C++ system had undefined behavior bugs that caused mid-match crashes — use-after-free and data races that only manifested under peak load. Rust's borrow checker eliminates these entire categories of bugs at compile time, while maintaining the same zero-cost abstractions and direct hardware control that C++ provides. After switching, we achieved zero crashes across 2 full IPL seasons.

We Have Delivered 100+ Digital Products

Previous case study
IPL Fantasy League

Sports and Gaming

IPL Fantasy League
Innovation and Development Partners for BCCI's official Fantasy Gaming Platform
Kotak Mahindra Bank

Banking and Fintech

Kotak Mahindra Bank
Designing a seamless user experience for Kotak 811 digital savings account
News Laundry

News and Media

News Laundry
Reader-Supported Independent News and Media Organisation
Next case study