Softwr

Entertainment · head to head

mpv vs Three.js

mpv logo

mpv

Entertainment

Free open source command line video player with no graphical interface, built for scripting and precision

From
Free
Rated
-
Three.js logo

Three.js

AR VR

JavaScript 3D library for WebGL and WebXR

From
Free
Rated
-

The short version

  • Each has a real cost: mpv there is no graphical interface at all by default, so a typical non-technical user will find it unusable without significant setup.; Three.js forward rendering pipeline only, no deferred rendering support
  • They diverge on capability: mpv covers Command line control, Three.js covers WebGL rendering.
  • Prices and features above were last checked on 1 September 2026.

Where they differ

Only the attributes on which mpv and Three.js actually diverge.

Attributes where mpv and Three.js differ
AttributempvThree.js
Pricing modelOpen source, no licence feefree
PlatformsMac, Windows, LinuxWeb, macOS, Windows, Linux, iOS, Android
CategoryEntertainmentAR VR
FoundedUnknown2010

Identical on both: starting price (Free), free tier (Yes), user rating (Not yet rated).

What each one covers

Drawn from each product's published feature list. An absence here means we hold no record of it - not that the product lacks it.

Only in mpv

  • Command line control
  • Lua and JavaScript scripting
  • Plain text configuration
  • Cross-platform
  • Minimal on-screen overlay
  • Embeddable engine

Only in Three.js

  • WebGL rendering
  • Scene graph
  • Materials system
  • Animation system
  • WebXR
  • Post-processing
  • Physics
  • Loaders

What people use each for

The jobs each tool is most often brought in to do.

mpv

  • A developer who wants to script or automate media playback rather than click through a graphical appnot Three.js
  • A Linux user who wants a lightweight player without the overhead of a full desktop application shellnot Three.js
  • Someone embedding video playback into another tool or workflow rather than using it as a standalone appnot Three.js
  • A power user who prefers editing a text config file over navigating a settings panelnot Three.js

Three.js

  • VR Gamingnot mpv
  • AR Marketingnot mpv
  • Virtual Trainingnot mpv
  • 3D Visualizationnot mpv
  • Immersive Experiencesnot mpv

Where each one falls short

Documented limitations, not opinions. Every one is a constraint you would hit in normal use.

mpv

  • There is no graphical interface at all by default, so a typical non-technical user will find it unusable without significant setup.
  • It has no library browser, artwork fetching or organised media collection view, unlike IINA or Infuse.
  • There is no Apple TV, iOS or Android version, so it cannot be used for a living room or mobile streaming setup.
  • Configuration is entirely file and flag based, so getting a specific behaviour set up correctly has a real learning curve compared with a settings panel.
  • Because it is a general-purpose engine rather than a consumer product, there is no dedicated support channel beyond community forums and documentation.

Three.js

  • Forward rendering pipeline only, no deferred rendering support
  • No built-in collision detection or spatial indexing, requiring external physics libraries
  • WebGL dependency means no support for non-WebGL environments

Pricing, plan by plan

mpv

Free
  • mpvFree
    • Free and open source under GPL or LGPL depending on build
    • No account, subscription or paid tier
    • Cross-platform, same engine on every OS

Three.js

Free
  • FreeFree
    • Full library
    • WebXR module
    • Examples

Which should you pick?

Choose mpv if

  • You need command line control.
  • You want to start without paying.
  • You work on Mac, Windows, Linux.
  • You also want lua and javascript scripting.

Choose Three.js if

  • You need webgl rendering.
  • You want to start without paying.
  • You work on Web, macOS, Windows, Linux, iOS, Android.
  • You also want scene graph.

Questions people ask

Is mpv or Three.js better?
Neither clearly leads. mpv starts at Free and Three.js at Free, and user ratings are close enough to be indistinguishable. Choose on capability and platform support.
Which is cheaper, mpv or Three.js?
mpv starts at Free and Three.js at Free.
Does mpv or Three.js run on more platforms?
mpv runs on Mac, Windows, Linux. Three.js runs on Web, macOS, Windows, Linux, iOS, Android.
Can I use mpv for free?
Both have a free tier, so you can try either at no cost before committing.
What is mpv best used for?
mpv is most often used for a developer who wants to script or automate media playback rather than click through a graphical app, a linux user who wants a lightweight player without the overhead of a full desktop application shell, someone embedding video playback into another tool or workflow rather than using it as a standalone app, a power user who prefers editing a text config file over navigating a settings panel. Of those, a developer who wants to script or automate media playback rather than click through a graphical app and a linux user who wants a lightweight player without the overhead of a full desktop application shell are not what Three.js is typically brought in for.
What can mpv do that Three.js cannot?
mpv covers Command line control, Lua and JavaScript scripting, Plain text configuration, Cross-platform. Three.js covers WebGL rendering, Scene graph, Materials system, Animation system.

Answered from the vendors’ own pages

mpv: Is mpv free?

Yes, entirely, and it is open source with no paid tier of any kind.

Three.js: Is Three.js free to use?

Yes. Three.js is released under the MIT license, an open-source license that permits unlimited commercial and personal use with no licensing fees.

Source
mpv: Does mpv have a GUI?

Not by default. It shows the video and a minimal overlay, but there are no menus, library or settings panel; IINA is the graphical Mac interface built on the same engine.

Three.js: Does Three.js include physics simulation?

No. Three.js is a rendering library only. Physics, collision detection, and spatial indexing must be implemented with external libraries like Rapier, Ammo, or JoltPhysics.

Source
mpv: Can mpv play from network shares or cloud storage?

It can play many stream types via command line arguments, but it has no built in browsable network or cloud library the way Infuse does.

Three.js: Can I use Three.js for offline development?

Yes. Local development requires a local web server for CORS compliance. You can use npm with a build tool like Vite, or run a local Python server for development.

Source
Three.js: Does Three.js support WebXR for VR/AR?

Yes. Three.js documentation includes WebXR APIs for building VR and AR experiences in web browsers.

Source
Share

Related pages

Other head to heads