+38099 200-3839
 
: TVeez Украина / RTM Ukraine
: 2008
: WPF (XAML)
: Windows
: 400 hr ч.

Check our services

Indoor Player

Development of a professional, high-performance platform for centralized management of a distributed network of advertising screens, media facades, and outdoor LED panels.

Problem and Initial Objectives

The initial customer requirements focused on the implementation of independent media players controlled by XML configuration files. The project involved the creation and seamless integration of the following key components into a single broadcast grid:

  • Video Player: A module for looping heavy commercial high-resolution videos (MPEG2/4, AVI, WMV) and graphics.
  • WPF Clock: A customizable time widget for keeping audiences informed.
  • Ticker: A module for smoothly broadcasting text news and announcements with dynamic data loading from local or remote XML/RSS resources.
  • Video Capture Module: A component for capturing and displaying live streaming images from external sources (TV tuners or cameras) directly within the ad layout.

At the stage of individual component testing, the problem seemed solved. However, practice is a stubborn thing. Once all these players were running simultaneously on a single machine to form a complex advertising screen, the requirements changed dramatically.

Typical solutions couldn't handle the parallel load: micro-delays and black screens occurred between video playbacks, the processor was overloaded to 100%, and system memory was rapidly leaking, which led to equipment freezing at remote points.

Implemented solution

Instead of overlaying temporary software We completely redesigned the system architecture with a focus on maximizing the performance of native WPF components (XAML). We've delved deep into the root of the resource optimization problem:

  • Zero Latency: We rewrote the background caching and content preloading logic, completely eliminating pauses and flickering when changing playlists and transitioning from one heavy video to another.
  • CPU Optimization: We switched video stream rendering to hardware acceleration on the video card, reducing the load on the CPU to minimal values.
  • Memory Leak Prevention: We implemented strict lifecycle control for objects and media contexts. The system is capable of continuous operation 24/7/365 without accumulating garbage in RAM.

Result

We successfully delivered the project, significantly exceeding the client's stringent technical expectations for software stability and energy efficiency. The WPF controls we developed have proven themselves to be reliable in real-world conditions.

Today, our solution reliably manages broadcasts on more than 500 advertising monitors and media facades across Ukraine.