Method call
Play / pause : dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
Seek 2s forward: dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Seek int64:2000000
Seek 2s backward: dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Seek int64:-2000000
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous
Get property
dbus-send --dest=org.mpris.MediaPlayer2.vlc --print-reply /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:org.mpris.MediaPlayer2.Player string:PlaybackStatus
dbus-send --dest=org.mpris.MediaPlayer2.vlc --print-reply /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:org.mpris.MediaPlayer2.Player string:Volume
dbus-send --dest=org.mpris.MediaPlayer2.vlc --print-reply /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:org.mpris.MediaPlayer2.Player string:Metadata
Set property
dbus-send --dest=org.mpris.MediaPlayer2.vlc --print-reply /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Set string:org.mpris.MediaPlayer2.Player string:Volume variant:double:0.5
Basic Python example
from pydbus import SessionBus
bus = SessionBus()
# Create an object that will proxy for a particular remote object.
remote_object = bus.get(
'org.mpris.MediaPlayer2.vlc', # Bus name
'/org/mpris/MediaPlayer2' # Object path
)
print(remote_object.PlaybackStatus)
print(remote_object.Volume)
remote_object.PlayPause()
print("Introspection data:
")
print(remote_object.Introspect())
Note: A password may be required.
Some cURL commands
With password "mypass"
- Toggle pause: curl --user :mypass http://localhost:8080/requests/status.xml?command=pl_pause
- Full status: curl -s --user :mypass http://localhost:8080/requests/status.xml
- Song name: curl -s --user :mypass http://localhost:8080/requests/status.xml | xmllint --xpath "//info[@name='filename']/text()" -
VLC config for playing videos from beamer
Tested with VLC v3.0.8
echo "Reset config"
vlc --reset-config vlc://quit
echo "Don't ask for network policy at startup"
sed -i "s/#qt-privacy-ask=1/qt-privacy-ask=0/" ~/.config/vlc/vlcrc
echo "Fullscreen (tools / preferences / video / fullscreen)"
sed -i "s/#fullscreen=0/fullscreen=1/" ~/.config/vlc/vlcrc
echo "play and exit (in media menu)"
sed -i "s/#play-and-exit=0/play-and-exit=1/" ~/.config/vlc/vlcrc
echo "Always on top (Preferences / All / Video / Always on top)"
sed -i "s/#video-on-top=0/video-on-top=1/" ~/.config/vlc/vlcrc
echo "Disable video title (Preferences / All / Video / Show media title on video)"
sed -i "s/#video-title-show=1/video-title-show=0/" ~/.config/vlc/vlcrc