Remote control of VLC, from another computer, which can handle DVD navigation via cursor-keys and Enter, plus a few more things.
The bits missing from the web UI!
This script is written to Python 3.2 and uses curses. It expects a UTF-8 locale for some of the characters printed.
It has been tested on MacOS. OS success/failure reports welcome.
Turn on the "RC" interface (also called "OLDRC") in VLC.
Set an IP address and port to listen on in VLC's preferences.
Eg, to listen on port 4321 for any IPv6 address, enter:
By code inspection, I see that vlc now parses this input as a URL. So enter:
Invoke this script with:
vlc-control -s my-vlc-server.hostname.example.org:4321
VLC: Persistent configuration
Launch VLC, open Preferences (
⌘-, on macOS), click "Show All"; on the left,
expand "Interfaces", "Main Interfaces", enable the "Remote control interface"
checkbox (which will add
oldrc to the viewable list of interfaces just above
the checkboxes). Then on the left, click "RC" and in the new control tab, for
"TCP command input", enter the URL for listening.
tcp://127.0.0.1:4321/ to listen on all IPs on the localhost, which is
safest but does raise the question of "why", with other controls available.
tcp://:4321/ to listen on all IPs on port 4321, which will allow
anyone who can reach you over the network to control VLC without
authentication. Possibly useful on trusted networks to control a mini playing
onto a nice screen, or when another laptop is hooked up to a TV.
vlc-control.py -s 127.0.0.1:4321, for remote hosts replacing the
loopback IP with whatever hostname is needed to reach the running instance of
VLC: Non-persistent, CLI enabling
The above shows us that
oldrc is an "extra interface", not an "interface",
so we want the
--extraintf parameter, not
vlc -p oldrc --advanced we can see the available options.
$ vlc --extraintf=oldrc --rc-host tcp://127.0.0.1:4321/ "$filename"
No file-selection or browsing UI: I still use the web UI for that. Patches welcome.
Shift-<digit> assumes US keyboard layout.
I am experimenting with use of gerrithub.io for pull requests and reviews in this repository:
- Clone, anonymous HTTP: https://review.gerrithub.io/philpennock/vlc-control
- SSH Push URL: ssh://review.gerrithub.io:29418/philpennock/vlc-control (requires account)