MediaPlayer for Avalonia

GPU-accelerated media playback for Avalonia with no airspace gap, native platform backends, FFmpeg and LibVLC fallback modes, and reusable media workflow services for trim, transform, export, and recording operations.

What This Project Ships

No-airspace video rendering

`GpuMediaPlayer` keeps video inside the Avalonia compositor and avoids `NativeControlHost` gaps by rendering through the GPU path.

Backend selection

macOS and Windows can prefer native playback providers while FFmpeg and LibVLC remain available as compatibility and diagnostics paths.

Workflow services

The workflow layer exposes trim, split, combine, export, transform, remove-audio/remove-video, and recording operations behind a reusable service interface.

Documentation Map

Getting Started

Install the packages, put `GpuMediaPlayer` into a window, and register workflow services.

Open section

Concepts

Understand layering, backend selection, rendering, native provider modes, and audio/video sync responsibilities.

Open section

Guides

Apply QuickTime-style shell patterns, diagnostics, backend switching, and workflow composition in your own app.

Open section

Reference

Package map, native provider modes, docs pipeline details, and repository-specific reference material.

Open section

Primary Packages

Package Purpose
MediaPlayer.Controls Avalonia control layer with GpuMediaPlayer, audio/device APIs, GPU rendering integration, and workflow services.
MediaPlayer.Native.Abstractions Provider selection contracts, diagnostics, environment knobs, and backend-neutral models.
MediaPlayer.Native.Interop Managed interop catalogs used to discover and select runtime playback and workflow providers.

Start With These Pages

Repository