Mpv

mpv is a free, open source, and cross-platform media player. It is based on mplayer2, which in turn is based on the original MPlayer. Many changes have been made, a large part of which is incompatible or completely changes how the player behaves. Although there are still many similarities to its ancestors, mpv should generally be treated as a completely different program.

USE flags
Default USE configuration provides the following core features: CLI player, X11 support, audio and video playback, On-Screen Display (OSD) and On-Screen Controller (OSC), and Lua scripting support.

Hardware decoding is often desired. mpv supports both VAAPI and VDPAU hardware decoding APIs via  and   USE flags respectively. You need to manually enable the API supported by your hardware.

For a complete set of supported features please refer to the list of available USE flags below.

Emerge
Install :

For YouTube and select other streaming website support also install (soft runtime dependency):

Configuration
Historically per-user configuration was placed in mimicking MPlayer but nowadays the recommendation location is. The overall format has is the usual INI inspired MPlayer config syntax with optional profiles that when correctly named can be auto-loaded depending on situation but with certain limitations stemming from the architecture of the application. Because options change over time and there is too many of them it's always best to read mpv manpage (man mpv) yourself.

Example user mpv.conf
This is just an example, feel free to tweak it or use the defaults and remember to consult man mpv if you have any questions.

Usage
A bit ugly due to mix of different CLI formats but a good example of a more advanced mpv use case:

mpv [-profile headphones] [--loop=inf] [ ... ]