If you haven't heard of mpv yet, now's the time to start hearing about it. Forget VLC, Windows Media Player, QuickTime Player, whatever. mpv is undisputably the best media player, and here's why.
Both visually and internally. The GUI for VLC only gets in the way, so the folks developing mpv did away with the GUI entirely (almost). It hides itself when not in use to maximize precious screen real estate, so all you see is the video when you load up mpv. This is much cleaner than staring at a play button or some GUI that looks like it was made in 2007.
Keyboard based controls, fully customizable. Need I say more?
It just werks™. Always starts up instantly, not even a millisecond of delay (in other words, not written in Python). It plays almost any type of file with no errors. There's no need to endlessly configure to get it to work.
To me, this is the most mind-blowing feature. If you have
youtube-dl installed, mpv can stream videos without opening a browser. All you have to do is prove mpv with the YouTube link (eg
mpv youtube.com/s?5jbskjk??? <- this is a random url) and mpv will stream it. This eliminates the need to visit YouTube altogether, coupled with an RSS reader. Just watch the videos locally!
You could also run
mpv youtube.com/298jfs??? --no-video to replace YouTube as a music streaming service (I still recommend downloading videos with
youtube-dl and playing them with mpd+ncmpcpp).
You can remap anything to any key in your
~/.config/mpv/input.conf file, and make general changes in
~/.config/mpv/mpv.conf. For example, I set mpv to loop gif files and mapped "j" and "k" to seek backwards and forwards, respectively. I also have Newsboat open YouTube videos in my RSS feed with
,v. You can find my mpv config files here, as well as my newsboat config for streaming YouTube videos locally).