Our KODI Setup

Introduction

KODI is open source entertainment system software commonly found on Android boxes and often used to stream Movies and Television shows. Our KODI setup is a bit different. While we do watch some streaming shows through the Crackle and Popcornflix add-ons, we mainly use KODI to store our Blu-rays, DVDs, CDs and Photographs. We run KODI on a variety of hardware: Desktops, Laptops, Android boxes, and we use our systems, tablets and phones to stream and control KODI.

Overview

Our main KODI box is a desktop computer that lives in our living room close to our television and surround sound entertainment system. This desktop acts as a server storing and serving all our media collection to our TV and to other systems in the apartment. There are two other non-smart televisions in our apartment, one of which has a Windows 10 desktop computer connected to it, and the other a Zoomtak T8H Android box. Both devices can read the movies, television shows, music and pictures stored on the main server. I use a different desktop PC running Ubuntu 18.04 to rip DVD and Blu-ray media, then transfer that media to the server over our gigabit LAN connection. While we could stream content over our wireless router, Blu-ray media tends to be very large and would likely cause buffering issues.

Systems

KODI - main KODI server

  • Intel Core i5-2300 @ 3.10 GHz (4 Cores)
  • Gigabyte H67MA-D2H-B3 motherboard
  • 8GB 1600MHz DDR3 RAM
  • NVidia GeForce GTX 970 4GB PCIe video card
  • 120GB Samsung SSD 840 + 8TB Seagate ST8000VN0022-2EL
  • Corsair Carbide SPEC-01 case
  • Xubuntu 16.04
  • KODI 17.6
  • SAMBA - for sharing with Windows Computers
  • Lirc - for HP media centre remote integration
  • HP Windows Media Centre remote + IR Receiver model #OVU400103/00
  • SAMSUNG 40" LCD TV - Model #LN40A330J1DXZC
  • Brendell BR-201A 5.1 Channel AV Surround Integrated Amplifier (takes 8 ohm speakers)
  • Sony 5.1 speaker system (8 ohms)

Our KODI server has undergone many changes over many years. The most recent incarnation of our server features a Core i5-2300 CPU on a Gigabyte H67MA-D2H-B3 motherboard. The switch to a faster processor and more capable motherboard was prompted in part by lousy SFTP transfer speeds to our old system and by the addition of Steam to our KODI server. For years we've made due with an NVidia GeForce 210 PCIe video card. The 210 is great for watching video, but lousy when it comes to rendering frames for games. Upgrading to an NVidia GTX 970 means we can now play some AAA titles through Steam. We're using the Steam add-on for KODI to unify the system. There's still a couple of bugs to work out with respect to KODI support of the XBox 360 controller, but otherwise KODI and Steam mostly work together pretty well.

Our living room computer acts both as a server and as our living room entertainment system, but we don't use it to rip media. For that I use my main home workstation. It's a bit less beefy than our KODI entertainment system, but I've used it to rip all the media stored on our living room server.

TANK - Media ripping computer (my desktop)

  • AMD A8-5600K APU @ 3.60GHz (4 Cores)
  • Gigabyte F2A85XM-D3H motherboard
  • 16GB 1866MHz DDR3 RAM
  • 500GB Samsung SSD Evo 860 (Xubuntu) + 1TB Western Digital WD10EZEX-00W (Windows 10)
  • Pioneer BDR-207 Blu-ray player.
  • AMD Radeon HD 7560D ARUBA (onboard) graphics
  • Realtek RTL8111/8168/8411 LAN
  • Antec Three Hundred Two case
  • LG 22" LCD Monitor
  • Ubuntu 18.04 LTS / Windows 10 Home edition (update 18.04)
  • MakeMKV (Licensed/Registered)
  • Handbrake
  • Rhythmbox
  • K3b
  • Filezilla

TANK is my go-to computer for coding, media ripping, and general fun. It's not connected to a TV, but an LG 22" LCD monitor. TANK has 2 drives, a 500GB SSD on which Ubuntu 18.04 resides and a 1TB Western Digital Blue hard drive on which Windows 10 Home lives. The Windows 10 partition is used when developing Fasteroids, the Asteroids clone we're working on. The rest of the time I usually spend on Ubuntu. I've recently upgraded the SSD going from 120GB SSD to 500GB so I can rip more Blu-rays without needing to transfer them immediately over to our KODI server.

For the past couple of years I've been using Handbrake to rip DVDs (with subtitles). For ripping difficult DVDs and all Blu-ray media I use a licensed copy of MakeMKV for Linux. There's a lot of talk about "rip-lock" when it comes to DVD and Blu-ray drives. Although the Pioneer BDR-207 Blu-ray is an older Blu-ray player (not writer) much of the Internet suggests that it doesn't suffer from rip-lock issues. My experience is that it's not particularly fast with most Blu-ray rips running at about 2.5x on the "apparent" 8x player (sounds like rip-lock to me). Whatever the case may be it's been reliable given the hundreds of DVDs and Blu-rays I've ripped on it over the last 3 years.

I'm pretty happy with the speed of the processor, ripping and encoding DVDs doesn't take that long. Ripping Blu-rays is more dependent on the Blu-ray drive itself so a CPU upgrade wouldn't help a lot. Upgrading the CPU would pretty much mean buying a new Ryzen system, something I'm not willing to do at the moment given that this system still works pretty good. I may upgrade the SSD and add a low end GTX 1030/1050. I definitely need the extra space and could use the video card for testing some of the Steam titles I've been downloading.

Zoomtak T8H Android box

  • Android 5.1 Lollipop OS
  • Amlogic S905 Quad Core 64bit Cortex-A53 Up to 2.0GHz
  • Penta-core Mali-450MP GPU @ 750MHz
  • 2GB DDR3
  • 16GB eMMC storage + SD card slot and potential expansion via USB
  • GigaBit Ethernet
  • 802.11 a/b/g/n/ac Dual Band AC Wi-Fi (2.4GHz/5.8GHz)
  • KODI 17.3 - Zoomtak haven't released an update for a long time!
  • RCA 32" LCD TV

Deciding which Android box to buy was a tough decision. At the time of purchase the Zoomtak T8H looked like a good choice because of it's specs and metal chassis. The next Android box we buy will probably be another MyGica box. We bricked an old box, but the MyGica team were miles more helpful and communicative than the Zoomtak team (whom we reached out to several times about a small remote issue and never got an answer). The Zoomtak box has only been updated once since we purchased it a couple of years ago, whereas our previous MyGica box maintained regular updates.

Zoomtak claims they update their android boxes regularly, but in my experience this hasn't been a true claim. The T8H features a "one-click" installer for a KODI add-on "build." It's this add-on build that gets updated regularly, not KODI or Android. We're not a fans of the "build" as it slows KODI down significantly. We use the stock KODI install and mount the SAMBA shares from the living room to display all our server content in the room with the Zoomtak box. I really wish Zoomtak provided more updates for Android and KODI itself. The version of KODI on the T8H is 17.3 (17.6 is current as of this writing and has been out a long time).

Configuration

Storage Setup

Over the years we've gone through a lot of different storage setups starting with a 250GB hard drive to our current storage solution, an 120GB SSD for the Xubuntu operating system plus an 8TB Seagate Ironwolf drive for storage. Prior to this the server had 3 drives, 2 x 3TB and a single 2TB drive. The 3 drive setup worked for our DVD storage, but Blu-ray files can be very large unless re-compressed (movies like The Lord of the Rings - The Return of the King can take up to 32GB). By mid-2019 I expect to upgrade to a 12TB or larger drive. I've had particular luck with Seagate drives. With the exception of a 1TB drive all our Seagate drives are in good shape.

Movies are divided up by media type. The 8TB drive is mounted under /mnt/media. From there we have directories for Movies, TV, Music, Pictures, and Music_Videos. The Movies and TV further are sub-divided into Blu-ray and DVD directories. Blu-ray files are stored in the Blu-ray directory. DVDs are stored a bit different since we've been ripping our DVD collection for a very long time using a variety of methods (the first was just using transcode on the command line). Our current method for storing DVDs is to store them in a directory name that matches the name and date of the movie below the DVD directory. For example:

/mnt/media/Movies/DVD/The Exorcist (1973)/The Exorcist (1973).mkv

Part of the reason we've moved to this method is to differentiate between the files we've ripped with subtitles (thanks Jeff Smith) and the movies we haven't. The other part of the reason we've moved to this method is because we're getting close to 850 DVDs in our collection - throwing all files in one directory gets a bit unwieldy when you start adding .srt subtitles and extra meta-data.

File Sharing

We use SAMBA to share files with the Windows computers in the apartment, but all SAMBA shares are read-only. This is to prevent crypto-malware from encrypting the shares. Movies are ripped on a Ubuntu computer then transferred over via SSH. That Ubuntu computer is mostly used for development and ripping our media collection, it doesn't have the best specs, but it's certainly more than capable of ripping all our media.

Extras

LED Lighting (on back of TV)

The TV in the living room and one other room both have LED lighting on the back. The company that made our lights, Quingdao Up-Lights Technology, Co. LTD, appears to have gone out of business in late 2016. The web site listed on our box is no longer working, though there is a link that suggests the company might still exist: https://uplights201603.en.ec21.com/company_info.html. These were the first LED strip lights we've bought and we learned some valuable lessons from buying them. One of the things that attracted us to these particular lights was the length of lights we got for under $50 CDN. One local company was selling LED lights for roughly the same price, but less than 1/8th of the length offered by Quingdao Up-Lights.

The upside to the Up-Lights are: the remote is much better than ones we've seen locally, and the length, we got 2 spools completely filled with LEDs. I can't remember the exact length but I think each spool was between 20 - 25 feet (we still have 1 spool full in a sealed bag). Having never had LED strip lights before it was important to have the extra length so we could experiment with soldering them. Soldering the LED lights together was a bit more difficult than it might be for other LED lighting set-ups. The Up-Lights have 4 small solder points. Many LED strip-light kits only have 2 solder points making it much simpler to solder since you don't have as many wires to solder. We probably chose wire that was a little too heavy gauge as one of our strips had the copper lift off the LED strip because of the twist/pressure from the wire. There are lots of excellent Youtube videos on soldering LED lights. Some tips to remember:

  • If you've never done this before experiment on a small length of LED strip you're not going to use
  • Don't forget to tin your iron first
  • Add solder ("tin") to the wires you're joining the strips with
  • Add solder ("tin") the solder points on the LED strips
  • The tinned soldering iron should just join the tinned wire to the tinned solder point on the LED strip - it only takes 1 second
  • Build a wooden frame out of balsa wood and mount the LED lights on it, then it on the back of the TV

If you can, buy digital LED lights. The Up-Lights we bought were analog. We didn't realize this at the time of purchase. With digital lights you can do neat projects like the KODI Bob-light add-on where the lights change with the music/movie mood. Again, try to buy LED lights with only 2 solder points, it's a lot less work and more flexible.

Other Remote Controls

The remote that came with our pricey Zoomtak T8H is quite frankly garbage. In fact I've found that most remote control that come with Android boxes tend to be poor quality and lack the features of a remote like the HP Media Centre remote we use with our KODI server. We've tried quite a few different remote controls over the years. One popular solution is the Mini Keyboard UKB-500-RF. We bought one for $30 at a local store only to find that the down rocker didn't work very well. Shortly after we found the exact same keyboard (new as well) for $15. That half-price keyboard worked perfectly.

Starting in the top left the remotes pictured are:

  • HP Media Center remote - HP Product Number: 5069-8344, IR receiver (model soon), needs 2 x AA batteries
  • Mini Keyboard - Model: UKB-500-RF - IR receiver inside until, phone battery BL-5C, rechargeable
  • IOGear keyboard - Model: GKM681R - IR receiver (model QLERXGKM681R) in bottom
  • Zoomtak T8H remote, no model information on remote, needs 2 AAA batteries not included with the $180 unit - cheap bast**ds! IR inside T8H unit.

We also have a Logitech Harmony 650 remote (model: N-I0003) which we haven't used in part because some of the other remote control units actually have more functionality. Update (June 10, 2018): Add a Logitech K360 wireless keyboard to the mix of wireless devices we have. This afternoon we picked up the K360 (minus the Logitech unified wireless receiver) for a measly $3 from Value Village. The K360 was in particularly good shape and looked clean between the keys (I wiped it down and it was actually quite dirty), but it lacked the unified wireless receiver. We saw the same keyboard at a few other Value Villages for double the price and in worse condition.

We'd be remiss if we didn't mention the 2 XBox 360 controllers and wireless receivers that have been sitting collecting dust until today. More about these controllers this under the Steam Gaming category.

Steam Gaming

After our son took us to a retro arcade (that had a lot of machines which were probably cabinets with RaspberryPi systems inside) it struck me that it is possible to have a fun family gaming experience outside of consoles. Although it's not in the Official KODI add-ons there is a Steam Launcher add-on for KODI.

WARNING:
You'll have to toggle on unknown sources in order to use the Steam Launcher add-on. The KODI team cautions against trusting unknown sources since code could be used to intercept data you may not want collected. We took the chance for the Steam add-on since the developer has posted a bunch of times in the KODI forums and quite a few popular sites have tutorials on how to set-up this add-on.

Toggle unknown sources to on by clicking on:

The Settings Gear > System Settings > Add-Ons > Unknown Sources

This just lets you install the Steam Add-on. Steam needs to be previously set-up on your system and Linux users will also want to install wmctrl. On *buntu Linux type:

sudo apt install wmctrl

A few weeks back we purchased Aseprite, a cross-platform image editor that's really handy for creating animated sprites. We used a pre-paid credit card. There was a bit left over on the card so we picked up a few Steam titles through Humble Bundle (Aseprite was being sold through the Humble Bundle store). The titles included Tiny Keep, Deponia (Steam link), and 10 Second Ninja X (Steam link - Windows only, won't work for our KODI/Steam server). Tiny Keep and Deponia both run on Steam under Linux, but 10 Second Ninja X is a Windows-only Steam game. We bought the 10 Second Ninja X since the developer used Gamemaker Studio (the same engine we're using to develop Fasteroids).

We also had several Steam games that came with the GameMaker Studio 1.4 Humble Bundle we purchased over a year ago. Back when the bundle was purchased we didn't realize the Steam keys for each game also needed to be redeemed (or could be gifted to someone else). Almost a year later and we were still able to redeem the keys.

Gaming isn't all that fun without good controls. It occurred to us that while the IOGear keyboard is just fine for movies it was probably just a bit on the small side for gaming. We really didn't want to go full keyboard unless some fantastic mechanical wireless keyboard dropped in our lap, so we started thinking about buying a wireless keyboard. As luck would have it we found a Logitech K400r keyboard in very clean condition (at least between the keys) at a thrift store for $3. The Logitech unified receiver was missing, but this wasn't a big deal since a lot of Logitech wireless mice come with them and we were sure we'd find one at Computer Recycling (they're rare for us, but not impossible to find).

And what would gaming be without good controllers? A couple of years ago Santa was very generous and brought us not one but two XBox 360 controllers with the original Microsoft wireless dongles. The controllers work fine with Steam, but despite following instructions for getting the controllers to work on Xubuntu + KODI we still haven't been able to get them to work for the KODI menus.

We mentioned a few Steam games earlier, one of our favourite games to play on the big screen is Super Destronaut, a twist on the classic Space Invaders. Super Destronaut has full controller support (unlike quite a few Steam games that claim full controller support, but don't actually support the controller for things like the game menus) and is one of those games that's great to play for short periods of time.