mpv is a free (as in freedom) media player for the command line. It supports a wide variety of media file formats, audio and video codecs, and subtitle types.
Powerful scripting capabilities can make the player do almost anything. There is a large selection of user scripts on the wiki.
On Screen Controller
While mpv strives for minimalism and provides no real GUI, it has a small controller on top of the video for basic control.
High quality video output
mpv has an OpenGL, Vulkan, and D3D11 based video output that is capable of many features loved by videophiles, such as video scaling with popular high quality algorithms, color management, frame timing, interpolation, HDR, and more.
GPU video decoding
mpv can leverage most hardware decoding APIs on all platforms. Hardware decoding can be enabled at runtime on demand.
A straightforward C API was designed from the ground up to make mpv usable as a library and facilitate easy integration into other applications.
mpv is under active development, focusing on code refactoring and cleanups as well as adding features. Want a feature? Post a patch or request it!