Playback, composition, effects, and export

Cross-platform Media

Keep decoded frames, timed state, effects, editing, and presentation on one typed GPU path.

Explore source
Parent systemProGPU
StatusPreview
Modules6
RepositoryProGPU/ProGPU.Media

Media packages make timing, provider ownership, GPU surface sharing, effects, editing, and delivery explicit so playback can remain portable without flattening every platform into the same implementation.

  1. 01

    Typed playback, timing, tracks, cues, and diagnostics

  2. 02

    Native Windows, Linux, Apple, Android, and browser providers

  3. 03

    WebGPU effects, thumbnails, 2D/3D scenes, and audio processing

  4. 04

    Non-destructive editing, project serialization, and native export

From intent
to working system.

01

Provider

Native decode, capture, audio, texture-sharing, and export implementations stay behind typed contracts.

02

Session

Playback, playlist, track, cue, timing, diagnostics, and audio state remain framework-neutral.

03

Compose

Decoded surfaces flow through retained 2D/3D scenes, fused WebGPU effects, overlays, and thumbnails.

04

Deliver

WinUI controls, native hosts, editing projects, and export coordination reuse the same media graph.

Adopt this
capability.

Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.

01 · Install
Terminal
dotnet add package ProGPU.Media --prerelease
dotnet add package ProGPU.Media.Scene --prerelease
02 · Use · csharp
QuickStart.cs
var player = new MediaPlayer(provider);
player.Source = MediaSource.CreateFromUri(source);
await player.PlayAsync();
scene.Attach(player, effects);

Use one layer.
Compose the rest.

Read the module beside the complete system.

The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.

ProGPU

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…