The Quest for an iTunes Replacement (Updated)

As the Frankenstein of the media ecosystem, gets a (deservedly) bad rep for having become one the most counter-intuitive pieces of software known to man. It is a syncing and update tool for devices, an app store, a music store, and, sometimes, a passable music library management tool – something it only bothers to do for a hobby.

My guess is that having a single touch point for media purchases is the only reason doesn’t break it off into a set of separate apps, but to be honest, I really wish they split it into at least three things: an maintenance utility, a unified / app store, and a simpler, faster, media management (and store) app.

The only thing about it I use regularly is iCloud Music Library, a service that I’ve come to rely on because most of the music I listen to isn’t on streaming services (which don’t interest me in the least) and it is the only thing that syncs (almost) seamlessly to my phone.

But I cringe every time I have to use to import a new album (not in the least because USB CD-ROM drive support in seems to be getting flakier and flakier), or when trying to match classical music tracks (which is almost impossible to get right the third time), and I suspect that, as a service, iCloud Music Library is not long for this world, since it simply isn’t as profitable to as their new music service.

Not Even On Rainy Days

That said, the overall flakiness of and ‘s growing disconnect with their user base has been getting to me to such a degree that I decided to replace it for one of my use cases – managing my video library, which I’ve been doing with it for , after during which I mostly used several variations of what is now Kodi.

I have in my library, all of which were painstakingly tagged using and hence have nearly perfect metadata, and alongside them are a few hundred episodes of classic TV shows that I got on DVD at discount rates off Amazon (I’m probably one of the few humans alive who has yet to watch Game of Thrones or Breaking Bad, largely because I’m waiting until I can pick them up at leisure).

And yes, I know about BitTorrent – I just like to get decent audio and subtitles into the bargain, so all the files I ripped are in .m4v format, neatly bundling dual 5+1 and AAC stereo audio tracks (often more in the case of kids’ movies, of which I save both English and Portuguese versions), subtitles, metadata and cover art.

The Hardware Stack

All that stuff sits on an ancient Synology NAS that I got , which is auto-mounted on an ancient (until recently, my old desktops got retired into media center duty), where I run as a unified (if schizophrenic) management UI of sorts.

But keeping a on life support for the sole purpose of serving up my media library is no longer a feasible approach. Not only has apparently put its non- desktop ranges out to pasture, it’s also a waste of computing resources when compared to newer alternatives.

Also, over the years, they kept making a hash of things like Home Sharing – my randomly complain about not finding the server, keeps getting stuck after running a couple of weeks, and it takes forever to find and stream music from my home library using an .

So I turned to third-party solutions like to be able to stream my own media properly to my . It works great (and I use it to sync stuff to my when I travel), but it’s something I wish had done properly.

And speaking of things they could have done properly, I’ve been holding off on getting a new , too, at least until it is at least nominally able to playback 4K content – I’ve recently sold off my 2 and am only holding on to the 3 because AirPlay is super-useful, but I’ve decided enough is enough and began looking beyond the ecosystem.

Enter (Ras)Plex

After years of people telling me to try Plex, I finally decided to do it in earnest. I’m not a fan of their pricing model or the need to authenticate to run a home-only server (you can bypass that, but only to a point), but so far the experience was very nice – I set up Plex server on a small VM on , pointed it to the NAS, and it slurped everything in (with some mistakes, since the metadata importer isn’t very bright).

The app is nice, too (although, again, authentication and the “upgrade to premium” prompts still irk me a bit), but the big surprise for me was RasPlex – a free Plex client for the – which is an amazingly polished experience.

I installed RasPlex on a 3 and it “just worked” – pointing it to the server was trivial, and I could navigate the whole UI using the original TV remote (via HDMI-CEC).

It’s not as nice and polished as an 4, but it surely does the trick, and at a much lower price point. I also tried it on a 2, and the user experience on both was fluid and without any performance glitches, but it was noticeably faster on the 3.

Everything has been working out fine over the past few weeks (except occasionaly glitches when I switch the HDMI input on my LG TV and CEC gets confused), so I decided to up the ante a bit and migrate the server to a 3 as well.

However, since I don’t fully trust the Plex binaries and don’t want to pollute the host userland, I decided to build a Docker container to run the server, which lets me keep tabs on it and upgrade it relatively easily in the future. The setup is straightforward (if geeky) since and I’m taking advantage of ‘s macvlan network driver to publish the container directly on my LAN – that makes it easier to mount my NAS on it via SMB and get auto-discovery to work.

The only obvious caveat here is that the 3 is useless for transcoding media on the fly, but since all my videos are already in the “right” format I just disabled automatic transcoding. I left thumbnail generation on, though, so it took a few hours to scan through my entire library.

Total cost for both client and server? Oh, around €80 (including nice cases and one new PSU) – i.e., nearly a third of a new (which would never be able to talk to my NAS on its own).

I might buy a new when it’s out (because Netflix beckons and I like my current audio setup in my living room, which requires an optical audio out port), but I suspect I’ll use it to talk to Plex too.

I will also look at moving my music library completely outside for listening on the go, but since I don’t like the Plex player for music, I’ll take up that challenge later.

Maybe it’s a sort of “reverse halo” effect, but I feel myself getting and further from ever since their Fall event (if you’ll pardon the pun). They keep dropping the ball, and I have better things to do than putting up with half-baked solutions – I’d rather roll my own.


Update: Two Weeks Later

A few days later I decided to try importing my music library into Plex (again by mounting it as a read-only folder via SMB) with the rather predictable outcome that the metadata, album art and extras it downloaded completely filled the SD card.

So I started doing a few more experiments, one of which was running Plex with the metadata folder stored on a writable SMB share. That was appreciably slower, but the deal-breaker was that Plex apparently uses hard links to manage assets, so that effectively broke all the cover art.

I then briefly considered moving everything to NFS (and might well end up doing it for the extra performance when accessing media), but since that wouldn’t satisfy the hard link requirements I caved in, dug out an USB disk and mounted that as the Plex working folder (with all my original media still on the NAS) and the container root – with the nice side effect that container builds are now much faster.

But the icing on the cake was that I chanced upon an old Gen 1 Chromecast (which I had put away because it’s pretty much useless in an iOS-centric household). As it happens, Plex supports it for “casting”, sure, but is also able to display cover art and metadata when playback is paused, and the overall experience is (it must be said), way smoother than ‘s.

There are a few drawbacks (I do need to use an or an device for playback control and there’s no optical audio out on this model), but it neatly circumvents the HDMI-CEC issues I was having with RasPlex, so I’m now using the Chromecast for video playback, and exploring the wild new frontier of Plex shared libraries.

I’m also planning on getting rid of for managing media (except music, at least until I figure out when my iCloud Music Library subscription expires) and replacing the with a (for now, until I find something a little beefier).

I don’t think I’ll be embracing Plex for syncing my music to my phone (it feels too clunky for that), but I’ll definitely start looking at alternatives.

In short, I’ve never had it this good, and by the looks of it, if ever wants to get near my TVs again they’d better come out with something really good – not just in hardware and UX, but also as far as openness is concerned.

This page is referenced in: