Open-source project
huynhsontung/Screenbox avatar
huynhsontung/Screenbox

Screenbox: a LibVLC media player for Windows and Xbox

LibVLC-based media player for the Universal Windows Platform

4,460 stars210 forksC#GPL-3.0

At a glance

What is it?
Screenbox is a UWP media player built on LibVLCSharp, distributed through the Microsoft Store and winget. It targets Windows 10 1903 and up, Windows 11, and Xbox consoles, and it is not the same kind of tool as VLC or mpv.
Who is it for?
Adopt Screenbox if you want a Fluent-styled player for Windows 10 1903 or later, Windows 11, or an Xbox console, and you are fine with installation through the Microsoft Store or winget. Do not adopt it if you need macOS, Linux, or Android, because the README lists only Windows and Xbox.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Screenbox is for, and who it leaves out

Screenbox is a video player for Windows. The README describes it as "a modern video player that cares about performance and ease of use on a wide range of device types," and the supported targets are Windows 10 version 1903 and up, Windows 11, and Xbox consoles. That list is the whole audience. There is no macOS build, no Linux build, and no Android build in the repository, so anyone searching for those platforms is looking at a project that does not serve them.

The player is built on LibVLCSharp and the Universal Windows Platform. That pairing decides most of the rest: the decoding and container support come from LibVLC, while the shell, windowing, and input model come from UWP. The feature list in the README is oriented around playback rather than library management. It names gesture support for seeking and changing volume, window resize hotkeys on the number row 1 to 4, a YouTube-inspired hotkey layout, picture-in-picture, saving a video frame as an image, Chromecast support, and browsing and playing media over the network.

If you want a media center that catalogs a library, this is not that. Screenbox is closer to a viewer: you point it at a file or a network source and it plays.

How LibVLCSharp and UWP split the work

The architecture follows the repository layout. Screenbox.Core holds the logic that is not tied to the UI, Screenbox.UI holds the interface layer, Screenbox.VideoView wraps the video rendering surface, and Screenbox.Lively is a separate project in the tree. There is also a Screenbox.Core.Tests project, which means part of the core is testable without launching the app.

LibVLCSharp sits underneath the playback path, so format and codec coverage is inherited rather than written from scratch. That is a deliberate trade. It buys broad playback support and a well-tested decoding stack, and it costs the project control over the rendering pipeline. When a format misbehaves, the fix often belongs upstream in LibVLC rather than in this repository.

The UWP choice is the other half of the trade. UWP gives the project the Fluent design surface, the Store distribution channel, and the Xbox target, since UWP apps run on consoles. It also ties the app to the Windows 10 1903 floor stated in the README. A Win32 application would not have that floor, and it would not run on Xbox the same way.

Localization is handled through resource files rather than hardcoded strings. The README says the source language is English, United States, and that localizable files live in Screenbox\Strings\en-US, with per-language folders named by IETF language tag such as fr-FR. Crowdin is the recommended tool, and the README states that translations are synced to GitHub and published in the next minor update.

Installing Screenbox from the Microsoft Store or winget

The README calls the Microsoft Store the recommended install path, because a Store install keeps the app updated automatically. It also states that you do not need a Microsoft account to download apps from the store. The Store listing is linked from the README with the app id 9NTSNMSVCB5L.

If you prefer a command line, winget is supported. The README gives this exact command:

shell
winget install screenbox -s winget

The -s winget flag pins the source to the winget repository. After it finishes, Screenbox appears as an installed app and can be launched from the Start menu like any other Store-packaged application.

For a first real use, open a local video file through the app and try the documented hotkeys. The README lists window resize hotkeys on the number row 1 through 4 and a YouTube-inspired hotkey layout, so pressing those keys should resize the window, and the layout should feel familiar if you have used YouTube's shortcuts. Gestures handle seeking and volume changes. Picture-in-picture and saving a frame as an image are also listed as features, and both are worth checking against the file you actually plan to watch, since the README does not enumerate which containers or codecs each feature supports.

Building from source is a different path. The README's quick start for developers asks for Visual Studio 2026 with the UWP development workload, a clone of the repository, the Screenbox.slnx solution file, and a build with Ctrl+Shift+B, then x64 with F5 to run. That is a contributor workflow, not an end-user install.

Where Screenbox stops being the right tool

Platform lock-in is the first limit. Windows 10 version 1903 and up, Windows 11, and Xbox consoles is the entire supported set. If your team runs macOS or Linux workstations, Screenbox cannot be part of the plan, and the repository gives no indication that this will change.

The second limit is the distribution model. The README recommends the Store, and the winget command installs the packaged app from the winget source. Neither path is described as a portable or self-contained build, and the README does not document a portable mode, a standalone executable, or an offline installer. On a locked-down machine where the Store is blocked and winget is unavailable, the documented install routes are both closed.

The third limit is upstream dependency. Because playback runs through LibVLCSharp, a codec or rendering problem may not be fixable inside this repository. The README does not describe a fallback decoder path or an option to swap the engine.

Finally, the README does not document rollback. There is no stated procedure for pinning an older version or reverting after an update, which matters if you depend on a specific release tag such as v0.22.0 and a later update changes behavior.

Screenbox versus VLC and mpv

The comparison people ask about most is Screenbox against VLC. The difference is packaging and shell, not decoding. VLC is a cross-platform application that runs on Windows, macOS, Linux, and mobile systems, and it carries its own interface conventions built up over many years. Screenbox is Windows-only in the documented sense, and its interface is UWP and Fluent, with a hotkey layout the README describes as YouTube-inspired. Both projects sit on VLC's decoding lineage: Screenbox uses LibVLCSharp, the .NET binding for LibVLC. So the codec coverage argument between them is weaker than it looks, while the platform argument is decisive.

The comparison against mpv is a different axis. mpv is a keyboard-driven player with a configuration-file approach and no storefront distribution model. Screenbox is the opposite: a graphical UWP app installed from the Microsoft Store or winget, with gesture support and picture-in-picture exposed as first-class features. If you want to script playback behavior through a config file, Screenbox is not aimed at you. If you want a player that installs in one command and behaves like a modern Windows app, mpv's model is the wrong fit.

Chromecast support and network media browsing are the two features that separate Screenbox from a plain file viewer, and neither is described in enough detail in the README to say how they compare with the same features elsewhere.

Licence, maintenance, and upgrade cost

Screenbox is licensed under GPL-3.0, and the repository carries a LICENSE file plus a NOTICE.md. The GPL-3.0 obligation that matters most here is distribution: if you ship a modified Screenbox, the source for your version has to be made available under the same terms. Using the app as an end user does not trigger that. Anyone embedding it in a product should read the licence text and NOTICE.md themselves rather than rely on a summary; this is a description of the licence identifier, not legal advice.

On maintenance, the last push to the repository was on 2026-09-22, and the most recent release listed is v0.22.0 from 2026-09-12, preceded by v0.21.0 on 2026-08-18 and v0.20.1 on 2026-07-27. That is a steady release cadence across the recent tags, and the repository is not archived.

Upgrade cost is low for Store users, since the README states that a Store install keeps the app up to date automatically. The cost sits with contributors instead: building requires Visual Studio 2026 with the UWP development workload, and translation work goes through Crowdin or through manual edits to .resw and .md files under Screenbox\Strings. The README notes that Crowdin translations are published in the next minor update, so a translation merged today does not appear until that release.

Editorial conclusion

Adopt Screenbox if you want a Fluent-styled player for Windows 10 1903 or later, Windows 11, or an Xbox console, and you are fine with installation through the Microsoft Store or winget. Do not adopt it if you need macOS, Linux, or Android, because the README lists only Windows and Xbox. Before committing, verify that your target machine meets the Windows 10 version 1903 floor and that the Store listing still matches the release tag you intend to run.

Frequently asked questions

What is Screenbox?

Screenbox is a media player for Windows built on LibVLCSharp and the Universal Windows Platform. The README describes it as a modern video player focused on performance and ease of use, available on Windows 10 version 1903 and up, Windows 11, and Xbox consoles.

Is Screenbox free?

The repository is licensed under GPL-3.0 and the README points to the Microsoft Store as the recommended install path. The README does not mention any price or subscription for the app.

How do you install Screenbox?

The README recommends the Microsoft Store, which keeps the app updated automatically, and also gives the winget command winget install screenbox -s winget. It states that you do not need a Microsoft account to download apps from the store.

Is Screenbox better than VLC?

They are not the same kind of tool. Screenbox is Windows and Xbox only and uses LibVLCSharp, the .NET binding for LibVLC, while VLC is a cross-platform application in its own right. The README does not compare Screenbox with VLC, so the choice comes down to whether you need platforms other than Windows and Xbox.

Is Screenbox open source?

Yes. The repository is public under the GPL-3.0 licence and includes a LICENSE file and a NOTICE.md. The README also invites bug reports, feedback, questions, and pull requests.

Official sources

  1. huynhsontung/Screenbox on GitHub
  2. Issues
  3. License: GPL-3.0
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/huynhsontung-screenbox.svg)](https://hysenlabs.com/projects/huynhsontung-screenbox)