Cast Videos To Chromecast On Linux With Gnomecast

Gnomecast gnome chromecast player

Gnomecast offers a very easy way of casting local video and audio files to Chromecast devices from Linux. It is ideal for quickly playing an audio or video file on your Chromecast, without waiting for some media server to index it.

While it uses a very basic interface and you won't find many advanced options, this Gnome (uses Gtk+ and Python) Chromecast player takes care of most things you'd need. Besides being able to play / pause, control the volume or seek, Gnomecast lets you add subtitles, and it automatically transcodes both audio and video files that can't be played directly by Google Chromecast devices.

Related: Stream Videos, Music And Pictures From Gnome To Chromecast With Cast To TV Extension

Gnomecast features:

  • play both audio and video files on Chromecast devices
  • realtime transcoding when needed (using ffmpeg)
  • subtitles: embedded and external SRT files
  • can play 4K videos on the Chromecast Ultra
  • fast scrubbing

Some features that are currently lacking in Gnomecast - but might be implemented in a future release -, include automatically picking up subtitles in the same folder, connecting directly to a Chromecast via IP, and keyboard shortcuts. There's no playlist support for now either.

While it officially only supports Linux, Gnomecast appears to be working on MacOS too.

Related: Command Line Chromecast Player CATT Gets Support For Subtitles And Website Casting

"But VLC can cast local files too!" Indeed, a feature to allow playing local files on Chromecast was also added to VLC with version 3.0, but it never worked well for me. Obviously, Gnomecast can't compete with VLC, but it does provide better Chromecast functionality with a minimalistic, easy to use interface.

For more complex and feature-rich alternatives that can run on Linux, you may want to check out Emby or Plex media servers.

Install Gnomecast

Gnomecast can be found on GitHub.

The Gnomecast installation instructions mention using pip3 with sudo for installing the app. This is discouraged as it may cause issues, so using my instructions below, Gnomecast is installed for the current user only, so it doesn't interfere with your system.

1. Add ~/.local/bin to your PATH (if it's not already added). Also export the PYTHONPATH as /usr/lib/python3/dist-packages:$PYTHONPATH to avoid having apps picking up Python modules from ~/.local/lib.

You can do this manually or run the following command (and source .bashrc / .zshrc):

- for Bash:

echo "export PATH=\"\$PATH:\$HOME/.local/bin\"" >> ~/.bashrc
echo "export PYTHONPATH=\"/usr/lib/python3/dist-packages:\$PYTHONPATH\"" >> ~/.bashrc
. ~/.bashrc

- for Zsh:

echo "export PATH=\"\$PATH:\$HOME/.local/bin\"" >> ~/.zshrc
echo "export PYTHONPATH=\"/usr/lib/python3/dist-packages:\$PYTHONPATH\"" >> ~/.zshrc
. ~/.zshrc

2. Install Python3 PIP, Python3 Setuptools, and FFmpeg.

In Debian / Ubuntu / Linux Mint, use:

sudo apt install python3-pip python3-setuptools ffmpeg

3. Install Gnomecast using Python3 PIP:

pip3 install --user gnomecast

If you get some permission or errors when trying to install Gnomecast for the current user, it might happen because you previously used sudo to install some package using Python3 PIP, which broke installing packages using PIP without sudo. In such cases, use "sudo" before the command above.

4. Log out and log back in.

Gnomecast should now show up in your menu.

To update Gnomecast installed using Python3 PIP, use:

pip3 install --user gnomecast --upgrade