Castnow streams music and movies on Chromecast
Linux Casting
Google's Chromecast device lets you stream content directly to your TV. Castnow connects to Chromecast from a Linux system.
Armed with an Android cellphone or tablet, you can easily feed content to the Chromecast dongle connected to your TV set. Just call a Chromecast-capable application, such as YouTube, Google Music, or the Vimeo Couch Mode app, tap the Chromecast icon, and a few seconds later, the desired content appears on your TV. Wouldn't it be great to be able to control Chromecast via your PC, though? Now, the Chromecast client Castnow [1] for Linux and Mac systems lets you control your Chromecast from a terminal window.
Casting with Castnow
Castnow is a command-line tool based on Node.js [2] that supports playing multimedia content on a Chromecast dongle – without having to touch an Android device. Castnow supports playing local music files or movies, YouTube clips, movies stored on the network, and even directly from torrents. The program also lets you connect to an existing Chromecast session and control it from your computer. You just need an Android or iOS device with the Chromecast application to set up the program.
The system requirements are a current version of Node.js and optionally a tool for recoding videos to Ffmpeg. On Ubuntu, you can install Node.js, including the matching package manager npm, in the Node.js package from the package sources – but even Ubuntu 14.10 has an ancient version of the framework. You will thus want to install Node.js from the PPA package source by Chris Lea [3] (Listing 1). The package source provided by NodeSource for Debian and Ubuntu [4], in contrast, takes you to a Node.js version that Castnow does not yet support.
Listing 1
Installing Castnow on Ubuntu
The Ffmpeg program for transcoding is also not entirely easy to install on Ubuntu because versions of the distribution since v12.04 rely on the Ffmpeg fork, Libav. You will have to wait for Ubuntu 15.04 "Vivid Vervet" for Ffmpeg to rejoin the package sources. Because Libav covers more or less all of the Ffmpeg feature scope, you can simply create a symlink on your system; Castnow now believes it has found Ffmpeg. Users of Arch Linux can install Node.js and Ffmpeg via the central Pacman package manager; alternatively, you will also find Castnow in the Arch User Repository AUR of late (Listing 2).
Listing 2
Installing Castnow on Arch Linux
Castnow is now ready for use. When you call it from a terminal window, as shown below, the program automatically grabs the first Chromecast dongle it finds on the network.
$ castnow <example-video>.mp4 $ castnow <example-video>.mp4 --device "<devicename>"
If you use multiple Chromecasts on your network, then you can address one of the devices specifically with the --device
option. You assign a name when you set up the dongle. You are shown the name in the Chromecast app on your phone (Figure 1). The name is also displayed on the Chromecast status screen unless it is playing something.
Besides locally stored videos, Castnow also now streams web movies or YouTube clips directly off the web on your Chromecast. In addition to conventional sources, Castnow also supports BitTorrent downloads – for this to work, you need to add the URL for the torrent or a Magnet link to the Castnow command. Make sure you are not infringing on any copyrights. Because of the peer-to-peer protocol used by BitTorrent, you are automatically distributing what you download on the web. Be sure to download only non-copyrighted material in this way.
Amateur movie makers will appreciate the --tomp4
option that lets you convert virtually any video format with Ffmpeg to a format that Chromecast understands (typically H.264 or VP8). Thus, there's no need to convert movies from compact cameras or digital movie cameras to another format up front, thereby wasting storage space on your disk and potentially also wasting time. Listing 3 contains examples for populating your Chromecast with music or movies from your computer.
Listing 3
Populating Chromecast
While you are playing back a movie, you can press the Spacebar to pause; pressing it again restarts at the same point. Pressing M mutes the sound, and the Up and Down arrows increase and reduce the volume. You can tell from the cyan background how much of the movie is still missing (Figure 2). The Castnow developer has now added a feature for fast forwarding or rewinding movies with the Right and Left arrow keys. After appending multiple tracks to a pseudo-playlist, you can jump to the next title by pressing N. Pressing S quits the playback.
Conclusions
As a command-line tool, Castnow logically lacks a neat interface, but it still fulfills its task well. Doing without a GUI makes the Castnow perfect for experimenting with your own developments and, for example, controlling a Chromecast device with a script. Even without a script, Castnow is very useful if you want to stream a movie on your TV set without detouring. For more complex projects, Castv2 [5] is also well worth looking into: It lets you implement Chromecast features in your own applications.
Infos
- Castnow: https://github.com/xat/castnow
- Node.js: http://nodejs.org
- Node.js PPA for Chris Lea: https://launchpad.net/~chris-lea/+archive/ubuntu/node.js
- NodeSource: https://chrislea.com/2014/07/09/joining-forces-nodesource
- Castv2: https://github.com/thibauts/node-castv2
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Canonical Releases Ubuntu 24.04
After a brief pause because of the XZ vulnerability, Ubuntu 24.04 is now available for install.
-
Linux Servers Targeted by Akira Ransomware
A group of bad actors who have already extorted $42 million have their sights set on the Linux platform.
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.
-
Kodi 21.0 Open-Source Entertainment Hub Released
After a year of development, the award-winning Kodi cross-platform, media center software is now available with many new additions and improvements.
-
Linux Usage Increases in Two Key Areas
If market share is your thing, you'll be happy to know that Linux is on the rise in two areas that, if they keep climbing, could have serious meaning for Linux's future.
-
Vulnerability Discovered in xz Libraries
An urgent alert for Fedora 40 has been posted and users should pay attention.
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.