Open-source project
Aleksoid1978/MPC-BE avatar
Aleksoid1978/MPC-BE

MPC-BE: the Windows-only fork of Media Player Classic that still ships builds

MPC-BE – универсальный проигрыватель аудио и видеофайлов для операционной системы Windows.

4,522 stars200 forksCGPL-3.0

At a glance

What is it?
MPC-BE is a GPL-3.0 audio and video player for Windows 7 through 11, forked independently from Media Player Classic and MPC-HC. Its release history and its DirectX9-era system requirements tell you most of what you need to know before adopting it.
Who is it for?
Adopt MPC-BE if you are on Windows 7 through 11, want a native player built from the Media Player Classic lineage, and are willing to take builds from the Releases page rather than a package manager. Do not adopt it if you need macOS or Linux, or if you want a player whose engine you can read and recompile quickly, since the tree pulls in FFmpeg, dav1d, uavs3d, VVdeC and roughly two dozen other bundled projects.
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 received new commits within the last day.
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 MPC-BE is, and the Windows-only constraint that comes with it

MPC-BE stands for Media Player Classic - Black Edition, and the README describes it as "a free and open source audio and video player for Windows." It is not the original Media Player Classic. The README states the project has its own independent development based on the original Media Player Classic code by Gabest and the Media Player Classic - Home Cinema code by Casimir666. So it sits two forks downstream of Guliverkli, and the README acknowledges the Guliverkli lineage directly.

The audience is narrow and well defined. The stated system requirements are an SSE2 capable CPU, a video card supporting DirectX9.0c with PS 3.0, and Windows 7, 8, 8.1, 10 or 11 in either 32-bit or 64-bit form. There is no macOS build and no Linux build. The related search phrase "MPC BE for Mac" reflects a real demand that this repository does not answer. If you are on anything other than Windows, this is the wrong project and no amount of configuration will fix it.

The DirectX9.0c floor is worth pausing on. It is a low bar in 2026, which is the point: the player is designed to run on old hardware, including machines that no current mainstream player targets. That is a deliberate trade-off. A player built around modern GPU APIs would render differently on the same machines, and MPC-BE has chosen the older, broader target.

How the player is put together: a C codebase with a large bundled dependency set

The primary language is C, and the top level of the repository is a Visual Studio solution set: mpc-be.sln, MPCBEShellExt.sln, MPCTestAPI.sln, mpciconlib.sln and mpcresources.sln. The presence of MPCBEShellExt.sln confirms that the Windows shell extension is a separate buildable component rather than something folded into the main player binary. That matters if you build from source, because you can choose not to compile it.

The README lists the third-party code the player uses. It is a long list, and it is the clearest available description of what the player actually does internally. FFmpeg is there under GPLv3, which is where the bulk of demuxing and decoding comes from. Alongside it are codec-specific decoders: dav1d for AV1, uavs3d for AVS3, VVdeC for VVC, fdk-aac for AAC, libflac for FLAC, libspeex for Speex. MediaInfo and ZenLib handle file inspection. Little CMS handles colour management. soxr handles resampling. bs2b handles crossfeed. Detours, from Microsoft, is a function-hooking library, which tells you the player patches or intercepts calls somewhere in its own process.

That dependency table is also the honest answer to how much of this project is original. The player shell, the DirectShow filter graph, the UI and the shell integration are MPC-BE's own; the decoding is largely assembled from upstream projects. Building it means building or linking all of them, and the repository ships update_submodules.cmd, build.bat and update_gcc.bat as the entry points for that work. The README does not document the build beyond pointing at the code.

Installing MPC-BE and playing a file on first launch

The README does not give installation steps. It gives two download locations: the Releases page and a Nightly Builds page on the project wiki. There is no package manager command in the README, and no installer flags are documented, so the honest instruction is to take the build from the Releases page. The most recent release listed is 1.9.1 from 2026-08-08, preceded by 1.9.0 on 2026-06-27 and 1.8.9 on 2025-12-30.

The repository also offers the source route. The README links "Get code" to the git URL, and the top level contains a build script and submodule updaters. If you go that way, the submodule step comes first, because the dependency list above is not vendored into the main tree by default.

bash
git clone https://github.com/Aleksoid1978/MPC-BE.git
cd MPC-BE
update_submodules.cmd

After that, build.bat is the script the repository provides for producing binaries. The README does not describe what build.bat expects to find on the machine, so treat the toolchain as undocumented and read the script before running it.

For ordinary use, the first real task is opening a file. The player is a Windows application, so the practical route is the file association or a drag and drop onto the window. There is nothing in the README about a command line interface for playback, so do not expect one to be documented. The related searches include "mpc be player" and "mpc be video player", which is what it is: a desktop GUI player, not a scripting target.

One component deserves a decision before you install. The shell extension is a separate solution, MPCBEShellExt.sln, and the search question "what is mpc be shell extension" is a fair one. The README confirms it exists as its own buildable unit; it does not describe what it adds to Explorer. If you do not want a player hooking into the Windows shell, build without it.

Where MPC-BE stops being the right tool

The first limitation is the platform. Windows only, and the README's system requirements are explicit about which versions. Anything outside Windows 7 through 11 is out of scope, and the search phrase "MPC BE for Mac" has no answer in this repository.

The second is the build. The dependency table lists roughly two dozen third-party projects with a mix of licences, and the README says nothing about how to build the tree, what compiler version is expected, or how long it takes. update_gcc.bat and update_revision.cmd exist at the top level, which suggests the build has more moving parts than a single solution file would imply. If your reason for choosing an open source player is that you can read, patch and recompile it in an afternoon, this is a heavier proposition than the C language and the small solution count suggest.

The third is the shell extension. It is a separate component that installs into Explorer. That is a real integration decision, not a checkbox, and the README does not describe its behaviour. The search question "is mpc be safe" is not something the README can answer either way; what the README does show is a GPL-3.0 codebase with a published dependency list, which is the extent of the verifiable claim.

Finally, there is no documented rollback or uninstall procedure in the README. If you install the shell extension and want it gone, the README does not tell you how.

MPC-BE against MPC-HC, and against players that are not forks at all

The comparison people actually search for is "mpc be vs mpc hc", and the README answers it in one line: MPC-BE is based on the original Guliverkli project and the Media Player Classic Home Cinema project, and contains additional features and bug fixes. So MPC-HC is upstream, not a rival in the same sense. Choosing between them is choosing between a codebase and a descendant of it that has diverged. The README does not enumerate which features and fixes, so anyone claiming a definitive feature-by-feature verdict is going beyond what the project documents.

The more interesting comparison is against players that are not Media Player Classic derivatives at all. The related searches pair MPC-BE with VLC, mpv and PotPlayer. The architectural difference that matters is the DirectX9.0c and PS 3.0 requirement. A player that targets modern rendering paths will not run on the same hardware MPC-BE targets, and MPC-BE will not take advantage of rendering paths it does not implement. That is the axis to compare on, not a feature list.

There is also the madvr pairing, which shows up twice in the search data as "mpc-be + madvr" and "how to install madvr mpc be". The README does not document madvr integration, so the only thing that can be said is that the searches exist and the README is silent.

Maintenance cadence, licence, and what upgrading costs

The repository is not archived, and the last push was on 2026-09-22, one day before the date of writing. That is current activity by any measure, and the release cadence backs it up: 1.8.9 in late December 2025, 1.9.0 in June 2026, 1.9.1 in August 2026. Three releases across roughly eight months, with a nightly build channel on top of that. If you track the nightly channel you are accepting untested builds; the README points to it without describing what state those builds are in.

Upgrade cost is low for users and higher for builders. A user replaces an executable. A builder re-runs update_submodules.cmd and rebuilds the whole dependency set, because the versions of FFmpeg, dav1d, uavs3d, VVdeC and the rest are pinned by the submodule state rather than by a package manager. There is no documented version pinning policy in the README.

The licence is GPL-3.0 for the project itself, stated in the README and in LICENSE.txt. The bundled components are not uniform: Bento4, CSizingControlBar, libflac and VirtualDub are GPLv2, compact_enc_det is Apache-2.0, Detours, Little CMS, mfx_dispatch, RapidJSON and bs2b are MIT, dav1d, libspeex, MediaInfo, uavs3d and VVdeC are BSD, libpng and zlib are zlib, ResizableLib is Artistic, soxr is LGPL, and libdivide is dual zlib/Boost. Several entries in the table have no licence listed at all, including CFileVersionInfo, CLineNumberEdit, coolsb, Logitech SDK and TreePropSheet. If you intend to redistribute binaries, that table is the first thing to read, and the gaps in it are the first thing to ask about. This is a description of what the README states, not legal advice.

Editorial conclusion

Adopt MPC-BE if you are on Windows 7 through 11, want a native player built from the Media Player Classic lineage, and are willing to take builds from the Releases page rather than a package manager. Do not adopt it if you need macOS or Linux, or if you want a player whose engine you can read and recompile quickly, since the tree pulls in FFmpeg, dav1d, uavs3d, VVdeC and roughly two dozen other bundled projects. Before committing, verify three things: that your GPU reports DirectX9.0c with PS 3.0 support, that the shell extension in MPCBEShellExt.sln is something you actually want installed, and that the GPL-3.0 obligations are compatible with how you intend to redistribute the binaries.

Frequently asked questions

What is MPC-BE?

It is Media Player Classic - Black Edition, a free and open source audio and video player for Windows. The README states it has its own independent development based on the original Media Player Classic code by Gabest and the Media Player Classic - Home Cinema code by Casimir666.

Where can I download MPC-BE?

The README lists two sources: the Releases page at github.com/Aleksoid1978/MPC-BE/releases and a Nightly Builds page on the project wiki. The most recent release listed is 1.9.1 from 2026-08-08.

Which is better, MPC-HC or MPC-BE?

The README does not rank them. It says MPC-BE is based on the original Guliverkli project and the Media Player Classic Home Cinema project, and contains additional features and bug fixes, without listing which ones.

How do I install MPC-BE?

The README gives no installation steps. It points to the Releases page and the Nightly Builds wiki page for downloads, and to the git URL for the source. The repository provides build.bat, update_submodules.cmd and update_gcc.bat for building from source.

What is the MPC-BE shell extension?

It is a separate buildable component, visible as MPCBEShellExt.sln at the top level of the repository. The README does not describe what it adds to Windows Explorer.

Official sources

  1. Aleksoid1978/MPC-BE 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/aleksoid1978-mpc-be.svg)](https://hysenlabs.com/projects/aleksoid1978-mpc-be)