-
-
Notifications
You must be signed in to change notification settings - Fork 60
Type Video
A Video wallpaper (type value 3, Video) plays a local video file — an .mp4, .mkv, .webm, and many more — as your desktop background. Video is the type to reach for when you want a smooth, cinematic, looping scene with the lowest practical overhead: the default engine, MpvPlayer (libmpv), is hardware-accelerated and far lighter than a browser. This page covers accepted formats, the engines that can play video, hardware acceleration, audio, customization, and limits.

- What it is
- Accepted video formats
- Engines for video
- How to apply a video wallpaper
- Hardware acceleration
- Audio
- Customization
- Interactivity and performance
- Tips
- See also
In the manifest, a video wallpaper has "Type": 3 and a Source that names the local video file inside the wallpaper folder. When created through the Portal, the source video is copied in with an s_ prefix.
Depending on the selected engine, the video plays either directly through libmpv / the OS media stack, or wrapped in the built-in VideoContent.html page when a browser engine is used.
When you drag a video into the Create dialog, these extensions are accepted (plus anything matching Sucrose's VideoExtensionType filter):
.mp4 .avi .mov .mkv .ogv .flv .wmv .hevc .webm .mpeg .mpeg1 .mpeg2 .mpeg4
Note that actual playability also depends on the engine. MpvPlayer (the default) is the most format-robust because it bundles libmpv. Nebula relies on the codecs installed in Windows, so a format Windows cannot decode will not play under Nebula.
| Engine | Tech | Notes |
|---|---|---|
| MpvPlayer (default) | libmpv | Most format-robust; hardware-accelerated; ships its own libmpv-{arch}.dll. Requires Windows 10 1607+. |
| Nebula | WPF MediaElement (Media Foundation / DirectShow) |
Lightweight; uses OS-installed codecs; good when libmpv is undesirable. |
| WebView | Microsoft Edge WebView2 | Plays via VideoContent.html; heavier (Chromium). |
| CefSharp | Chromium Embedded Framework | Plays via VideoContent.html; heavier (Chromium). |
Change the engine in Settings → Wallpaper (the VideoPlayer selector in the Extensions area). See Choosing Engines.
- Open the Portal → Library.
- Import a video (drag a supported file, or use the Create dialog) or pick an existing video wallpaper. See Managing Library.
- Right-click the card and choose Use.
- (Optional) Switch to a different video engine first in Settings → Wallpaper.
Hardware acceleration is a global wallpaper toggle (Settings → Wallpaper → HardwareAcceleration, default on) and affects the video engines as follows:
| Engine | HardwareAcceleration ON | HardwareAcceleration OFF |
|---|---|---|
| MpvPlayer | hwdec=auto-safe |
hwdec=no |
| WebView |
--enable-gpu + --enable-gpu-vsync
|
--disable-gpu + --disable-gpu-vsync
|
| CefSharp |
enable-gpu=1 + enable-gpu-vsync=1
|
disable-gpu=1 + disable-gpu-vsync=1
|
| Nebula | n/a (WPF handles it) | n/a |
MpvPlayer's default config uses vo=gpu with a d3d11 GPU context and a low-latency profile; advanced users can override mpv settings via a user config file (uMpvPlayer.config). See Engine-MpvPlayer.
A video's audio track is governed by the global WallpaperVolume (0–100) setting and per-wallpaper mute. MpvPlayer maps volume 0–100 directly; Nebula's MediaElement uses a 0.0–1.0 scale (Volume / 100). You can mute a specific video from its Customize panel. Note that video audio is the soundtrack of the clip itself — it is not the same as the system loopback audio used for audio-reactive Web wallpapers.
The Customize panel depends on the engine:
-
MpvPlayer: video-zoom (−5..5), saturation, hue, sharpen, brightness, contrast, scale-blur, gamma, speed (0.25–2.5), mute, subtitle (
sid) toggle. - WebView / CefSharp: scale (zoom), saturate, hue-rotate, brightness, contrast, blur, grayscale, sepia, invert, mirror, animation effect (Flat/Flip/Pulse/Shake/Bounce/Wiggle), playbackRate, muted, caption.
Changes re-apply live. See Customizing Wallpaper.
📷 Screenshot needed: The Customize panel for a Video wallpaper rendered by MpvPlayer.
- Not interactive. Video wallpapers do not receive mouse/keyboard input.
- No live data. Video does not get the audio-reactive or system-status JS callbacks; those are exclusive to the Web type.
- Efficient. A hardware-accelerated MpvPlayer video is typically the lowest-overhead motion wallpaper. Auto Close/Pause behavior on lock, fullscreen, battery, sleep, and CPU/GPU/RAM thresholds is set by Performance Rules.
- Prefer MpvPlayer for unusual containers/codecs; switch to Nebula only if you want the lightest WPF-native player and your format is OS-supported.
- A short, seamlessly looping clip looks best — looping is controlled globally by WallpaperLoop (default on).
- To convert a heavy GIF into a far lighter wallpaper, re-encode it to
.mp4/.webmand import it as a video.
- Wallpaper Types — all six types and the engine mapping
- Engine-MpvPlayer — the default video engine
- Engine-Nebula — the lightweight WPF video engine
- Type-Gif — animated GIFs (consider converting to video)
- Performance Rules — automatic pause/close behavior
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