I am trying to move from Windows to Ubuntu. I've find Linux alternatives to most of the programs except for Media Player Classic (MPC-HC) + AutoHotKey.

I am looking for a video player running on Linux and allowing to bind these these operations to hotkeys:

  • Save current file path (or track number) to clipboard (or append to a log file)
  • Increase/Decrease saturation/hue/brightness of this video
  • Set aspect ratio (AR)
  • Scale video to 200%
  • Toggle playlist, controls,...
  • Save playlist as.

I plan to write Python or Java Controller program to control player via an API. Ideally player should have an API to

  1. detect shortcut key and pass info to Controller
  2. retrieve information about Player's state
  3. execute Controller's command (frame step, reset width, jump to 11 min),..

VLC doesn't have change hue function.

  • 2
    Check out JVLC (Java framework for VLC) and JVLC-Javafx on github if you prefer Java. – Stepan Nov 26 '17 at 1:48
  • Since it sadly appears the MPC-HC project is coming to an end (mpc-hc.org/2017/07/16/1.7.13-released-and-farewell), perhaps you can provide suggestions and/or support to some of the players suggested above. – Walter Wittel Nov 28 '17 at 17:55

Would a Lua or C API be suitable? mpv is, by my understanding, one of the more popular media players for Linux and it seems to be very full-featured in terms of integrability. https://mpv.io/manual/master/#command-interface


Linux autokey can detect keyboard events and execute relevant methods. Scripts are written in Python. VLC has a lot of hotkeys that you can set. This might be a way to go.

I don't think it can change hue though. You might have to convert videos elsewhere, which is a pain.


VLC can be controlled by sending console commands through pipes or TCP/IP telnet networking.

List of available commands (may change depending on version and plugins)

To allow this, enable rc interface in its configuration, or just start it like this:

your_program | vlc --extraintf rc

...or if you wish it to only be controlable through API (no UI buttons like pause, rew...), replace --extraintf with --intf

If you want to both issue commands and get their results (i.e. know what's playing now), redirect both stdin and stdout via python or via shell

Alternatively this same command-line interface can be accessed via TCP (telnet):

vlc --extrainf rc --rc-host

where is local IP address, and 12345 is TCP port number. Just connect to this address in your script and issue commands.

There's also somewhat more limited HTTP interface you could try.

More info on the VLC wiki: rc, console, http, interfaces


I am sorry, if you find this off-topic because of using non-native way, but you can install Wine to use MPC-HC.

Wine is a compatibility layer capable of running Windows applications on several operating systems.

About installation you can refer to https://wiki.winehq.org/Ubuntu

  • 2
    Wine wouldn't work with AutoHotKey. One can make a step forward and install Windows guest on Linux host to enable AutoHotKey support. But then one can make one more step forward and just install Windows. – Stepan Nov 26 '17 at 14:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.