media/multimedia/ VlcRemote


See also VlcTelnetInterface.

For control via web: In preferences, enable web. (It is easy to google for this bit. Basically look in preferences→all→interface.) You set a password. The username is blank, when the web browser asks for it.

Now, if you want to connect from another machine, you need to edit the .hosts file. This is found in:

If, like me, you live alone and so aren't worried about security, just make this .hosts file contain:

::1
127.0.0.1
0.0.0.0/0

The 0.0.0.0/0 line makes it wide open: any machine that can access the host on port 8080 can control Vlc. You have been warned.

Now connect, via a browser, on port 8080, that is http://mymachine:8080/ and use a blank username and the password set in preferences.

I use the Chrome 'search' shortcut vl for this, so e.g. I can type vl mrflibble/10 to access the Vlc instance on mrflibble on port 5010 (I use a base like 5000, and then ports 5000-5099 for vlc instances, and do something similar for e.g. mpd. This points to my Raspberry Pi 3, so that vl mrflibble turns into http://mypi3/vlc/mrflibble/10 and is handled by the following .htaccess and Php.

RewriteEngine On
ErrorDocument 404 /go404.php
RewriteBase /
RewriteRule ^/?vlc/.* vlc_host_login.php [L]

and vlc_host_login.php is (where the http password goes where you see THEPASSWORD)

<?php
$a = $_SERVER['REQUEST_URI'];
function vlc_redirect($host,$port) {
  $url = "http://:THEPASSWORD@$host:$port/";
  #echo "Redirect: $url\n";
  #exit();
  header('Location: '.$url);
  exit();
}
function get_port($a) {
  $n = intval($a);
  if( $n < 1024 ) {
    $n += 8000;
  }
  return $n;
}
function get_host($host) {
  global $hosts;
  if( array_key_exists($host,$hosts) ) {
    return $hosts[$host];
  } else {
    return $host;
  }
}
$hostre = "[a-zA-Z0-9]+";
$hosts = [ "lh" => "localhost" /* put shorthands in here, e.g. so you can use t for turnipland */ ];
if( preg_match("@^/vlc/($hostre)(?:/|%20)+(\d+)$@",$a,$m) ) {
  #echo "Type 2: $a<br/>\n";
  #exit();
  $host = get_host($m[1]);
  $port = get_port($m[2]);
  vlc_redirect($host,$port);
} else if( preg_match("@^/vlc/(\d+)$@",$a,$m) ) {
  $host = "l440a";
  $port = get_port($m[1]);
  #echo "$host $port";
  #exit();
  vlc_redirect($host,$port);
} else if(preg_match("@^/($hostre)/(\d+)$@",$a,$m)) {
  #echo "Type 1: $a<br/>\n";
  #exit();
  $host = get_host($m[1]);
  $port = get_port($m[2]);
  vlc_redirect($host,$port);
} else {
  echo "invalid port: use http://pi3/\$vlc_host/\$port_no<br/>
    or http://pi3/vlc/\$vlc_host/\$port_no\n";
  exit();
}