The first question I’d be asking if I’d read the other Plex 🙁 emby:-) blog is whether emby is actually a good replacement for Plex, or is it just too much of a compromise?  Well, ‘out of the box’ so to speak, I’d probably say it wasn’t but it’s not too difficult to add in some of the missing pieces and after a few days configuring and testing I’d say it mostly is.

One of my biggest issues with the direction of travel for Plex was the need for everything to be connected into a plex.tv account.  Plex started life as local media server application, and devices connected directly to the server.  To make this easier for remote connections, Plex introduced the plex.tv service, which at the beginning was fine as it took away the problems of trying to configure this manually, but still retained the ability to configure clients manually when connected to the same network.  Over time, more and more things have been dependant on the server and clients being connected to plex.tv, with a number of the newer clients (like the ones for Apple TV and the new Plex Media Player) only working through a plex.tv connection.  Not great if you lose internet connectivity, and then find you can’t even view media content on a server sat on your own local area network.  Having everything connected to plex.tv also makes it very easy for Plex to collect whatever data they want, by simply updating their privacy policy!

Anyway, emby has a similar service called Emby Connect, but given my experience with Plex, I wanted to avoid this at all costs and set up a direct connection to my emby server.  To replicate the functionality of Plex, this also needed to be a secure https connection.  I already had an emby jail running on my FreeNAS box, and whilst it was a little out of data, I had set up similar media library shares to the ones I used on Plex, so these had been updated in the background as new content has been added.  So my first step was to update emby and get it set up to connect from an external DDNS.  I already have a few domains, so simply created a subdomain (e.g. emby.domain.co.uk) directed to my home IP address.  With some changes to port forwarding rules on my router, this all worked fine, so now to make it secure.

I already have a jail acting as an SSL reverse proxy, so it made sense to create the certificates on that and map to them from the emby jail.  I’m not using the reverse proxy as I’m using a specific port for emby, but keeping the certificates in the same place should make updating them every 3 months much easier.  So time for another letsencrypt certificate.  I’ve covered this in more detail here, but it was just a case of running the following command in the jail:

certbotcertonlywebrootw/usr/local/www/d emby.domain.co.uk

This ran without issues and created the necessary files in the letsencrypt/live folder.  My first problem was the format!  Certbot creates 4 certificate files, all in a .PEM format, but emby wants a single certificate file in a .PFX format.  A little Googling found the solution:

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile cacert.crt

It should have then just been a case of mapping a folder in the emby jail to the letsencrypt folder in my SSL proxy jail, and whilst this exposed the files, emby didn’t seem to like any of them.  Some more searching on the emby support forum, and I spotted my schoolboy error and one I continue to make time after time.  emby simply needed permission to use the file, so a quick chown -R emby:emby certificate.pfx and I could connect securely.  Result!

I was going to look into redirecting HTTP requests to HTTPS, but then thought it would be easier to just disable the HTTP access in the router.  I’m only going to be sharing this with family and friends, so can give them some instructions on how to set up.

So pretty straightforward really, and I now have much more control over my own media server and how users can connect, without using any 3rd party services that might suddenly change their approach to my privacy.

So what have I found with emby whilst doing all this?  Whilst it’s very similar to Plex in a number of ways, it’s quite different in some others:

  • So far, I’d say Plex is quicker to find and play content.  This might be me getting used to the interface, but it feels slower.  emby also has an annoying spinning ring when it’s thinking about doing something.
  • Plex allowed you to create Smart Playlists based on specific criteria (e.g. all films by Disney/Pixar) – emby doesn’t have Smart Playlists, although Collections are quite useful if a little long winded to create.
  • emby allows for much greater customisation of the home page, in terms of how things are presented and laid out
  • emby has a lot more activity information built in, and a plugin for even more statistics (which is similar to PlexPy, although not a separate app) but it can’t compete with PlexPy which updated in real-time.
  • emby actually has a useable programme guide for its Live TV, which shows a timeline and channel listing like any standard DVR.  This was a major omission on Plex
  • emby aren’t collecting any data about MY content on MY server or any of the clients which are connecting to it!!!

emby is also like Plex in the some of the functionality is only available with a Premiere subscription.  This is called a Plexpass on the other side, and I purchased a lifetime Plexpass back in 2011.  I don’t think I used all of the Plexpass features, but I did use it to sync media content to mobile devices when travelling and had also recently started to play with the Live TV and DVR functionality, although mainly use my Virgin Media service for this.  I’ve taken out a month Premiere subscription just to check some things out, and then I’ll play with it for a month without to see if there is anything I really miss.  I’m hesitant to buy another lifetime subscription after what’s just happened over at Plex, but at the same time just over $100 is hardly a big investment.

I’m sure I’ll discover much more over the coming months, but for the time being, I’m relatively happy with emby as a Plex replacement.  I’ll be providing my friends and family with access shortly, and I’m sure they’ll provide their own feedback.  One of the biggest tasks I have is checking and correcting much of the metadata in emby.  This has been done over several years on Plex and is a somewhat daunting task across ~10TB of media files.  Oh, and then marking which content I’ve watched and which I haven’t!  Wish me luck….

ps:  I did encounter some issues getting my first family member (my Mum!) connected using an Amazon Firestick.  It just wouldn’t work, but after some help from the emby community, the problem was identified as one with the SSL certificate.  It’s strange, as it was working with another device for her and it works OK with my Firestick, but having emby manage the SSL certificate just wouldn’t connect via HTTPS although it did work first time when I opened the HTTP port back up to test.  The short-term solution is to run the connection through my SSL reverse proxy, which also worked the first time, and leave emby to worry about the media rather than the security!  I also decided to recreate my emby jail, as it was running on a FreeBSD 9.3 template, so couldn’t be updated easily.  Given I was doing that, it also made sense to move the emby user data into a separate dataset, and mount that into the jail making backups easier.  All a very painless process, made easier with the reverse proxy approach, which took less time than it did for emby to rescan the library on the new installation,