castcontrold can pause, seek, and adjust the volume of your Chromecast when playing any content with support for the urn:x-cast:com.google.cast.media
namespace.¹
It's fast too. Requests to adjust the volume complete the round trip in under 20ms.
Resume and seek usually copmlete in well under half a second.²
Once you start castcontrold
in the background, it will quietly note your Chromecast's status, ready to:
- Pause
- Resume
- Stop
- Seek
- Change volume
at a moments notice. Regardless of the state of the sender app.
castcontrold can not locate Chromecasts via the _googlecast._tcp
mDNS service.
It must be provided an IP address.
launch_castcontrold.sh
is a provided shell script to locate Chromecasts on Linux via Avahi.
castcontrold is a work in progress and does not yet have a user interface to speak of. Currently, the developer scaffold responds to keystrokes in the terminal.
Start castcontrold
in an unused terminal emulator (maybe with tmux
) and control your Chromecast with the following:
u
: Increase volumed
: Decrease volumef
: Seek forward 10sb
: Rewind 10s<space>
: Toggle play/pauseds
: Stop. (Can not be resumed)
A proper system tray widget is planned (at least for Linux). However, there is no current time table.
castcontrold does not initiate playback. Try Cast All The Things or your phone.
yarn install
yarn build
With avahi, run bin/launch_castcontrold.sh
On other platforms, locate your chromecasts IP or hostname and run build/castcontrold.js <address>
¹ According to Google's developer documentation, all compliant relevant senders support urn:x-cast:com.google.cast.media
.
² MUCH faster than catt volumedown
.