Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 06:23
· 44 commits to main since this release

🚀 RUSEON Core v2.0.0 — The Next-Gen Era: Edge WebGPU AI, WebCodecs & Zero-Copy Engine

We are thrilled to announce the release of RUSEON Core v2.0.0 — our largest and most significant milestone to date. This landmark release introduces the brand-new Next-Gen V2 UI, browser-side edge AI inference powered by YOLOv11 and WebGPU, ultra-low-latency WebCodecs streaming, and core media engine optimizations delivering true Zero-Copy and Zero-Allocation performance.

🌟 Key Highlights & Major Features

🎨 1. Next-Gen V2 UI by Default

  • Atmospheric Cyberpunk Aesthetic: Completely reimagined frontend featuring dark-cyber glassmorphism, ambient lighting, and high-contrast typography.
  • Modernized Login & Brand Navigation: Seamless authentication workflow, authentic vector branding, and real-time engine telemetry badges.
  • Full Multilingual Localization (i18n): Complete English (EN) and Russian (RU) localization across all views, modals, settings, and timeline players with dynamic switching via a sleek glass segmented pill.
  • Interactive Surveillance & Timeline: High-density surveillance grid, PTZ controls, clip export modal, and granular tag/folder management.

🧠 2. Client-Side Edge AI (Zero-Server-Cost WebGPU & WASM)

  • Zero-Server-Cost AI Inference: Real-time object detection (persons, vehicles, security objects) executes directly in the client's browser via ONNX Runtime WebGPU/WASM, offloading 100% of video AI compute from the server CPU/GPU.
  • YOLOv11-Medium Support: High-precision neural network model with tailored surveillance class filtering and confidence thresholding.
  • Hardware Profiler & Adaptive Tiers: Intelligent client capability profiling with automatic model tier selection (Nano / Small / Medium) and dynamic FPS scaling.
  • Singleflight CDN Download: Eliminated head-of-line blocking when multiple clients concurrently initialize and download neural network weights.

⚡ 3. WebCodecs Ultra-Low Latency Streaming

  • Hardware-Accelerated Decoding: Full support for the WebCodecs API, streaming raw NALU H.264/H.265 video packets over WebSocket with sub-frame glass-to-glass latency (<50 ms).
  • Per-Connection Memory Pooling: Dedicated WebSocket scratch buffers reused across frame iterations (0 memory allocations/sec during steady-state streaming).

🏎️ 4. Zero-Copy & Zero-Alloc Core Architecture (HLS Muxer)

  • Atomic Reference Counting (ARC): Re-architected MPEG-TS segment delivery using atomic ref-counting, completely eliminating defensive 1 MB memory allocations (0 B/op, 0 allocs/op).
  • Zero-Alloc M3U8 Playlist Generator: Fast in-place byte buffer formatting reducing playlist generation time by 8.3x (from 795 ns down to 98 ns) and eliminating 15 heap allocations per request.
  • 40.6% Memory Reduction Under Heavy Load: Heap allocation footprint dropped from 1,089 MB to 647 MB during 100-camera stress tests, with a 34% drop in segment delivery latency.

🛠️ 5. Full-Stack Load Testing Suite (cmd/loadtest)

  • Comprehensive built-in stress testing tool exercising RTSP ingest, HLS fMP4 delivery, WebRTC WHEP, REST API, gRPC AI, and disk storage simultaneously.

📊 Performance Benchmarks (100 Cameras @ 30 FPS + 330 Concurrent Clients)

Metric v1.4.0 (Before) v2.0.0 (After) Improvement
Heap Alloc (RAM Footprint) 1089 MB 647 MB 🟢 -40.6% memory reduction
Heap In-Use 1137 MB 702 MB 🟢 -435 MB saved
HLS Segment Latency (p50 / p95) 34.3 ms / 77.1 ms 25.0 ms / 51.0 ms ⚡ ~30–34% faster delivery
WebRTC WHEP Handshake (p50) 271.8 ms 181.1 ms 🚀 -33.4% faster connect
REST API Latency (p95) 7.54 ms 4.00 ms 🚀 1.88x faster (-47%)
RingBuffer Write 65.19 ns 18.62 ns 🏆 Zero-Alloc (0 B / 0 allocs)
AcquireSegment Throughput 7,500 ops/s 37,000,000 ops/s 🏆 Zero-Copy (0 B / 0 allocs)
Errors & Frame Drops 0 0 🎯 100% rock-solid stability

📦 Getting Started & Upgrade Guide

Pull via Docker

docker pull ghcr.io/rusegal/ruseon-core:v2.0.0
docker run -d \
  -p 8080:8080 \
  -p 8554:8554 \
  -p 8555:8555/udp \
  --name ruseon-core \
  ghcr.io/rusegal/ruseon-core:v2.0.0

Changelog

  • 0ae7f7c Merge branch 'dev'
  • 2e5632e Merge pull request #26 from RUSEGAL/dev
  • 3df9e73 chore(deps): run go mod tidy to update gorilla/websocket to direct dependency
  • 1547569 chore(i18n): set English (en) as default language and fallback
  • 179e77c docs(bench): update load test benchmark results reflecting Zero-Copy/Zero-Alloc performance gains
  • 0b5bbb1 feat(ai): add Hardware Profiler, adaptive model tier selection, and AI settings card
  • eece358 feat(ai): enable default surveillance class filtering and set 65% threshold for YOLOv11-Medium
  • cf8f0ca feat(ai): switch client-side browser AI detection to high-precision YOLOv11-Medium
  • 1aee395 feat(i18n): connect multilingual translations to Next-Gen V2 UI components
  • 397a41b feat(i18n): full multilingual localization for dashboard overview and all v2 modals
  • 3f4173d feat(ui): redesign login page with Next-Gen dark-cyber glassmorphism and i18n support
  • 1920252 feat(ui): relocate legacy UI switcher from top header to settings page bottom
  • 7d02e7c feat(ui): set Next-Gen V2 UI as default design variant
  • e9953f7 feat(ui,ai): introduce Next-Gen UI v2, WebCodecs streaming, and Browser-side WebGPU AI detection with ONNX Runtime
  • cf46452 feat: add full-stack load testing suite, WebRTC engine pooling, and API response caching
  • 89a8722 fix(hls): make watchdog dummy segment independent with clean buffer lifecycle
  • 98fba31 fix(hls): strengthen watchdog buffer retention and unify acquire-release lifecycle
  • 36d1911 fix(i18n): complete localization for all v2 views, modals, archive, timeline, and ai analytics
  • 411b219 fix(lint): resolve errcheck, gosec G115, and revive unused-parameter in ws.go
  • 9901650 fix(loadtest): use crypto/rand to eliminate gosec G404 warnings
  • 7a28869 fix(models): add verified HuggingFace CDN sources for yolo11m and yolo11s
  • a746d88 fix(web): resolve browser tab favicon serving and SVG viewport scaling
  • 50d292f perf(backend): use singleflight for concurrent AI model downloads without head-of-line blocking
  • 2d17c7e perf(hls, ws): implement zero-alloc playlist generator, zero-copy ARC segment serving, and WebSocket scratch buffer reuse
  • 2d4816b style(ui): redesign LanguageSwitcher with next-gen dark-cyber segmented pill design
  • 13671f9 style(ui): use authentic Logo component in sidebar and change label to NEXT-GEN