Page 1 of 1

Output to Chromecast Audio

PostPosted: 24 Feb 2018, 14:02
by englishtim
Hi Everyone,

There seems to be a lot of interest in RuneAudio providing support for multi-room playback. Most of the postings I've seen here seem to involve getting multiple RuneAudio devices (each with their own DAC) to talk to each other.

However what I'm interested in is using RuneAudio to render across the LAN to a group of Google Chromecast Audios, instead of the current situation where it renders to a DAC via a physical USB or I2C connection. Does anyone have any opinions about this approach?

The concept I'm thinking about is as follows:
  • A single RuneAudio device (e.g. Raspberry Pi) handles library management and streaming of the source files into MPD in the usual manner;
  • MPD renders the files in the current playlist from the RuneAudio device via the LAN to Chromecast Audio (either a predefined Chromecast speaker-group or a single Chromecast Audio);
  • Each target Chromecast Audio does the D-A conversion and plays the audio through the speaker or hi-fi to which it's connected.

Nice to have: it would be good to see all the available Chromecast Audio devices & speaker-groups included in the "MPD Configuration" / "Audio output interface" drop-down list.

The reason I'm interested in this approach is that at least some of the technical infrastructure appears to be in place already - Google provides a Cast extension for the Chrome browser (and presumably Chromium), and RuneAudio supports the Chromium browser thanks to rern's excellent work on the Add-Ons feature. There are also a few projects on Github that might be relevant with this:

https://github.com/topics/chromecast-audio

I'm afraid I'm absolutely useless at coding, but I hope that forum members who are better at it than I am can figure out an easy way to install the Cast extension for Chromium on RuneAudio and get MPD to render through it.

Apologies if this has already been covered - Moderators: please feel free to move this posting somewhere else if needed.

Thanks in advance!

Peace and friendship,
englishtim

Re: Output to Chromecast Audio

PostPosted: 06 Apr 2018, 16:44
by englishtim
... anyone? Is this concept feasible at all?

Thanks in advance!

Peace and friendship,
englishtim

Re: Output to Chromecast Audio

PostPosted: 07 Apr 2018, 09:54
by ianhaynes
I have this working in a convoluted fashion, using MPD streaming. I then go to the stream url in a browser on my phone and use Google Home to 'cast my screen' to the Chromecast. There is a slight sync issue but as the rooms involved are not too close, this isn't a problem.

You can set MPD streaming up by adding another audio output to the MPD config: (this assumes you're OK editing Rune files via Putty or similar).

Code: Select all
audio_output {   
    type        "httpd"
    name        "My stream"
    encoder     "flac"
    port        "8000"   
    quality     "6"
    format      "44100:16:2"
    always-on    "yes"
    tags   "yes" 
}


Note: Don't replace the existing audio output, this is a new entry.

See the MPD documentation for more details: https://www.musicpd.org/doc/user/config_audio_outputs.html and https://wiki.archlinux.org/index.php/Music_Player_Daemon/Tips_and_tricks#Format

You then need to prevent the mpd.conf from being overwritten when your reboot your system, using

Code: Select all
chattr +i mpd.conf


Then, with something playing via Rune, open Chrome on your phone and browse to http://your-rune-ipaddress:8000. It will play in the browser. Now open Google Home, search for your Chromecast, and 'cast screen'.

I'm only using this as a temporary solution and intent to build another Pi based system to replace the Chromecast but will still pick the audio up via the MPD stream.

Ian

Re: Output to Chromecast Audio

PostPosted: 07 Apr 2018, 11:24
by englishtim
Hi Ian,

Many thanks for the suggestion, and your detailed instructions. I'll give it a try - it looks like an interesting way to extend RuneAudio's rendering options beyond the usual USB or I2C DACS.

Thanks again,

Peace and friendship,
englishtim