Cast To TV v12 Chromecast Extension For GNOME Shell Adds Automatic Image Slideshow, Audio Only Transcoding, More

Cast to TV v12

Cast to TV, a GNOME Shell extension to cast media (with optional transcoding) to Chromecast and other devices over the local network, has been updated to version 12. In this release, the extension has received an option for audio only transcoding, automatic image slideshow, support for casting files from network GVFS mounts, and much more.

Cast to TV is a very capable and feature-packed GNOME Shell extension for casting videos, music and pictures to Chromecast (and other devices) on the local network. It features on-the-fly transcoding for video or audio files that aren't directly supported by the Chromecast (with hardware-accelerated encoding using VA-API or NVENC), customizable subtitles, music visualizer, an optional remote control applet (with playlist support) displayed on GNOME Shell's top bar, and more.

Cast to TV v12 remote control widget and settings available for in-progress streams

The extension supports Google Cast-enabled devices, along with any device on which you can install the Playercast application (by setting the Receiver type in its settings to Playercast app), any device with a web browser (by choosing the Web browser receiver type in its settings), or media players like mpv or VLC.

The Cast to TV developer is even working for addons for this Cast To TV GNOME Shell extension. For example there's a separate Cast to TV Links add-on for casting web links through the Cast to TV extension; this needs to be installed separately and requires having Cast To TV (obviously) and youtube-dl.

For the v12 release, Cast To TV has received the ability to automatically play multiple images without having to click the Next button on the desktop to advance to the next image, a feature I actually requested (thanks for implementing this by the way!). Now I can show pictures to my friends by casting them from my Linux desktop to a Google Cast enabled TV, without having to use Google Photos, yay 😁️ (the quality is also better than using Google Photos by the way).

With this release you can start an automatic image slideshow by selecting a bunch of images, then clicking the camera button in the remote widget from the top bar. The slideshow time per picture can be set in the extension preferences, this being possible both before and during casting. It's also possible to put images on repeat.

Cast to TV vttextract

Cast To TV v12 also adds integration with vttextract, a command line tool for subtitles extraction. Enabling the vttextract options in Cast To TV (Other -> Extractor), the command line tool will extract subtitles from videos and Cast To TV will automatically find those subtitles and use them when casting.

There are quite a few other important changes in Cast To TV v12:

  • Added option to only transcode audio
  • Support for casting from network GVFS mounts
  • Added device selection to file chooser and Nautilus / Nemo extension. This way you can select the device when choosing a file in the Cast To TV file chooser or when using the Nautilus / Nemo extension (Nautilus / Nemo shows the device selection only if there's more than one Chromecast detected)
  • Redo communication between GJS and node.js (now it uses http requests and websockets)
  • Videos are now transcoded to mp4 instead of mkv
  • Burning subtitles when transcoding video is now optional (Cast to TV Settings -> Other -> Encoder -> Burn subtitles when transcoding video). Less CPU is used when not burning subtitles, and allows subtitle customization; on the other hand, burning subtitles might be needed in some cases (with unusual subtitles) when the subtitles are not displayed correctly
  • Replaced module responsible for subtitles character encoding detection in order to fix transcoding not working with non-English subtitles

Google Chromecast-related:

Cast to TV v12 also includes support for HLS video streaming which is used by a new Cast to TV Desktop Stream add-on that's still work-in progress.

The new Cast to TV Desktop Stream add-on will be used to stream your Linux desktop to a Chromecast or other device on the local network (using a web browser or media player). Compared to the Chrome desktop streaming supported natively by the Chromecast, the Cast to TV implementation also streams the desktop audio, there's customizable video bitrate and FPS, and it works on Wayland (still some work needed to be done here). There are some cons too when comparing this to the Chrome desktop streaming: there's a high delay (so don't expect to see what's happening on your desktop instantly on the Chromecast), and the CPU usage is currently very high because there's no hardware acceleration yet.

This new Desktop Stream add-on is not supported by Cast to TV v12, and requires the latest Cast to TV from Git, as well as installing the Desktop Stream add-on separately. Also, remember that this optional add-on is still work in progress, and not ready for everyday usage yet.

Install Cast to TV for GNOME Shell

While Cast to TV is available on, it hasn't been updated to the latest version at the time I'm publishing this article. The extension also requires manually installing some npm dependencies. For step-by-step installation instructions from source, see this article (scroll down to "How to install..." part).

If you're updating from an older version, you may need to relogin/reboot after updating it due to changed internal communication.

The Cast to TV extension for GNOME Shell is hosted on GitHub.