-
-
Notifications
You must be signed in to change notification settings - Fork 60
Engine Nebula
Sucrose.Live.Nebula is Sucrose's lightweight video engine, built on the WPF MediaElement control. It plays Video wallpapers only, using Windows' built-in media stack (Media Foundation / DirectShow codecs installed on the system) rather than a bundled media library. Nebula is the alternative video player to choose when libmpv (MpvPlayer) is undesirable — it has no large native dependency, but it can only play formats that the operating system itself supports. This page covers the technology, supported type, playback control, codec dependency, and when to use it.
- At a glance
- Technology
- Supported wallpaper types
- Playback control
- Codec dependency
- When to use Nebula
- Strengths and limitations
- See also
| Property | Value |
|---|---|
| Assembly | Sucrose.Live.Nebula.exe |
| Tech | WPF MediaElement (SSENMI.MediaEngine) — Windows Media Foundation / DirectShow |
| Supported types | Video |
| Default for | (none — MpvPlayer is the default video engine) |
| Preprocessor symbols |
ENGINE, LIVE_NEBULA
|
| Runtime requirement | OS media codecs (no bundled native binary) |
| Interactivity | No (pure media playback) |
| Audio/system-data injection | No |
Nebula is "Nebula" only as an internal codename — under the hood it is a plain WPF MediaElement (SSENMI.MediaEngine). It renders through Windows' built-in media stack (Media Foundation / DirectShow), so it relies entirely on the codecs already installed on the system. It has no native dependency beyond Skylark, making it the lightweight alternative to MpvPlayer for video.
Nebula renders Video only — its Configure() switch has just the SSDEWT.Video case. It cannot render Gif, Url, Web, YouTube, or Application. See Type Video.
Helper/Video.cs provides the control surface:
- Pause / Play / Stop.
-
SetLoop— rewinds toTimeSpan.Zeroand replays when the clip ends. -
SetVolume— computed asVolume / 100, becauseMediaElement.Volumeis a 0.0–1.0 scale (not the 0–100 scale MpvPlayer uses).
Because Nebula uses the OS media stack, any format Windows cannot play will not play in Nebula. There is no bundled decoder. If a video does not appear, the most likely cause is a missing system codec — MpvPlayer (which bundles libmpv) is far more format-robust and is the better choice for unusual containers or codecs. See Engine MpvPlayer and Troubleshooting Common.
Choose Nebula when:
- You want a video wallpaper with the smallest engine footprint (no ~80–117 MB libmpv binary).
- Your video uses common, OS-supported formats.
- You specifically want to avoid the native libmpv player.
Otherwise, the default MpvPlayer is recommended for video because of its broader codec coverage. Switch the Video engine on the Settings → Wallpaper page (VideoPlayer selector). See Choosing Engines and Settings Wallpaper.
Strengths
- Very lightweight — no bundled native binary, no large runtime download.
- Simple, reliable playback for common, OS-supported video formats.
Limitations
- Plays Video only.
- Depends entirely on OS-installed codecs; formats Windows cannot decode will not play.
- No interactivity and no audio-reactive / system-status injection.
- Less format-robust than MpvPlayer.
Getting Started
- Installation
- System Requirements
- Quick Start
- Portal Interface Tour
- Updating Sucrose
- Uninstalling Sucrose
Wallpaper Types
Using Sucrose
- Managing Library
- Using Store
- Customizing Wallpaper
- Multi-Monitor
- Wallpaper Cycling
- Choosing Engines
- Performance Rules
- Theme, Tray & Startup
- Discord Rich Presence
Settings Reference
- Settings Overview
- Settings: General
- Settings: Personal
- Settings: Performance
- Settings: Wallpaper
- Settings: System
- Settings: Other
- Settings: All Keys
Creating Wallpapers
- Create Overview
- Create: Step By Step
- Create: Package Format
- Create: Customization Controls
- Create: JS Bridge
- Create: Audio API
- Create: System API
- Create: Property Listener & Filters
- Create: Web Architecture
- Create: Compatibility
- Create: Example Wallpapers
- Create: Sharing & Publishing
Engine Reference
- Engines Overview
- Engine: MpvPlayer
- Engine: VlcPlayer
- Engine: WebView
- Engine: CefSharp
- Engine: Nebula
- Engine: Vexana
- Engine: Xavier
- Engine: Aurora
- Engine Comparison
Automation & Command Line
Architecture & Internals
- Architecture Overview
- Lifecycle
- Commandog Dispatcher
- Single-Instance Mutexes
- IPC
- Backgroundog Service
- Crash Reporting
- Update Internals
- Property Service
- Undo Internals
Data, Files & Diagnostics
Building & Contributing
- Building From Source
- Repository Layout
- Shared Item Projects
- Code Conventions
- Preprocessor Symbols
- Publish Pipeline
- Bundle Installer Internals
- Extending Sucrose
- Contributing
- Translating with Localizer
- Localization Coverage
- Security Policy
- Privacy & Telemetry
Help & Support