ChimeraCast is a Windows desktop application for professional multistreaming that I’ve been developing. It combines a modern WPF studio interface with a local ASP.NET Core backend and a Docker-based streaming stack for maximum flexibility and performance.
// ARCHITECTURE_OVERVIEW
The application uses a multi-layer architecture designed for reliability and extensibility.
Studio Interface (WPF/MVVM): The main interface includes scenes and sources management, an audio mixer, and status indicators. Built using the MVVM pattern for clean separation of concerns and testability.
Encoder Pipeline: FFmpeg-based streaming and recording with NVENC hardware acceleration when available. The pipeline handles encoding, multiplexing, and output to multiple destinations simultaneously.
Display Capture: Windows Graphics Capture (WGC) for display and window previews with automatic GDI fallback for compatibility. The UI clearly indicates which capture method is active.
Local Backend: ASP.NET Core service handling channels, stream keys, diagnostics, and real-time updates via SignalR. This keeps the streaming configuration separate from the UI logic.
// DOCKER_INFRASTRUCTURE
The streaming infrastructure runs in Docker containers for easy deployment and isolation.
nginx-rtmp: Core RTMP server with HLS output for web playback. Handles ingest from the studio application and distribution to CDNs or direct viewers.
Optional stunnel: RTMPS support for secure streaming to platforms that require it. Configured as an optional profile for when SSL encryption is needed.
SRS (Simple Realtime Server): SRT and WHIP protocol support for low-latency streaming and WebRTC integration. Enables professional broadcast workflows.
// TARGET_PLATFORM
The application targets .NET 8 and Windows 10/11, taking advantage of modern Windows APIs while maintaining broad compatibility. The WPF interface provides native Windows look and feel with smooth GPU-accelerated rendering.
// Technology: C# | WPF | ASP.NET Core | Docker | FFmpeg | SignalR

Leave a Reply