This is a handy way to control running instances of VLC from external scripts (if you invoke vlc in the script, there are better interfaces like rc). It’s also useful if want to control VLC through keyboard shortcuts while it’s running in the background. If your window manager doesn’t pass the shortcuts to the background process (xfwm4 at least doesn’t), you can start by issuing this in a shell:

dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause

It should start/pause the backgrounded player. If it works, you can assign a shortcut to the command using the standard keyboard shortcut editor of your window manager.

VLC adheres to the Media Player Remote Interface Specification (MPRIS) which opens up for the commands listed here.  The usual start/pause etc. are in the .Player interface.

Note that some commands require a numeric argument. Seek for example needs a number of microseconds to seek forward or backward. But you don’t just give it the number. You must manually specify the type of the argument like this:

dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Seek int64:"2000000"

There are other weird (unpredictable ?) syntaxes for rates and volumes. Check this post for more examples.