Music and movies over the air

Hi-Fi audio and videos experiments, from lazy non-audiophile linux/iOS users.

Objective: play music in the house, from whatever devices, with ease and decent quality.

Nice to have: make it simple for movies too?

Non objective: super audiophile / cinephile quality.

1. Sources

2. Output, amp, speakers

2.1. Marantz amp

in the living room, with its 6 loud speakers.

2.2. DONE Airport express in the attic

It needs a speaker?

Maybe I could attach something to it, like a

3. Setup the Raspberry Pi

3.1. RPi with HifiBerry DAC+ pro Hardware Attached on Top DAC

I use the RPi2, which requires less power to run and seems sufficient for the job at hand.

The RPi is USB and ETH attached to the Airport Time Capsule right next to it. No power block, no wifi dropping frames. Less pover consumption.

3.2. System and packages

Raspbian seems OK.

Regarding the post-install config, mostly about deactivating stuff to lower the power consumption:

# /boot/config.txt
[all]
# should disable wifi, bluetooth and hdmi at boot time, lowering power consumption
dtoverlay=disable-wifi
dtoverlay=disable-bt
hdmi_blanking=2
#dtoverlay=vc4-fkms-v3d
dtoverlay=hifiberry-dacplus

# builtin audio must be deactivated
#dtparam=audio=on

Also, HDMI deactivation could live in another place, so add the following to /etc/rc.local :

# Disable HDMI 
/usr/bin/tvservice -o

Then, some packages should be installed:

sudo apt-get update
sudo apt-get upgrade

sudo apt-get pulseaudio pulsemixer pamix shairport 
pulseaudio-module-raop pulseaudio-module-zeroconf cmus mpd mpc

3.3. Airport streaming

Airport works out of the box, using pulseaudio. One should use paprefs to allow them locally on the client.

3.4. PulseAudio streaming

Pulseaudio remote has to be activated

systemctl enable avahi-daemon.service
systemctl start avahi-daemon.service

Edit /etc/pulse/default.pa and add these lines:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1
load-module module-zeroconf-publish

In the end, I mostly use spotify with the RPi+shairport mode. It's not brilliant because shairport is not great.

Maybe I should try to run some spotify server/client thing on the Pi, to be controlled as as a remote player.

4. … and video?

Video is something else. There is a lot more DRM and proprietary walled gardens. On the other hand, there is piracy, subtitles issues and the poor ergonomics of VLC.

For once, we mostly use services, netflix and prime video, on iOS and linux, so there is little need for a custom setup for VLC and other players.

At first glance, the rpi is a lot mone functional, with many extensions possibilities bit the main sources of content I use are just not available out-of-the-box. I am not going to pirate something I pay for and don't care too much about.

4.1. DONE Chromecast

I have first generation chromecast in the attic that I never quite used for anything. It doesn't work with firefox and the command line support is clunky. I am not quite sure it isn't a spy in the house though.

However, it works just fine with the aforementionned providers from iOS apps. Quick win.

Anyday, it's mostly that for apps and HDMI for the rest.

4.2. KO RPi and Kodi

kodi is an extensible media entertainment all around applications that allows to play content from different providers, such as a NAS but also Netflix or prime video with a third party plugin.

It's big and broken by design. Third party plugins are released on forums, they break and are not vetted for security or anything.

The best bet though seems to be libreelec (just engouh OS for kodi) and OSMC (larger, net only kodi).

It could work, but unfortunately, it's just not that great.

4.3. KO RPi and DLNA server?

Nothing streams to dlna but VLC. Netflix or prime won't accept it.

4.4. KO Plex?

Plex is proprietary? Hybrid as it seems.

It's a different architecture, with a client and a server, the client being mostly mobile and the server being a NAS, a RPi, or something similar.

There are no plugin / addons nowadays, which I feel makes it actually better.

The downside however is that the mobile clients require a paid for subscription. And without these clients, there is no streaming to be expected.

4.5. KO Simple debian on RPi, with bluetooth keyboard?

Netflix / prime would be a dog with in browser. The chromecast thing is superior in that re

4.6. Remotes

4.6.1. DONE Apple remote

Requires an USB IR receiver dongle, which can be found on amazon for 30 euros. Which is more than the cost of a rpi …

  • flirc which seems to be "smart" aka a pain to configure. Actually, it's fine and easy :)
  • tira-4 H which seems dumb enough to emulate a keyboard, which is all we need.

I guessed that aliexpress would have more and cheaper, but went the flirc way, no regrets.

4.6.2. DONE Bluetooth keyboard

I have an apple one, which should work OK as a BT keyboard. The kodi UI isn't keyboard only, but it could work if not a bit more cumbersome than a simple remote.

4.6.3. DONE Actual iOS devices and laptops?

With chromecast, this is easy, it's just built this way.