Illig Media Center Documentation Release 1.0

Travis Illig

Mar 24, 2021

Contents

1 Media Center Requirements 5

2 Network 7 2.1 Configuration...... 8 2.2 Providers...... 9

3 Hardware / Devices 11 3.1 Front-End Devices...... 12 3.2 Servers...... 23 3.3 Network Infrastructure...... 28 3.4 Televisions...... 33 3.5 Receivers / Audio...... 37 3.6 Speakers...... 39 3.7 Power...... 41 3.8 Deprecated Hardware...... 45

4 61 4.1 Collection Management Software...... 61 4.2 Ripping Software...... 64 4.3 Media Conversion Software...... 65 4.4 Software...... 87 4.5 System Software...... 90 4.6 Scripts and Tips...... 91 4.7 Deprecated Software...... 93

5 Services 111 5.1 Netflix...... 111 5.2 Hulu...... 111 5.3 Amazon Prime...... 112 5.4 YouTube ...... 112 5.5 Disney+...... 112 5.6 ...... 112

6 Media Formats 115 6.1 Video Formats...... 115 6.2 Audio Formats...... 117 6.3 Video Format Comparison...... 117

i 6.4 Physical vs. Digital...... 120 6.5 Containers vs. Codecs...... 120

7 Processes 121 7.1 Audio/Music Intake Process...... 121 7.2 Video/Movie Intake Process...... 122 7.3 Photo Intake Process...... 125 7.4 Home Video Intake Process...... 126

8 Plans/Roadmap 129 8.1 Network Attached Storage...... 129 8.2 Cutting the Cable...... 130 8.3 Home Automation...... 142

9 Disclaimer 149

ii Illig Media Center Documentation, Release 1.0

I love my media. Love it. Movies, TV shows, music. . . it’s amazing. I’ve amassed quite a collection, and I want to be able to enjoy it without a lot of hassle. I thought about it and came up with some general requirements for what I want in a media center, then put the plan in motion. My current system works like this: • I have a central server machine that runs and serves content that is stored on a network-attached-storage device. That’s how I get the media off disks and onto front-end devices. • I have a Tablo DVR for handling recording over-the-air TV programs and serving them. • I subscribe to Netflix, Amazon Prime, Hulu Plus, and Pandora for content. • At each TV in my house, I have an or a to access the content served by Plex and the various services. It looks like this:

Contents 1 Illig Media Center Documentation, Release 1.0

That, of course, is pretty high-level. You can dive into individual areas to read about the more detailed sections of the system. (If you want more on the diagram, check out the network page.) I started out blogging this information, but as time goes on, the blog entry updates upon updates get confusing. . . so I switched to documentation on ReadTheDocs. Please read the disclaimer. You may find things in here that appear “wrong” or that don’t work for you. I’ve addressed that in my over-arching, all-encompassing disclaimer.

2 Contents Illig Media Center Documentation, Release 1.0

And now. . .

Contents 3 Illig Media Center Documentation, Release 1.0

4 Contents CHAPTER 1

Media Center Requirements

These are the things I want to get out of my media center. Note that the goals change as time goes on, and with changing requirements comes changing hardware, software, and network. • Access to my movie collection: I want to be able to get to all of the movies and TV shows in my collection. I’m not terribly concerned with keeping the menus and extra featrues, but I do want the full audio track and video without noticeably reduced fidelity. It would be nice to be able to access movies from outside my home, but the only firm requirement is internal access. • Access to my pictures: I want to be able to see my family photos from a place outside my home office where the computers generally sit. It would be nice to access these from outside my home, but the only firm requirement is internal access. • Access to my music: I want to be able to get to all of the music in my collection from any room in the house. It would be nice to be able to access music from outside my home, but the only firm requirement is internal access. • Family acceptance factor: I want my wife and daughter to be able to navigate through the system and find what they want to watch or listen to with minimal effort. • High device compatibility: When choosing media formats, software, communication protocols, etc., I want things to be compatible with as many devices I own as possible. I have a large number of devices ranging from to iPad to Android phones. • Disaster recovery: I want to be as resilient to disaster as possible. If a hard drive dies, I don’t want to lose data. If my house burns down, I want to minimally save family photos, but additional things backed up is good. I have specific goals for other things listed on other pages. • Front-End Hardware Requirements

5 Illig Media Center Documentation, Release 1.0

6 Chapter 1. Media Center Requirements CHAPTER 2

Network

Here’s a diagram of how my network is laid out:

7 Illig Media Center Documentation, Release 1.0

2.1 Configuration

2.1.1 Jumbo Frames

Jumbo frames are a gigabit Ethernet thing that can increase throughput but you have to have all devices running gigabit and they all have to support the same jumbo frame size. Here’s a good article talking about what it all means.

8 Chapter 2. Network Illig Media Center Documentation, Release 1.0

I haven’t moved to jumbo frames because if all the devices on your network don’t all line up with the frame size (and if they’re not all wired) then you start dropping network packets. You can fix that by setting up managed switches (spendy) and set up VLANs that segregate the jumbo frames traffic from the rest of the network. . . but that’s really more than I’m interested in getting into.

2.1.2 Setting the Name / Type

After switching routers, my Windows machines started thinking the “new network” was a public network and stopped doing network discovery on things. It was also called “Network 3” or something like that and that didn’t help much. You can run secpol.msc and update the name/type of the network from there.

2.2 Providers

2.2.1 Comcast

We’ve had Comcast before, but we switched to Verizon due to pricing and good internet speed. After Frontier bought them, customer service went downhill, they constantly remotely reprogrammed our router (and denied it), and the pricing wasn’t so optimal anymore. We switched back to Comcast in June 2011. In 2015 we executed a plan to cut the cable. We reduced our service from phone + TV + internet down to just internet in an effort to save money. We make up for the loss of TV content by using various content service providers and we just use mobile phones for our primary contact. In June 2019 we switched back to Frontier because the Comcast internet, while nice, was getting spendy. We got Frontier at half the price for the same service.

2.2.2 Ziply Fiber

In May 2020, Ziply Fiber acquired Frontier Communications. It’s basically the same thing.

2.2.3 Frontier Communications

We switched from Verizon to Frontier after they purchased Verizon FiOS in 2010. Frontier hosed things up on my network constantly by remotely pushing policy and configuring the router. To repair: • Reset the router to defaults. • Set the admin password. • Disable wireless (at the time we were using the DAP-1522 for wireless). • On Advanced -> System Settings, change the local domain name to “home” if it’s not that already. (Frontier conveniently remotely made it “ftrdhcpuser.net” and now some domain names try to resolve on the internet.) • Log into the Windows remotely and verify access. If you can’t get to it, log into the WHS console, Settings -> Remote Access, and click “Repair” to update the router via UPnP. We left Verizon/Frontier FIOS in June 2011 and switched to Comcast. The price was better, the service was better, the TV and phone features were better. We didn’t get the same speed network as we had with FIOS, and we started out with a 250GB monthly cap (later lifted), but it’s a small price to pay for better service and folks not constantly remote-pushing changes to my network.

2.2. Providers 9 Illig Media Center Documentation, Release 1.0

In June 2019 we switched back to Frontier because the Comcast internet, while nice, was getting spendy. We had cut the cord and had internet-only service, and even then we got Frontier at half the price for the same service. Frontier appears to have gotten their act in gear since we last had them and it’s been reasonably stable. Late 2019 we had some networking hiccups where the network was going down intermittently. It turns out the ONT on the house was of a particular model that interacted poorly with one of the cards at the local substation. The card would think it was getting flooded and shut down, then ramp back up. This appeared from our end to be a network outage. Our router was blamed, so we bought new equipment (Ubiquiti) but then they located the bad card after all the new equipment was in place. Sigh. In May 2020, Ziply Fiber acquired Frontier Communications. It’s basically the same thing.

2.2.4 Verizon

Prior to 2010 we had Verizon FiOS for phone, TV, and internet. The internet plan was 35Mbps down/35MBps up.

Speed Issues

After upgrading to 35/35, on 2/25/2010 I ran a speed test to see what the results were. I got 20/15 from SpeedTest.net. Looking at the forums, this doesn’t sound uncommon. Trying the Verizon Speed Test, after using the optimizer I got 35/35 on a wired connection, but 3/47(?!) on wireless. • One person had to get the ONT on the side of the house replaced because the older hardware didn’t support the speed. • One person was able to run the Verizon Speed Optimizer on their machine and fix it. There was something in the network settings that needed to be changed, apparently. (That was specifically a thing, too.) The optimizer sets: – TCP 1323 Extensions - This parameter enables enhancements to the TCP/IP protocol that provide im- proved performance over high speed connections. – TCP Receive Window - This parameter specifies the number of bytes a sender (the source you are down- loading from) may transmit without receiving an acknowledgment. Modifying it determines the maximum size offered by the system. – MTU (Maximum Transmission Units) - The MTU defines the largest single unit of data that can be trans- mitted over your connection. The FiOS network requires an MTU of 1492 bytes. There is a KB article talking about some issues we might run into with the Speed Optimizer. Apparently on Vista it doesn’t have the permissions to write to all of the registry settings it needs to. If we have issues, or if the Speed Optimizer doesn’t immediately fix things, that may be something to check. Speed Optimizer does require you to run IE as Administrator and seems to have worked for me doing so.

Conversion to Frontier

In late 2010, Verizon sold its internet (FiOS) service to Frontier Communications, at which point we switched to be Frontier customers. Note the hardware used in the network is in the hardware section.

10 Chapter 2. Network CHAPTER 3

Hardware / Devices

There’s a lot of hardware that goes into my media center. While some of it provides multiple functions, all of it plays a role on some level. Here’s a photo of my current server rack in my office. Most of these are discussed on the server page, but there’s some network hardware in there as well as a UPS.

Click for a larger view. From top to bottom, left to right, you see. . .

11 Illig Media Center Documentation, Release 1.0

DS1010+, which provides all storage. •A Lutron hub, an Akita, and a SmartThings hub for home automation/IoT work. • Tablo, which handles over-the-air DVR services. • Ubiquiti UniFi Security Gateway (the white square with the blue light) as the main firewall/entry from the outside for internet. • CyberPower CP1500AVRLCD, the UPS that most (but not all) of this is plugged into. • A USB hard drive where Megaplex gets backed up. • HP ProCurve 2810-24G switch, connecting these together and linking back to the main network. • Megaplex, my custom dedicated Plex server. For more detail on any of these things or items in the system that aren’t pictured, dig in here.

3.1 Front-End Devices

When looking for a front-end device, I generally want: • Access to services I use: Minimally Netflix, Hulu Plus, and Amazon Prime Video. Nice to have is Pandora. • Plex: I’m using Plex for my own media, so this is a total requirement. • Easy to use: I want this thing to be so easy to use that no one in my household complains about using it. • Stable network connectivity: I don’t mind if it uses wireless, and I have a decent network setup, but I want it to be stable/consistent. I prefer wired over wireless, though.

3.1.1 Remote Control

I found that Remote Central was indispensible when researching remote controls and asking questions.

Current

Here are the set of remote control related items I’m using. I’ve not solved the IR / radio control issue where some devices are controlled through infrared signal and others are controlled through radio (e.g., Bluetooth). I’ve centralized my IR devices into a single remote, but I’ve not centralized the radio devices.

SideClick

The SideClick is a small programmable remote that hooks on the side of a Roku, Apple TV, or other streamer remote. Instead of trying to unify everything in One Big Remote, you can click a very simple remote to the streamer remote and you’re done. We have one of these in every room and love them.

12 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

BAFX IR Repeater

Given some of my devices are in cabinets or behind doors, I needed to get an IR repeater to “pipe” the remote signal to the devices that couldn’t otherwise be controlled. This BAFX IR Repeater has been awesome - cheap, easy to set up, and reliable. Just put the receiver unit somewhere in plain view and run it to the central relay box. Then run a little repeater cable from the box to the hidden device, adhering the repeater cable end to the spot on the device that normally receives remote signals.

3.1. Front-End Devices 13 Illig Media Center Documentation, Release 1.0

One For All OARN08G

This is effectively the update for the Radio Shack 15-135. It controls 8 components, has great learning abilities, and just the right number of hard buttons. It also has a backlight. Not as fancy as a Harmony remote, but over time it has been very reliable and easy to reprogram as my theater device setup changes. I moved this up to the game room when we moved the Samsung LN52A750 TV up there.

14 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

Deprecated

These are remotes I used to use but don’t any longer. I’ve kept the notes for reference.

Sony VL-900

This was the first real universal remote I picked up and liked a lot.

3.1. Front-End Devices 15 Illig Media Center Documentation, Release 1.0

I used this in our game room until we moved the Samsung LN52A750 TV up there. I had to switch to a different control because the volume button wouldn’t “repeat” when you hold it down. This is apparently a common thing with Samsung TVs.

Radio Shack 15-135

I got this as a replacement for the Sony VL-900. I’m pretty pleased with this remote - a good balance of hard buttons and learning functionality, and you can’t beat the price. I picked it up in 2009 for $22. I used it until the buttons stopped working four years later.

One For All OARK02R

I bought this for my daughter so she could control the TV all by herself. It is easy to program and makes her so proud to be able to turn it on and off or change channels. We moved away from this as she got a little older and when we picked up the SideClick, which is a good balance of convenience and kid-friendly.

16 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

3.1.2 Xbox

Xbox One

I have an and an Xbox One S. I was late to the Xbox One game, waiting until a year or so after it was released before jumping in. When we upgraded to the Samsung UN65KS8000 I got the Xbox One Gears of War 4 Limited 2TB bundle to go along with the 4K support on the TV.

3.1. Front-End Devices 17 Illig Media Center Documentation, Release 1.0

Xbox 360

I have two Xbox 360 units - one upstairs, one downstairs. I also have one of the HD-DVD players (yeah, I know) for the one upstairs.

Video

You have to hook it up in a particular way if you want to get HD video out of it, especially through HD-DVD. • For HD-DVD 1080p signal, you have to output from Xbox using VGA. The trouble is that most TVs don’t accept incoming VGA or DVI signals greater than 720p. (This is also relevant when talking about how we hook up Center.) Using component cables, you can get 1080i at best.

18 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

• Not sure if you can get HD-DVD 1080p through the HDMI output adapter, but several games support 1080p through it. We got a second Xbox - the new one is downstairs and connects via HDMI to the Samsung TV, the old one went upstairs. • It looks like all of the Xbox models since July 2007 have HDMI, but you need to have a separate cable to enable the sound output when using HDMI. Only the Elite Xbox comes with that. Separately it costs ~$45. It appears that the Arcade machine has HDMI. Arcade is not backwards-compatible with Xbox legacy games, but that could be just because it doesn’t have a hard drive. • I ended up getting an Xbox 360 Arcade from Dell, an Xbox HDMI cable/adapter and wireless network adapter from Amazon, and a 512MB memory card from Best Buy. I put the Xbox 360 Arcade with all that downstairs. I stuck the old hard drive on the Xbox 360 Arcade and that works well. Our gamer profiles are each on memory cards - Jenn on the 64MB card I already had and me on the 512MB card I bought. The original Xbox 360 was moved upstairs and is connected with component cables to the Sharp TV.

Audio

I got a Turtle Beach Ear Force X4 headset for Christmas and put it downstairs so I could play games without disturbing folks. Very nice headset. Rechargeable AAA batteries are a must with it.

3.1.3 Playstation 3

We have a Playstation 3 in the master bedroom downstairs attached to the Sony TV. It serves as both a front end for the services we use and a Blu-ray player.

Technically the one we have is one of the older backwards-compatible models, not the newer PS3 “slim.” I have had to replace the laser in my PS3. Discs started skipping and hanging for no apparent reason. I was afraid I might have to get a whole new PS3, but, facing that, figured I didn’t have much to lose by trying to replace the laser or the whole PS3 drive. My PS3 uses the KES-410A / KES-410CA / KEM-410A / KEM-410ACA model laser which I picked up for under $20. It took some time to open up the PS3 to get to the laser, but after it was replaced it worked like a champ. There are a ton of YouTube videos on how to replace the laser.

3.1. Front-End Devices 19 Illig Media Center Documentation, Release 1.0

You can figure out which laser you need by looking at the guide on this page (an alternate product photo), but it helps to open up the PS3 before you order. I ordered based on the guide and it turned out my particular PS3 had a drive that was slightly different than average so I had to get a different laser.

3.1.4 Roku

Roku 3

I picked up a Roku 3 after doing some comparison work between , Roku 3, Apple TV, and Amazon Fire TV.

While the Amazon site has a comparison of Fire TV to Roku and it appears to win (of course), the majority of third- party reviews rank Roku 3 as the winner. Roku has a Tablo channel so viewing Tablo DVR content is directly supported. It’s very smooth and easily supports the highest quality Tablo recordings.

Roku Ultra

When we upgraded to our 4K Samsung UN65KS8000 we upgraded the Roku 3 to a Roku Ultra. For the most part it was nice, but in around February 2017 we encountered two issues. First, the Netflix app didn’t seem to stream as fast as it should. Our Internet connection speed tested out at 150Mbps but the Netflix app internal speed test generally topped out at 30Mbps. When it dipped lower than that, we got artifacts when streaming 4K content. I don’t know if there’s some sort of traffic shaping going on at Comcast or what, but it was frustrating. Second, with the February 2017 7.5.1 release of the Roku Ultra firmware things started going downhill. • There’s a random pop/chirp noise in all channels. This appears to have been fixed with the 7.7 firmware. • There are inconsistent HDMI handshake problems. This manifests after having the TV turned off for a period of several hours. When the TV gets turned back on, sometimes the Roku displays just fine; sometimes the picture flickers; sometimes it doesn’t come back at all. In the latter two cases the only way to fix it is to reboot the

20 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

Roku. The 7.7 firmware fixed most of the flickering but there’s still the problem of the picture just not coming back. In August 2017 I gave up on Roku Ultra for a while. The Roku 3 units maintained stability but I was rebooting the Roku Ultra pretty much every time I wanted to watch anything. Once we started using the Shield TV full time, I moved the Roku Ultra upstairs to the master bedroom. It works fine for standard HD.

Plex Channel

With some of my HD movies the Plex channel will occasionally hang unexpectedly and just stop playing. I found that going into the Plex channel/app settings, under Transcoder, unchecking “Direct Stream” seems to fix it.

Secret Menus

Roku has some secret settings menus for advanced users. Use at your own risk. I haven’t really done much with these. To reach the menus, press the keys on the remote as listed: • Secret Menu #1: Home (x5), FF (x3), RW (x2) • Secret Menu #2: Home (x5), Up, Right, Down, Left, Up • Wi-Fi Menu: Home (x5), Up, Down, Up, Down, Up • Platform Menu: Home (x5), FF, Pause, RW, Pause, FF • Antenna Menu: Home (x5), FF, Down, RW, Down, FF • Bit Rate Menu: Home (x5), RW (x3), FF (x2) • Developer Menu: Home (x3), Up (x2), Left, Right, Left, Right, Left • Network Menu: Home (x5), Right, Left, Right, Left, Right • Reboot Device: Home (x5), Up, RW (x2), FF (x2) There is a nice infographic of these commands on the Lifehacker site.

3.1.5 Chromecast

I picked up a Google Chromecast before I did too much evaluation or research on front-end devices.

3.1. Front-End Devices 21 Illig Media Center Documentation, Release 1.0

While I found it was an interesting concept, I had a lot of challenge with it around networking. It took a lot of firmware versions after getting this thing in order to get it reliable. The NVIDIA Shield TV has Chromecast built in so using the Chromecast protocol has been a more interesting thing of late.

3.1.6 NVIDIA Shield TV

In August 2017, after months of instability from my Roku Ultra, I gave up on it and switched to an NVIDIA Shield TV.

I chose that for a couple of reasons: • Google Home integration: Getting into home automation we went with Google Home but we wanted something more robust for the front end than a Chromecast. This answers that question.

22 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

• Top-end 4K support: At the time we picked, this was one of the few devices that was getting 4K HDR support for all the services offering it. • Tired of fighting: I usually try to balance price, performance, UX, features. . . and come to a middle ground. After my Roku Ultra experience I was tired of fighting for perf and decided to just throw money at the problem. One of the downsides is that we use (and love) our SideClick remote and when we picked the NVIDIA Shield TV we found SideClick didn’t have an adapter clip for it yet. I ended up creating a 3D printed custom adapter and sharing it on Thingiverse.

3.2 Servers

All of my servers are in my office on a rack.

Click for a larger view. • On the top is the Synology DS1010+, which provides all storage; and the Tablo, which handles over-the-air DVR services. • The middle has the HP EX475 Home Server, deprecated and removed in late 2017. • On the far right, the mini tower is Megaplex, my custom dedicated Plex server. You can dive into more detail on those here:

3.2.1 Synology DS1010+ NAS

The Synology DS1010+ is my primary storage server for video content. It has since been superseded by the DS1515+ but I’ve not seen any reason I need to upgrade. This DS1010+ serves me well and has really great performance and flexibility. I picked it up based on my NAS research.

3.2. Servers 23 Illig Media Center Documentation, Release 1.0

Diskstation Manager (DSM) is the that runs Synology NAS devices. It supports installation of packages that provide additional functionality (beyond just storage) from the device. Anything from Git to MySQL to Plex can be run as a DSM package.

Plex Support

Plex does have a package to allow you to run right on the Diskstation via DSM. The problem I ran into with Plex on the DS1010+ was transcoding support. Whenever you play a video that doesn’t natively play on a device or can’t handle the throughput, Plex transcodes the video to something the device can handle. For example, if I’m on a phone I might easily have the bandwidth to accommodate SD content, but I might not be able to accommodate HD content (or my phone’s screen might have a lower resolution that can’t display full HD), so Plex will try to step it down to accommodate the restrictions. The DS1010+ doesn’t have enough CPU power to handle transcoding HD video with Plex, full stop. I tried to configure the server and my various devices to avoid messing with transcoding but never could get the right setup. I’d get one front-end device working and it would cause some other device to start requiring transcoding. SD video? Great. HD? Nope. This lack of power is why I built the Megaplex custom server to handle Plex for me. I keep the storage on the DS1010+, I still run other packages and services, but Plex is specifically offloaded ot the dedicated machine to enable a smooth viewing experience. Aside: Synology does provide a “Video Station” package that has similar functionality to Plex - serving video to different devices, transcoding, etc. - and it does allow the DS1010+ to transcode HD streams. It does this because it’s very specifically tailored to the Synology DSM environment. Plex, serving a much wider range of hardware, doesn’t include those customizations and there is no intention of doing so to my knowledge. This has seen a lot of discussion on the Plex forums. Note I didn’t choose “Video Station” over Plex because Plex has a wider array of client support and a far nicer experience in general.

24 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

Storage

• I have a bunch of WD Green drives I pulled out of my . Synology forums have some posts about this. This one says that some of the drives work fine while others don’t; this one is about someone who is trying to avoid issues by switching away from WD Green. I decided not to use these and instead go with some other drives. • I should get the latest firmware off the website for initial install. This will make sure everything is compatible with newer disks. • There is a hardware compatibility list for supported drives on Synology devices. Of the 2TB drives listed as directly supported, these seem reasonably viable. Others are rated far too slow or are way beyond the $250/drive range (as of ~2010). . . • Seagate Barracuda ST32000542AS is 5900RPM, 3Gb/s, 32MB cache. $130 at NewEgg, $120 at Amazon.A very favorable review here shows it outperforms an older performance-oriented model on all sorts of bench- marks, so spin speed isn’t everything. • Seagate Barracuda XT ST32000641AS is 7200RPM, 6Gb/s, 64MB cache. $250 at NewEgg, $270 at Amazon. • Samsung Spinpoint HD203WI is 5400 RPM, 3Gb/s, 32MB cache. $140 at NewEgg, not at Amazon. In June 2016 I replaced the 2TB drives with 3TB drives so I could deprecate the Windows Home Server which had started getting finicky. I picked up five WD Blue 3TB WD30EZRZ drives (5400RPM, 64MB cache, $89 each) and went through the process of replacing one drive at a time. I went from an array of (7.15TB capacity / 5.8TB used / 1.35TB available) to (10.73 capacity / 5.8TB used / 4.93TB available) in a RAID 5 configuration.

Fan Upgrade

In September 2019 I was working more in my office and having to sit right next to the Synology for longer periods of time. White noise from fans was bugging me. The Synology has two 80mm cooling fans that I ended up replacing with “be quiet! Pure Wings 2” silent fans. As part of that, I did have to disable the fan beep. It seems to be a well-known thing that Synology uses fans that aren’t standard. If you replace it with a nice, standard fan, the system thinks the fan has stopped and does all sorts of alerting, eventually shutting down for safety. I did that by connecting via ssh root@diskstation using the admin user’s password and then:

# Find the location of the fan settings # For me this was /sys/module/pineview_synobios/parameters/check_fan find /sys -name *fan*

# Create a startup script to turn off the beep vi /usr/syno/etc.defaults/rc.d/S99_beep_fan_disable.sh

In the script: echo0 > /sys/module/pineview_synobios/parameters/check_fan

Finally, set it to execute. chmod +x /usr/syno/etc.defaults/rc.d/S99_beep_fan_disable.sh

Before you reboot, go into the DSM . Under “Notifications,” disable all the “server fan” notifications. CPU and expansion unit fan notifications should still be fine. Now reboot.

3.2. Servers 25 Illig Media Center Documentation, Release 1.0

I found one person who did a hardware hack to make a standard fan simulate what Synology wants. I haven’t gone to those lengths. Honestly, the person could probably make a mint selling little fan adapters that would hook inline with a standard fan.

3.2.2 Megaplex - Custom Plex Server

As part of my plan to cut cable I built a custom server specifically for hosting Plex and handling hardcore HD video processing/transcoding - something for which the Synology isn’t quite as well suited.

Research

Plex has some recommendations on what sort of CPU you need to accomplish transcoding. Using a separate server to do the video processing and leaving the content stored on a NAS is something several folks have working well. There is a benchmark called “Passmark” that helps guide what sort of CPU might fit the bill. The rough guideline is that if we want HD content, we need to multiply 2000 (the benchmark required for a single stream) by the number of streams we might have (say, 2 or 4). For me, I figured four streams would be enough to future-proof things for a while, so I wanted a CPU with Passmark of ~8000. I ended up choosing an AMD FX-8350 processor with a Passmark of 8988 and a pretty good price-to-performance ratio.

Parts

I wanted to stay in a reasonable budget with it - I’m not gaming with it, so a huge video card isn’t going to help, for example. The parts I used to build the server (prices listed as of March 2015): • AMD FD8350FRHKBOX FX-8350 FX-Series 8-Core Black Edition Processor - $169.99(AMD specs here) • Gigabyte AM3+ AMD DDR3 1333 760G HDMI USB 3.0 Micro ATX Motherboard GA-78LMT-USB3 - $58.99 • Rosewill Dual Fans MicroATX Mini Tower Computer Case, Black FBM-02 - $29.99 • Antec EarthWatts EA-380D Green 380 Watt 80 PLUS BRONZE Power Supply - $40.01 • Crucial Ballistix Sport 8GB Kit (4GBx2) DDR3 1600 MT/s (PC3-12800) CL9 @1.5V UDIMM 240-Pin Mem- ory BLS2KIT4G3D1609DS1S00 - $59.99 • LG Electronics 14x Internal BDXL Blu-Ray Burner Rewriter WH14NS40 - Bulk Drive - Black - $56.95 • 5 Pack Monoprice 18-Inch SATA III 6.0 Gbps Cable with Locking Latch and 1 x 90-Degree Plug (108783) - $7.99 • StarTech.com 12-Inch LP4 to 2x SATA Power Y Cable Adapter - $3.99 • JBtek Sleeved PWM Fan Splitter Cable 1 to 2 Converter - $5.99 • WD Blue 1TB SATA 6Gb/s 7200rpm Internal Hard Drive - $54.99 (2 of these) Total price: $543.87

Storage

I originally tried to use the WD Green drives I had tried in my Windows Home Server. FAIL. The poor performance on these drives caused any sort of heavy Plex library indexing to fail with I/O errors. I ended up having to replace these with different, better-performing drives.

26 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

I used a drive I already had for the system drive on the box and added two higher-perf drives I bought as storage for the Plex library and scratch/temp space. I originally wanted to configure them in Windows Storage Spaces for fault tolerance, but I ran into an issue where Plex constantly refreshed item metadata endlessly so I switched to standard drives and just made sure everything had a good running. This has better performance over mirroring anyway, and perf is key. On August 23, 2019 I upgraded the OS drive on the server to a Samsung 860 EVO 500GB SSD. While the Plex server performance itself was decent, any time I had to log in and perform maintenance was extremely slow. Rebooting or doing any sort of system updates was also very slow. The SSD has addressed that as well as some of the noise from the “spinning rust” disk. As part of the SSD update I cloned the HDD. There were three partitions - a system partition, an OS partition, and a recovery partition. Items of note: • I had to use a “server” version of Macrium Reflect since the OS on the machine is Windows Server. That required a 30 day trial rather than just being able to use the free version of the product. • The clone created an MBR disk rather than a GPT disk, which I think is fine. GPT seems to only be usable by UEFI; MBR seems to be usable by both UEFI and BIOS (?). • The system and OS partitions cloned fine (I was able to resize the OS partition as needed), but I had to manually recreate the recovery partition. For some reason, the recovery partition just would not clone.

Performance

After getting this built, I was very pleased with the performance. Transcoding a 1080p video barely raises the CPU usage to 10%, and a typical 2-hour 1080p movie can be converted with Handbrake in under three hours.

Fan Upgrade

In September 2019 I upgraded the CPU cooler to a be quiet! Dark Rock TF because the existing CPU fan got pretty loud when were using the Plex server or I was ripping movies. It was $90 at the time of purchase, but now when the CPU is fully loaded I don’t hear a single thing. It makes working in the office next to the Plex server much easier.

3.2.3 Tablo

As part of my plan to cut cable I added a four-tuner Tablo OTA DVR to the system.

The Tablo is pretty small, about the size of a paperback book.

3.2. Servers 27 Illig Media Center Documentation, Release 1.0

With four tuners, I can record four things at the same time, or watch something and record three others, etc. I went for the four-tuner model rather than the two-tuner model because there are definitely a couple of shows we watch/record that run at the same time. I also wanted the ability to watch TV on a couple of different TVs while something was recording and that wouldn’t have been possible without a couple of tuners.

Storage

Storage on the Tablo is done by plugging in an external USB hard drive. I bought my Tablo on special where a 1.5TB drive was included and that’s been working well. It’s plenty of space, even recording things at the highest resolution.

Performance

I’ve been able to very easily watch multiple streams at the same time. No hiccups, very nice. I was worried that it would start to stutter or buffer with multiple streams transcoding to different devices simultaneously, but it’s been very smooth.

Comparison to Other DVRs

I did the comparison to other DVR products (cost, services) as part of the plan to cut cable.

3.3 Network Infrastructure

3.3.1 Arris SURFboard SB6183

I finally bought my own cable modem in March 2016. We got the Arris SURFboard SB6183 DOCSIS 3.0 cable modem from Amazon for about $100.

28 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

Setup was pretty easy but did require I activate the modem using the Comcast instructions and reboot all of my network devices. Making sure things got rebooted in the right order was the hardest part of the process. I had to ensure that the modem picked up the router as the MAC address of the connected device and then connect my computer to the router to activate the modem. I got it wrong the first time and had my computer connected directly to the modem so when I connected the router things stopped working. Didn’t take long to fix it up, but was a little tedious. In June 2019 we switched from Comcast back to Frontier (now Ziply) which doesn’t use a cable modem. I’m not marking this as deprecated yet, since we’ll still use it if we go back to Comcast. It’s just not in active rotation.

3.3.2 Ubiquiti Devices

In late 2019 we had some hiccups with the Frontier network. We fought with it for a while but the Netgear R8000 router was seen to be the problem since it had been around for a while. [As it turns out, the problem was a bad card in a Frontier substation that would intermittently cause failures. It was affecting multiple customers, we were just the only ones to report it.] I updated the whole network with Ubiquiti UniFi equipment. I’d sort of been researching this for a while, ended up just doing it. • UniFi Security Gateway • UniFi Cloud Key • UniFi long range access point (UAP-LR) • UniFi standard access point (UAP) I found a few things that weren’t obvious when setting this up, so I have notes here.

Initial Setup

Once you set up a username and password for the Cloud Key (e.g., “ubnt-admin”) the original ubnt/ubnt credential set is replaced. When you adopt a Security Gateway you’ll have to set up a “device authentication” credential set (“admin” with a password by default). This is the new username/password for logging into the Security Gateway directly. It won’t use the same password as the controller.

Reserved DHCP Addresses

Go to the client list and select the client that should have a reservation. Under “network” you should select “fixed IP address” and that’s the reservation.

Wireless Network

It appears best if you can set the channel and power on wireless yourself. There are some articles on the forums that indicate this. Some devices don’t like certain higher channels on 5GHz. For example, auto selected channels in the higher range didn’t allow the Google Home devices to connect, but when I switched to 36 manually they started connecting to 5GHz. Set the 2GHz power to medium and the 5GHz to high to compensate for the differences in the bandwidth power. Use “bandwidth steering” to “prefer 5GHz” and more devices will start to use the 5GHz.

3.3. Network Infrastructure 29 Illig Media Center Documentation, Release 1.0

Some devices may just never connect to 5GHz. Folks report you may need to set up two different SSIDs and manually force the issue. Enable “advanced features” on the Cloud Key (under “Settings”), then on the access point enable “bandwidth steering” to “prefer 5GHz.”

3.3.3 Switches

D-Link DGS-1016A

I have one these D-Link DGS-1016A 16-port gigabit unmanaged switches in my network.

As I got into home automation and adding things like smart hubs in the office I needed more ports. I love my 8-port D-Link switches and this is the 16-port version.

D-Link DGS-2208

I have two of these D-Link DGS-2208 8-port gigabit unmanaged switches in my network.

30 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

There are cheaper items today (this is an older model), but these have been totally solid since I bought them. If/when I need new switches, I’ll be looking at getting the updated version of this switch.

TP-LINK TL-SG1008D

I have one TP-LINK TL-SG1008D 8-port gigabit desktop switch in the network.

I picked this up as an alternative to the DGS-2208 when I needed another switch upstairs but the DGS-2208 was an older model.

HP ProCurve 2810-24G

When I updated to Ubiquiti UniFi equipment I replaced the two smaller unmanaged switches sitting under the desk with this larger 24-port managed switch. It’s a little older, but it does gigabit Ethernet and gets the job done. I found the configuration via console to be somewhat challenging so I have a lot of notes about that.

Console Connection

To connect a console to the switch, use the console cable shipped with the switch and connect a PC or VT-100 terminal to the console serial port (e.g., PuTTY or KiTTY). The PC or terminal then functions as a management console connected directly to the switch. Use the settings: • A baud rate from 1200 to 115200 (the switch senses the speed) • 8N1 (8 data bits, no parity, 1 stop bit) • Xon/Xoff flow control After connecting you won’t see anything happen immediately! Press Enter two or three times to have the switch sense the speed and finish connecting. On Windows you can use the mode command to show the list of available COM ports. Note the USB COM port adapter may show the connection as something low like 1200 baud but you can set the terminal program to something

3.3. Network Infrastructure 31 Illig Media Center Documentation, Release 1.0

higher and it works. Also, it may be better to connect the cable to the switch first and then attach the USB connector to the computer. It seems some auto-detection happens in that scenario.

Commands

Hit TAB at the prompt to list commands. This also does autocomplete for commands where available. • setup - launches the GUI menu • config - starts configuration via CLI Set timezone and network time protocol details (timezone is GMT offset in minutes):

2510_01# write memory 2510_01# config 2510_01(config)# time daylight-time-rule continental-us-and-canada 2510_01(config)# time timezone -4800 2510_01(config)# timesync sntp 2510_01(config)# sntp unicast 2510_01(config)# sntp server 10.10.20.69 2510_01(config)# show time 2510_01(config)# show sntp 2510_01(config)# write memory

The SNTP server can be any reachable NTP server. You may have to use the GUI menu to tweak the “protocol version” on the SNTP server - using protocol 7 means it accepts pretty much anything from protocols 1 - 7. You may need to reboot the switch to force a sync, too. Enable HTTP management and disable HTTPS. The switch is old enough that the HTTPS self-signed certificate isn’t strong enough to satisfy browser requirements. Also, your browser needs to have Java on it so you may be stuck with IE11 or something:

2510_01(config)# no web-management ssl 2510_01(config)# web-management plaintext

Set manager and operator username and password:

2510_01(config)# password manager user-name admin 2510_01(config)# password operator user-name monitor

Save and view the configuration:

2510_01(config)# write memory 2510_01(config)# show run

3.3.4 ClearStream 2V HDTV Antenna

I picked up the ClearStream 2V Indoor/Outdoor HDTV Antenna with Mount - 60 Mile Range after my my plan to cut the cable when I found that the original antenna I purchased, the ChannelMaster CM 3000 SMARTenna, didn’t work too well for me in inclement weather. While the CM 3000 originally showed me channel scan signal ratings of between three and five (out of five) on the Tablo, the ClearStream 2V is all fives for every channel in my area even in the rain. I mounted the antenna in the attic above my garage. It appears upside down compared to the pictures on Amazon, but it doesn’t really matter and was the only way I could get it to fit given the mounting hardware had to be fitted to the roof.

32 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

3.4 Televisions

3.4.1 Samsung QN85Q80TAFXZA

This is a 85” 4K LCD set with a super thin bezel. We got this as an upgrade to the UN65KS8000.

3.4. Televisions 33 Illig Media Center Documentation, Release 1.0

When we remodeled the house a while back we had planned for a TV upgrade but didn’t have the budget at the time. After 2020 and not really going anywhere or doing anything. . . surprise, we had the budget. We went with this model because in the QXXT series (Q60T - Q90T), the Q60T and Q70T have a slightly inferior localized black and color solution; the technology is better in the Q80T and Q90T. However, the Q90T has extra stuff I don’t need, so this is the “lowest model with the better technology.” It’s taking a while to calibrate the picture to my liking. I need to turn up the shadow detail a bit because the localized dimming can get a little “extra” and drowns out dark pictures. I also find that, depending on the video source (e.g., Xbox, NVidia Shield, etc.) it may switch HDR profiles on me and each profile gets set up individually. I ended up buying the “Geek Squad protection” for this for an extended two-year warranty. I normally don’t do that, but I’ve been bitten a couple of times and sort of have a general rule that if it costs, say, more than $1500 I should at least consider it. I’ve actually used the warranty on some things and it’s saved me a bit.

3.4.2 Samsung UN65KS8000

This is a 65” 4K LCD set with a super thin bezel. We got this as an upgrade to the LN52A750.

34 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

We picked this one because we really liked the 52” set we were upgrading and compared to other sets we looked at this was far and away the best picture. We didn’t want the curved screen because we wanted to wall mount the set which doesn’t work so well with curved screens. The “triple black” technology built in (selectively brightens or dims areas on the screen to enhance dark areas) is definitely worth it. The glossy display adds to the clarity of the picture, but I do need to basically keep the blinds in the room with the TV shut because any significant amount of light causes so much glare you can’t see anything. Note: With a firmware update around September 2017, it seems SmartThings integration was broken. I use Smart- Things as part of my home automation plan. Hoping that gets resolved soon.

3.4.3 Samsung LN52A750

This is our gaming TV, a 52” 1080p LCD set with a glossy display. Controls are along the bottom right inside the bezel - you have to run your hand over the bezel to get them to light up.

3.4. Televisions 35 Illig Media Center Documentation, Release 1.0

I’ve been a fan of the Samsung LCD/LED TVs since we started researching this one and picked it up. The clarity on the picture is amazing and the colors are great. Darks are also reasonably dark, though some of the newer sets on the market do better. There’s a wireless adapter for this TV but it only enables the InfoLink capabilities (news, weather, stocks) - it doesn’t enable the DLNA sharing. I never ended up getting the adapter. . . and the DLNA client is pretty weak, so I don’t even have the TV itself hooked to the network.

3.4.4 Sharp Aquos LC-37D7U

This is the first HD TV I bought. Its an LCD set with a native resolution of 1366x768. It displays at 720p, scaling things as needed. It’s 37” and has a matte display. Controls are along the top right just behind the bezel.

Overall it’s a decent performer but colors aren’t super bright, nor are the darks very dark. At the time we bought it, it was better than many of the sets on the market but technology has progressed since then. I like the matte finish because you don’t get the glare, but it does put a very slight haze on the picture. When I was using it with the Dell Studio Hybrid I had to do some research on the details of the TV to see if there was something I could do to possibly get a custom resolution running. I never ended up needing to do that, but I kept the notes. • Vertical frequency of 60Hz is probably safe for any resolution. • Horizontal frequency varies widely. 1280x768 is 48.1 kHz. 1280x720 is 45.0 kHz. 1280x1024 is 64kHz, which is the largest number listed in the book.

36 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

• The manual doesn’t say the connection will support 1360x768 or 1366x768. The setting exists on the TV, though, so it should work.

3.4.5 Sony Bravia KDL-40V2500

I got this TV in 2015 as a hand-me-down from my parents, who were upgrading to a brand new smart TV.

It’s a pretty nice TV. The picture is reasonable, though I find the anti-glare matte finish takes some of the crispness out of it. All things being equal, I think I like the picture on Samsung sets a little better, but I’ve had a good brand history with Sony so I’m not looking to switch this out any time soon.

3.5 Receivers / Audio

3.5.1 Marantz SR5010

The Marantz SR5010 was picked up from Amazon for about $900 in March 2016 as a replacement for the Yamaha RX-V777BT.

3.5. Receivers / Audio 37 Illig Media Center Documentation, Release 1.0

General Overview

This is my first Marantz receiver and while I admittedly wasn’t initially fond of the look of the unit, the setup and on-screen menu system is by far one of the easiest and most straightforward I’ve encountered. This is the second unit I’ve had that’s had the HDMI passthrough feature allowing you to use the receiver as a video switcher without keeping the unit turned on. I’m guessing this is a common feature now, but it’s the little things like this that make it. It’s a native DLNA receiver so Bluetooth connectivity is less interesting than just “playing to” the receiver. You can cast audio or video at it without issue. (You can connect to it with Bluetooth if you want, however.) One thing I’ve noticed is that when it displays 4K content no on-screen display comes up. This includes the vol- ume/source overlay information. It’s really difficult to see the volume level without that.

Network Control

With the receiver in the cabinet and the 4K on-screen display problem mentioned earlier, I needed a way to see when the receiver was on, which source it was tuned to, and the volume level. To that end, I created an Arduino-based volume monitor that uses the HTTP network interface for the receiver. In April 2018 a firmware update came through that caused the network communication - both HTTP and based - to be unstable. Even streaming music services don’t stream well. The network connection seems to reset periodically. I’ve opened a support ticket for the issue but it effectively renders the volume monitor useless.

3.5.2 Yamaha RX-V795a

Despite the higher version number, this is an older model than the RX-V777BT that serves as my primary receiver. I picked this up back around 2000 when it was a fairly new model.

38 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

I upgraded from this to the Onkyo TX-SR875 to get support for my 6.1 Bose Acoustimass 16 speakers. I also wanted HDMI support. The RX-V795a now powers my game room via Mirage MX satellite speakers. Overall I really like this receiver. It’s got fast video switching, it’s quiet, it doesn’t operate too hot, and it’s reliable.

3.6 Speakers

I have two rooms with dedicated receivers. The downstairs family room, where we primarily watch TV, has a set of Bose Acoustimass 16 speakers attached. The upstairs game room, where we hang out or generally just play games, has Mirage MX satellite speakers.

3.6.1 Bose Acoustimass 16

The Bose Acoustimass 16 series is a 6.1 surround satellite speaker set that was sold between 2002 and 2006. I picked mine up closer to the 2002 time when they were pretty new, upgrading from the 5.1 system I had to the 6.1.

3.6. Speakers 39 Illig Media Center Documentation, Release 1.0

These speakers are in my living room and run off the Marantz SR5010 receiver. While I recognize there is some controversy out there about whether the price-for-sound is reasonable with Bose, I have to say I enjoy these speakers. They sound really good to me, though I’m sure some audiophiles will call my taste into question. The lows are rich, the mids are reasonable, and the highs are crisp. Most of the time I’m watching, say, an action movie or listening to some over-compressed, over-produced dance music anyway, not trying to emulate a sound chamber with some classical music, so it’s beyond good enough for me. If I do upgrade, it’ll be to get a 7.1 system. . . and I have to say, I’d definitely consider another Bose set.

3.6.2 Mirage MX

A set of 5.1 Mirage MX satellite speakers serves my game room via the Yamaha RX-V795a receiver.

40 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

I bought these as a more affordable alternative to getting a second set of Bose Acoustimass 16 speakers, particularly since the Yamaha RX-V795a only drives 5.1 sound. I’ve been actually very pleasantly surprised. The room they’re in is not that big, and they’re not very optimally placed given the crazy L-shape of the room, but they still sound pretty good. Overall, I feel like these were a solid buy.

3.7 Power

All of my devices are, at a minimum, plugged into proper surge protection devices. In some cases, like the servers, I have UPS (uninterruptable power supply - battery backup) units that can save me in the event of an outage. The UPS units in my office are connected to my servers via USB so they can monitor the UPS state. The Synology DS 1010+ watches its UPS and are is to gracefully shut down if battery power gets too low.

3.7.1 General Power Requirements

I bought a Kill-a-Watt to measure my power consumption in the computer room so I could determine the amount of UPS power I’d need. Normal values are estimated averages after observing general usage for a period of time. The Kill-a-Watt doesn’t have an average function so I had to guess. In most cases there were rare spikes above this during peak usage but nothing that lasted long enough where I could get a good read.

3.7. Power 41 Illig Media Center Documentation, Release 1.0

Device Amps (A) Watts (W) Volt-Amps (VA) FiOS Router - Normal 0.2 14 24 Windows Home Server - Normal 0.65 63 68 Windows Home Server - Peak 1 92 98 Synology DS 1010+ - Normal 0.5 55 60 Xbox 360 - Off/Sleep 0.05 2 7 Xbox 360 - Normal 0.9 75.6 103 Dell Studio Hybrid - Off 0.03 1.3 3.6 Dell Studio Hybrid - Sleep 0.04 2.3 5.3 Dell Studio Hybrid - Normal 0.55 40 65 Samsung LN52A750 TV - Off * 0 0 0 Samsung LN52A750 TV - Normal 2.07 240 241 Playstation 3 - Off 0.03 1.4 3.8 Playstation 3 - Normal 1.73 200 200 Onkyo TX-SR875 - Off * 0 0 0 Onkyo TX-SR875 - Normal 1.59 145 185

* Note that some of the devices that read 0 for all values when off would actually occasionally take a tiny sip of power very quickly and then go back to zero. No devices were ever totally 0 when off.

3.7.2 CyberPower CP1500AVRLCD

I picked up two of these CP1500AVRLCD units after the Tripp-Lite OMNI900LCD units died. I really like these. They have a good capacity, plus the battery inside is replaceable so I can hopefully avoid the issue I had with the other units. One of these is in the living room for the TV, receiver, and other front-end devices; one of these is in the office sharing the server load with an APS Back-Ups 550.

42 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

3.7.3 APC Back-Ups 550

I bought one of these 550 units as a replacement for a busted Tripp-Lite OMNI900LCD and have been reasonably pleased with it.

3.7. Power 43 Illig Media Center Documentation, Release 1.0

The battery in this unit is replaceable, which is nice, but it doesn’t have the display or control features that the CP1500AVRLCD or OMNI900LCD units have. You can’t really tell the state of the battery or anything, which isn’t awesome, nor can you silence the alarm without shutting the unit down. That said, it’s a decent value - not as expensive (or as feature-rich, or as powerful) as others, but if you need a little extra UPS support, this is pretty good.

3.7.4 Tripp-Lite OMNI900LCD

I have been through three of these over the course of five years. I wouldn’t recommend them.

44 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

The problem is that the internal battery, which is not customer-serviceable, seems to go bad very quickly. You get one power outage and that’s about it. We had a power outage on 2/13/11 that caused my first Tripp-Lite OMNI900LCD UPS to stop responding. It was fine during the outage and lasted long enough for me to turn things off, but it wouldn’t come back on and stay on because the battery went bad. I woke up several mornings after that and each day I found the computers had been shut down or rebooted because they lost power. At the time I only had one of these devices. I filed a ticket with Tripp-Lite and while they were taking their time addressing my questions, I bought the APS Back-UPS 550 to replace it. Eventually Tripp-Lite sent me a replacement OMNI900LCD that I received on 3/15/11. I registered it for warranty that day. . . and it died just after the warranty ran out, again due to the battery.

3.8 Deprecated Hardware

As my system grows and changes, I switch up the hardware driving the system. Once I’ve moved away from a piece of hardware, whether it’s dead or just unused, I don’t want to lose the information I gathered while I was still using it. That info is moved down here, into an archive area about the hardware no longer in my system. Maybe it’ll help me later with “lessons learned,” or maybe someone still using this hardware can get something from it.

3.8.1 Netgear WNDR3700v2

I have a Netgear WNDR3700v2 as my primary router/wireless access point coming right off the cable modem.

3.8. Deprecated Hardware 45 Illig Media Center Documentation, Release 1.0

I got a Netgear WNDR3700v2 for our router because it has: • Gigabit ethernet ports. • Simultaneous dual-band wireless-N networks. • Guest networks. • Nice admin interface. • Reasonably high recommendations across several sites. Everything went along fine for the first month or so and then we had several dropouts where the 2.4GHz network would just “disappear.” It would return after rebooting the router or simply visiting the router configuration page and clicking the “Apply” button on any setting page (without making any changes). After upgrading to the latest firmware, the issue went away. The downside to this particular router, I found, is the wireless power/range. The office where the network comes in is

46 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

on the bottom floor of my house on one side and there’s not a great way to reposition it - powerline isn’t really fast enough and I don’t have wires run to the upstairs. What this resulted in was about 50% signal at best upstairs in the house, and less in some cases. The antenna for the router is internal and somewhat small. I had the DAP-1522 upstairs over powerline to try bridging the gap with wireless roaming but had weird issues using mobile devices when it switched from one network to the other. It wasn’t very seamless. I ended up upgrading to a Netgear Nighthawk X6 AC3200 router and removing the wireless roaming.

3.8.2 D-Link DAP-1522

I originally bought a D-Link DAP-1522 as a wireless bridge upstairs, before I got the powerline adapters.

As a wireless bridge, it’s crap. I really wanted to like it, but for some reason it never kept a connection to the wireless network. I can’t tell you how many times I reset it to factory defaults or lost the ability to do any configuration on it at all. As an access point, it’s great. I’ve had no trouble using it as a second wireless access point to expand coverage in the house.

Wireless-N

In order to get the DAP-1522 to do wireless N speeds (specifically when running it as an access point), you have to. . . • Use the AES cipher with WPA or WPA2 (WPA2 is recommended). • Set the channel width to 20/40 Auto. • If there are still troubles getting N speeds, set it to 802.11N only or G/N mixed.

3.8. Deprecated Hardware 47 Illig Media Center Documentation, Release 1.0

Connecting Manually to the Admin Page If you have trouble connecting to the admin page at http://dlinkap then you may need to connect manually. • Connect your computer to the access point with an Ethernet cable. • Go into the adapter settings for the network adapter you’ve connected to the access point. • Update the TCP/IPv4 settings on the adapter so it’s not DHCP anymore. Use these settings: – IP = 192.168.0.99 – Subnet Mask = 255.255.255.0 – Gateway = 192.168.0.50 • Now open up a browser and go to 192.168.0.50 as you normally would to get to the configuration page. It should come up.

Resetting the Bridge

Sometimes for whatever reason the DAP-1522 loses connection to the network and just hangs. Super annoying. This is why I eventually stopped using it as a bridge. Here’s how to totally reset it and get it working in bridge mode again. 1. Switch DAP-1522 to Auto mode. (In Bridge mode you can’t access the admin console.) 2. Reset the DAP-1522 by pressing the reset button. 3. Follow the instructions above to connect manually to the admin page. 4. Log in using “admin” and no password. 5. Under Maintenance/System, reset the DAP-1522 to system defaults. 6. Under Maintenance/Admin, update the “admin” password. 7. Under Setup/Network Settings configure the access point for. . . 1. LAN Connection Type = Static IP 2. Access Point IP Address = 192.168.1.200 (Set up a static IP address in your router. I used .200 for mine; you can use a different IP address for yours.) 3. Subnet Mask = 255.255.255.0 4. Default Gateway = 192.168.1.1 5. Device Name = dlinkap 8. After saving the settings, switch your network settings on the computer to. . . 1. IP = 192.168.1.99 2. Subnet Mask = 255.255.255.0 3. Gateway = 192.168.1.200 (Use the static IP address of the access point from above.) 9. After switching settings, try to reconnect to http://192.168.1.200 (the static IP) and ensure you can still get to the dlinkap admin console. 10. At this point, the DAP-1522 should be flashing the orange light on the front indicating it’s in bridge mode. 11. Run through the wireless setup wizard on the DAP-1522 to connect to the wireless network. For some reason, you can’t just enter the data manually. 12. Switch the computer network settings to DHCP and see if you can get to the internet. You should be able to.

48 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

13. Connect to the DAP-1522 at http://192.168.1.200 (the static IP) again and log in. The admin password may have been reset to empty, so you may have to fix that again.

3.8.3 Onkyo TX-SR875

I did some research back in 2009 to figure out which receiver I’d like to upgrade to for supporting the 6.1 surround speakers I have. The final two contenders ended up being: Onkyo TX-SR875 • MSRP $1699 • THX Ultra2 certified • 7.1 channels • 4 HDMI inputs • 1080p upscale via HDMI for all sources • Onkyo TX-SR603X and TX-SR504 made Consumer Reports top 10 in 11/2006 Pioneer Elite VSX-92TXH • MSRP $1300 • THX Select2 certified; Neural-THX surround • 7.1 channels • HDMI 1.3a spec • Optional iPod dock • General research tells me that, all things being equal, go with Onkyo or Denon over Pioneer. I never really used all the features on the receiver. It had a lot of great stuff, but I have to admit I couldn’t really tell the difference between the THX modes and other modes, and the THX bit actually added quite a bit to the price. There are relays that click in the receiver when different processing circuits switch on and off. It’s annoying but, apparently, not uncommon in higher-end receivers. A firmware upgrade reduced but did not eliminate the volume of the click noise. The receiver also takes an inordinate amount of time to switch video sources. Sometimes it takes up to 5 - 8 seconds to do the HDMI handshake with the TV and provide a picture. In February 2015 the audio circuits on the receiver entirely died. I could get video, but no audio from any source. Rather than fight to get this thing repaired (it was out of warranty, too), I moved to a Yamaha RX-V777BT receiver.

3.8.4 Dell Studio Hybrid

The Dell Studio Hybrid is a small form factor PC that I use as a media center front end. It’s pretty under-powered and is one of those models that came and went quickly. It’s hard to find updated drivers for it and has odd HDMI issues occasionally. Now that there’s a Plex app for Xbox 360/One and Playstation 3 I don’t really use this anymore. I will probably repurpose it.

3.8. Deprecated Hardware 49 Illig Media Center Documentation, Release 1.0

Display Resolution

I used to have a display resolution issue when the Dell Studio Hybrid was hooked up to the Sharp Aquos TV. It ran at 1280 x 768, which left a letterbox on each side since the Sharp Aquos TV we have runs at 1366 x 768 natively. This problem went away when I connected it via HDMI to the Samsung LN52A750 TV we got - now it runs at full 1080p. • Most TVs don’t accept more than 720p through VGA/DVI, which we found while figuring out how to hook up the Xbox 360 (though that may have changed with newer TVs). • Different resolutions become available when you hook the computer up to the TV using the HDMI connection. I tried this with the Sharp Aquos and found that 1080i became available (though it didn’t display nicely - that could have been due to the TV not understanding the input right). That wasn’t available through the DVI hookup. • The Dell Studio Hybrid uses an Intel X3100 graphics processor on GM965 chipset. I tried asking a question on The Green Button about whether the HD resolution was unavailable because I was using DVI but didn’t get any response. • A tool called DTD Calculator enables easier manipulation of DTD values and doesn’t require all the work that is mentioned in the article.

Problem: DVD Causing AppCrash

I found that the DVDs “Christmas Vacation” and “A Christmas Story” both cause and Win- dows Media Player to crash on this machine. I posted to the Intel forums about the issue but never received a response.

Problem: Machine Sleep is Unpredictable

There are forums upon forums about sleep problems with Windows. With this machine I’ve had both a problem where the machine won’t go to sleep and a problem where the machine would go to sleep but wake up for no reason. I fixed it by turning the amount of time until the machine goes to sleep down to 10 minutes and picking a different screen saver (“Bubbles”).

Problem: HDMI Handshake/Signal Loss

I had been using VGA video, but a new problem appeared once I started HDMI - if the display turns off (or the machine goes to sleep) while the TV is off, the TV will never get the signal again once you wake the computer up. As it turns out, the signal only seems to be lost if Windows Media Center is running full screen; if it’s minimized, I don’t see the issue. Some people report this as an “EDID handshake” problem but I’m not thinking it’s what I’m seeing. I tried fixing it by not letting the machine ever sleep, but that doesn’t seem to be 100%. What fixed it: I purchased an HDMI switcher. This blog entry pointed me to that. Somehow the switcher is able to keep the signal going, and if anything disconnects I can switch the HDMI signal away and back to the PC and it reconnects. Things that don’t work: • Switching the ACPI sleep mode from S3 to S1. • Changing resolution via command line. There is a guy on this forum who uses “MultiRes” and a batch script to “wake up” the signal. I tried this using the 12noon program Display Changer, previously Resolution Changer, with no luck. • Folks in AVSForum have used a thing called DVI Detective to get past this, but it seems to have problems in inexplicable ways and reading the product description, doesn’t look like it’s for me.

50 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

There’s a guy who wrote a program “hdmiOn” that you can assign to a hot key and it turns the monitor off/on - ostensibly that should fix it, but some commenters say it doesn’t work. I didn’t try that. I did start a question in the Microsoft Answer Forums on this. I’ve also posted the question at The Green Button forums. On the Microsoft Answer Forums, the tech there said it sounds like a video card driver issue. No updated drivers have fixed it thus far.

Problem: Slow Wireless Speed

The Intel 1505 WLAN wireless G card included in the box is really slow to connect to the network. There is some doc on configuring it on the Dell site. I experimented with the settings on the card without luck; eventually I switched to an external wireless-N adapter (and, later, to a wired connection). Original settings here - I’ll make changed settings bold. • 802.11h+d: Loose 11h • Afterburner: Disabled • Antenna Diversity: Auto • AP Compatibility Mode: Higher Performance • Band Preference: None • Bandwidth Capability: 11a:20/40;11bg:20MHz • Bluetooth Collaboration: Enable • BSS Mode: 802.11n Mode • Disable Bands: None • Disable Upon Wired Connect: Disabled • Fragmentation Threshold: 2346 • IBSS 54g(tm) Protection Mode: Auto • IBSS Mode: 802.11b Only 802.11 a/b/g/n Auto • Locally Administered MAC Address: Not Present • Location: USA • Minimum Power Consumption: Enabled • PLCP Header: Auto (Short/Long) • Priority & VLAN: Priority & VLAN Disabled • Rate (802.11a): Best Rate • Rate (802.11b/g): Best Rate • Roam Tendency: Moderate • Roaming Decision: Default • RTS Threshold: 2347 • Wake-Up Mode: Magic & WakeUp Frame • WMM: Auto

3.8. Deprecated Hardware 51 Illig Media Center Documentation, Release 1.0

• WZC IBSS Channel Number: 11(20MHz) • XPress (TM) Technology: Disabled

Problem: One Pixel Overscan Line

In a continued weirdness with the video driver, every once in a while I see a one pixel “line” along the right side of the TV when watching video. It’s not a showstopper, but it sure is distracting. I’ve started a forum post on the Green Button for this. There is another thread that talks about a hotfix for this. I didn’t try it because, after switching away from Windows Media Center, the issue went away.

3.8.5 ChannelMaster CM 3000 SMARTenna

I picked up the ChannelMaster CM 3000 SMARTenna during my plan to cut the cable. It was a reasonable balance between cost, functionality, and ease of installation. It was very easy to mount and it’s paintable, so it blends right in. Here’s a photo of the installed antenna, right above the light in the front of my house. I painted it white so you barely notice it. I also put some wire grating above it so animals don’t make a home up there.

While it worked well in the summary, when the weather got bad the reception got a little flakey. At a certain point I started missing programs due to bad reception so I upgraded to the ClearStream 2V HDTV Antenna.

3.8.6 Yamaha RX-V777BT

I picked up my Yamaha RX-V777BT receiver in February 2015 after my Onkyo TX-SR875 receiver blew out its audio circuitry. I picked it up at Amazon for around $800.

52 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

The setup on it was easy and the feature set is just right for me. It also came with a Bluetooth adapter that lets me play music from my phone right to the receiver, like a giant portable Bluetooth speaker. The killer feature, for me, is the standby HDMI passthrough. It allows you to turn the receiver off (well, put it in standby mode) and still allow HDMI signals to be selected and pass through the receiver. You can watch stuff just through the TV without having to turn on the whole surround system. The system was deprecated in March 2016 in favor of the Marantz SR5010. The playback on this Yamaha was perfect but on occasion I’d hear a slight static coming from the left rear channel when a movie was paused or a game was paused. I couldn’t find a pattern for it and it wouldn’t always happen. When I reported the issue to the extended warranty company for investigation, they just sent me a check for the original purchase price and called it good. I wish I hadn’t noticed the issue; I really did like this receiver.

3.8.7 HP EX475 MediaSmart

I bought an HP EX475 MediaSmart server with Windows Home Server v1 on it as my first foray into serving media and general media storage. In February 2016 I switched the OS to be Windows Server 2012 with Windows Server Essentials. • 2GB RAM (upgraded) • AMD Sempron Processor 3400+ (upgraded)

Storage

Current drive mappings (model / serial) - helpful in debugging issues: • WD10EADS-00L5B1 / WCAU45460755 1TB WD Green Drive • WD10EADS-00L5B1 / WCAU46152093 1TB WD Green Drive • WD10EADS-00L5B1 / WCAU48489215 1TB WD Green Drive • 500GB Samsung system drive There is a defect in WHS where the serial number of the drives inside the EX475 gets misreported. Number pairs get transposed. For example: • Real serial number: 12345678

3.8. Deprecated Hardware 53 Illig Media Center Documentation, Release 1.0

• Reported serial number: 21436587

RAID Controller

I discovered while setting up Windows Server 2012 with Windows Server Essentials that the OS actually sees the drives as a RAID-controlled array to be provisioned, not as separate SATA disks. This makes it incompatible with Storage Spaces. You can’t allocate RAID disks into a Storage Space - you have to use RAID instead. I ended up putting the three 1TB drives into a RAID 5 configuration to balance storage and resilience.

WD Green Drives

I stumbled upon WD Green hard drives and they appeared to not only be affordable but also provide power saving benefits. Bad, bad news. In general, I’ve found these drives to be horrible performers. I added a bunch of WD Green 1TB drives and one WD Green 2TB drive. However, doing so I ran into problems with PerfectDisk and defragmentation where the system would hang or blue screen, leaving errors in the event log around the storage or Marvell drivers causing issues. Further research found that there are only two good WD Green model numbers: • WD10EADS-00L5B1 • WD20EADS-00R6B0 Unfortunately, about half of the drives I bought, including the 2TB drive, were not the right models. After moving data off the home server, I removed the drives with the incorrect model numbers and enabled PerfectDisk. The performance problems and I/O errors went away. There are several drives that are known to be problematic with Windows Home Server. The WD drives that use “advanced formatting” are problematic and have an “EARS” product code like “WD20EARS.” I lucked out and got the original/older format with an “EADS” code like “WD20EADS.” The problem is that it requires a special utility to “align” the drives on older systems like the WHS operating system but the utility isn’t compatible with WHS. I also tried a 2TB Samsung SpinPoint drive but it turns out those are also known to have issues with WHS. eSATA Port Multiplier

I have a Rosewill RSV-S5 5-bay eSATA port multiplier. While it can support RAID configurations, I use it as JBOD (“Just a Bunch Of Disks”). There is a review of a Sans Digital port multiplier similar to what I have here and it says the EX475 will only recognize four of the five drives in a five-drive multiplier while the EX495 will see all five. I never put more than four drives in it so I can’t say. After moving the big storage to the Synology DS1010+ I disconnected the port multiplier because it wasn’t needed anymore, it was a tad noisy, and it ate power.

CPU / RAM

I upgraded the RAM and it’s works great, no issues. I considered upgrading the CPU on it, but according to these CPU upgrade instructions, that doesn’t really help with file access time (which was my big bottleneck) so it wasn’t really worth the risk. Several folks in comments report problems, though several others say it went off without a hitch.

54 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

Drivers

Marvell SATA Driver

The stock Marvell SATA controller driver is 1.2.0.46. I tried upgrading the “Marvell Virtual Device” driver through to 1.2.0.57 but the “Marvell 61xx Marvell RAID Controller” still read 1.2.0.46. I’m not sure how the two are related. Either way, it didn’t fix the issue I saw with the WD Green drives. I intentionally never updated to driver 1.2.0.60. Alex Kuretz (from MediaSmartServer.net) has said the newer drivers can render a port mutliplier inoperable. On the other hand, ymboc (the guy behind lots of low-level hacks on WHS), says the 1.2.0.68 drivers help a lot. This site says the EX470 (same internals as EX475, different drive configuration out of the box) has a Marvell 88SE6111 SATA controller, so I thought I’d be looking for drivers for that, but this upgrade tutorial uses the 6121 drivers and even provides a link to 1.2.0.57. This article also uses the 1.2.0.57 drivers. Most times we’re looking at the WinXP 32-bit drivers for upgrade. I stopped fussing with the Marvell SATA drivers when I moved storage to the Synology DS1010+.

WNAS Driver

There appears to be a defect with the WNAS driver where it reports high heat on the VRM (voltage regulator module). It’s been ongoing since I got the machine. All drives in the system seem to work fine and the system generally reports healthy. I verified it had nothing to do with eSATA or the port multiplier. I’ve read on forums where a couple of people have seen this and it always comes out that there is some sort of misreporting problem going on. The WNAS driver also appears to be what controls the lights on the HP EX475. After updating to Windows Server 2012 with Windows Server Essentials the lights on the drives and the system health light no longer functioned as they did in the Windows Home Server world. I found a forum where someone reverse-engineered the driver for WHS 2011 but it doesn’t support the HP EX475. They claim they did it by reverse-engineering the WNAS driver. At some point I may look into this.

HP Software Updates

The machine came with a 2.x version of the HP home server software (some custom stuff on top of Windows Home Server v1). A 3.0 update came out but I never installed it. To install the update, it’s sort of a “server recovery model” - basically it keeps storage but wipes the system drive. If you have folder duplication running, any data that was stored on the system drive will be duplicated to another drive in the pool. • Make sure folder duplication is running. • Consider doing a file list dump to see if anything in storage is lost after the update. • Be prepared to lose the backup database. You may need to do the full reset on that after updating. • First thing after the update, run Windows Update to get WHS Power Pack 3. PP3 is not included on the disc. • Leave it for a night before installing additional add-ins. There will be churn as it re-discovers files in storage. • You will need to re-create all of the user accounts, but you won’t have to re-create the user-specific folders. I ordered the update on 2/26/10 for $27.95 and received the discs in early April. There is a blog entry from a guy who has done the 3.0 update and swapped out the system drive at the same time. This apparently worked well. That said, he had trouble running the update from Windows 7 so if I run into that I should try from an XP or Vista machine (VM?).

3.8. Deprecated Hardware 55 Illig Media Center Documentation, Release 1.0

The 3.0 update does not contain any updated drivers.

Upgrade to Windows Server 2012 Essentials

January 8, 2013 was the last day of support for Windows Home Server v1. In February 2016 I upgraded to Windows Server 2012 with Windows Server Essentials. I basically followed this article another person wrote on upgrading. I even made my own debug cable rather than buying one. I thought I might have to upgrade the processor which sounds painful because you need to modify the BIOS to support it. . . but it turned out the processor upgrade I already did supports WSE just fine. I did find that Windows Storage Spaces, which I wanted to use, isn’t compatible with RAID drive arrays. The HP EX475 registers drives as controlled by a hardware RAID array, so I was stuck on Storage Spaces and instead had to use RAID 5. This upgrade really showed me how close to end-of-life this hardware is. Fighting with the debug cable just added a whole level of pain to everything. I realize I could probably put some form of on there, but then we get out of “appliance I don’t have to pay attention to” and into “something I have to fiddle with.” I don’t want to fiddle with it, I just want it to work.

Deprecation

In June 2016, I noticed things were starting to run really slow. CrashPlan were taking days to finish (even when there was nothing new to back up). I couldn’t do anything but file sharing on the server because everything else took too much toll on the CPU and RAM. I tried running an error scan on the system OS drive and it took two days to finish. A long-time issue with one of the cooling fans rattling came back. All of that along with the fact that this thing is headless. . . I lost confidence in the machine. It stopped behaving like an appliance. I started the process of moving all the data off the WHS machine and onto the Synology DS1010+. I completed this in late 2017 after moving all backups to IDrive and took the WHS offline.

3.8.8 Powerline Network Adapters

I used to have powerline adapters to get wired network from downstairs, where my cable modem and router are, to the upstairs, where we have various devices requiring connectivity. I did this because the wireless signal wasn’t as good upstairs, but I also found that the powerline adapters were somewhat slow and flaky. Better than wifi at the time, but not as good after updating the wireless signal. When I had powerline running, part of that was an access point to improve upstairs wifi. That was removed.

Netgear XAVB5101 500MBps

My primary link from downstairs to upstairs is via a pair of Netgear Powerline 500 Nano XAVB5101 units. These work at a peak speed of 500MBps, which is more than enough to satisfy some HD streaming. While these are supposed to work alongside the XAVB1201 adapters, after adding them into the mix the XAVB1201 adapters became unreliable, as though the signals were incompatible.

56 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

Netgear XAVB1201 100MBps

I have some Netgear XAVB1201 units for less-frequently used connections like the master bedroom. These work at an effective speed of 100MBps and are just fine for HD video to a single room.

3.8. Deprecated Hardware 57 Illig Media Center Documentation, Release 1.0

3.8.9 Netgear Nighthawk X6 AC3200 (R8000)

I had a Netgear Nighthawk X6 AC3200 tri-band router (model R8000) as my primary router/wireless access point coming right off the cable modem for quite some time. I replaced it with Ubiquiti equipment when we had some networking hiccups.

58 Chapter 3. Hardware / Devices Illig Media Center Documentation, Release 1.0

I bought this as a replacement for the Netgear WNDR3700v2 I was using due to some range issues. I had wireless roaming mostly working, though it wasn’t smooth, so I upgraded to this model to help out. I liked my Netgear WNDR3700v2 and it was solid; I just needed some better range. The trouble in the house is mostly walls. No matter where I put my previous access points, nothing really covered everywhere. With this new router, I get a minimum of three bars (out of four) everywhere in my house and even into the back yard. Setup was super easy and the additional features like Dynamic Quality of Service are sweet. I had the new router swapped out for my old one and everything configured in under an hour.

3.8. Deprecated Hardware 59 Illig Media Center Documentation, Release 1.0

60 Chapter 3. Hardware / Devices CHAPTER 4

Software

Plex is the centerpiece of my media center software. It provides access to pretty much all of my media in a nice, polished interface. That said, Asset UPnP is my primary mechanism for accessing music. I use MakeMKV for ripping disc contents into digital format, then Handbrake for converting the ripped contents into a compatible format. I use PhotoDirector for organizing my photos and DVD Profiler for managing my DVD collection. My digital music is in iTunes but I keep track of the combined digital and disc music collection using Music Collector. My backup solution is iDrive, which handles off-site backup. That, combined with the File History backup in (which also gets backed up by iDrive), has me covered.

4.1 Collection Management Software

Collection management software is used to keep track of the original media (discs, purchased digital media, photos) that gets served up.

4.1.1 iTunes

I, like many, use iTunes to organize my music. What I like: • It’s one place I can go to deal with my collection and sync up devices. • It keeps the music files organized on disk. • It has a passable metadata editing interface. • It has a programming interface that lets me write scripts to help automate tasks in music management. What I don’t like:

61 Illig Media Center Documentation, Release 1.0

• It is slower than any other program I use. Startup/shutdown is ridiculous. Switching views, especially if it’s to something requiring network activity (like the iTunes store) is laughable. • It locks up whenever it has to do a network I/O call. I keep all of my music on a shared network drive. If I copy a new file into the library, the UI literally locks up during the whole file copy operation. This gets really bad if it’s downloading - every it saves locks up the UI unexpectedly as it writes the file to the network share. • It tries to do too much. I don’t need an integrated store and an app management system and and and and. I want it to manage my music. I want it to sync my music to my devices. That’s it. Do your thing and do it well. Instead, it does 1000 things and it half-asses every one. I’ve considered alternatives like MediaMonkey but I just haven’t bitten the bullet yet. I have a few (very few) iTunes DRM-wrapped tracks and videos and without iTunes, I’m not sure if that’d work too well.

Windows Media Center Integration

At one point, before getting Asset UPnP, I tried integrating iTunes music directly into Windows Media Center. You can read my notes and rough plan on the Windows Media Center page, but I never did get it working.

Advanced Searching

Sometimes while working with my collection I find I need to do some searching to locate tracks in my library that meet a certain criteria (like the ones that don’t have artwork or maybe a regex match on an artist name). The smart work well much of the time, but for when I need a more powerful approach, I wrote this script to help me out. You need to know about the iTunes COM SDK to know what fields are available to search over, so, YMMV with this.

/* jshint eqnull:true */ // ComplexSearchTemplate.js // A template for doing a search over tracks // using some complex logic. Output is in tab-delimited format. // Run cscript.exe //U to get Unicode output in Windows.

// Return true to include the track in the output; // false to skip the track. function predicate(track) { if (track.URL != null || track.Podcast || track.Location == null){ // Filter out of non-music. return false; }

// Do the search here and return true if the track matches the criteria. return true; }

// Get the set of all tracks from the library. var iTunesApp= WScript.CreateObject("iTunes.Application"); var allTracks= iTunesApp.LibraryPlaylist.Tracks; if (allTracks === null){ WScript.Echo("Unable to get list of library tracks!"); WScript.Quit(); }

// Process the tracks. (continues on next page)

62 Chapter 4. Software Illig Media Center Documentation, Release 1.0

(continued from previous page) var numTracks= allTracks.Count; for (var i=1; i <= numTracks; i++){ var currentTrack= allTracks.Item(i); if (!predicate(currentTrack)) { continue; }

try { WScript.Echo(currentTrack.Location+ "\t"+ currentTrack.Artist+ "\t"+

˓→currentTrack.AlbumArtist+ "\t"+ currentTrack.Album+ "\t"+ currentTrack.Name); } catch (ex) { WScript.Echo("Error processing "+ currentTrack.Artist+"-"+ currentTrack.

˓→Name+":"+ ex.message); } }

4.1.2 PhotoDirector

CyberLink PhotoDirector is the program I use to manage my photo collection. I do have my photos indexed in Plex for easy viewing, but for general management, tagging, etc., I’m using PhotoDi- rector. I picked this up after Google dropped support for Picasa. From a general photo management standpoint the software works really well, however, I have found no end of trouble with the face tagging feature. The more face tags you have, the slower the tagging feature works to detect new faces. Also I have lost my face tag data twice now over software upgrades. As such, I’ve stopped doing face tagging. In the future I’m considering looking at one of these server-based self-hosted packages: • PhotoStructure • Piwigo • Lychee

4.1.3 DVD Profiler

DVD Profiler is a collection management tool for handling video disc (DVD, Blu-ray, HD-DVD) collections. I’ve used DVD Profiler for years. I originally selected DVD Profiler when I was still using Windows Media Center and was considering using “My Movies” integrated with WMC - “My Movies” has an export option for DVD Profiler. I still use it to track my collection for insurance purposes and because it allows you to easily post your movie collection online (here’s mine) so you can check it and avoid buying duplicates. The reporting capabilities are pretty good and very customizable. The movie metadata database is also very tightly controlled and curated so metadata that shows up in your database is very clean. While I use Music Collector from Collectorz.com for managing my music collection, I still think I’d go with DVD Profiler for video collection management even today. The only downside I see is that if you buy a digital-only movie, there’s still no easy way to add this to your collection. The challenge with supporting this, apparently, revolves around figuring out how to uniquely identify movies.

4.1.4 Music Collector

Music Collector is the program I use to manage my audio collection - discs and digital files.

4.1. Collection Management Software 63 Illig Media Center Documentation, Release 1.0

The Collectorz.com programs are all pretty good for collection management and I’m pretty happy with Music Collec- tor. It even provides you with the ability to sync your collection online for easy access (here’s mine). The only real thing I don’t like about Music Collector is that the database of metadata is not terribly clean. You can generally find several copies of a given album coming from several different sources and almost all of them are incomplete or have errors. If metadata quality in your collection management software is important, this may not be for you. . . but I don’t know what your other options are. I cope with this by keeping the high-quality metadata actually in the digital audio track files and/or in the iTunes database rather than in Music Collector.

4.2 Ripping Software

Ripping software takes original media (discs) and converts it into something digital that can then be further processed as needed by conversion software. When you rip your original media, sometimes you have a disc that has, say, the “theatrical release” as well as an “extended” or “unrated” release. It’s helpful to know the differences so you can see which is which (since you don’t get menus). The ‘Movie Censorship’ site is a great place to tell you exactly - second for second, frame for frame - the differences between one movie cut and another. Some Blu-ray discs have an odd sort of copy protection on them that shows you literally hundreds of nearly identical titles. Blu-ray disc movies are sometimes made up of “playlists” that play one movie segment after another. These nearly identical titles are different playlists that are showing the movie out of order. Only one of them actually plays the movie in the right order. To make it worse, different versions of the disc - say, the one sold at Amazon vs. the one sold at Target - will have different fake titles and the correct one will be different. Be prepared to read a lot of forum posts when you run into this. It’s a solvable thing, it just takes time. • The MakeMKV forum is a good place to search for answers. People run up against this and will generally post the answer for you. • The AVS Forum Blu-ray Info thread can sometimes help, though it’s hard to read and the info there is dense. • Search engines are your friend. If I can’t find what I’m looking for, I’ll generally search on movie-title mpls (mpls is the name of the “ format” on a Blu-ray) or movie-title makemkv like hunger games makemkv. • If all else fails, this forum post tells you how to manually figure it out yourself using MakeMKV. Software I use for ripping content:

4.2.1 MakeMKV

MakeMKV is a great free tool for ripping DVD and Blu-ray content. It does no conversion like Handbrake but is good at preserving original content and cherry-picking audio tracks for later conversion. MakeMKV has been in beta for a very long time and is free during the beta period. You do have to re-visit the forums occasionally to get a new beta key for the product, but that’s not too hard. I ended up paying since I’ve definitely gotten my money’s worth.

Post-Conversion

I found that movies ripped with MakeMKV and later converted with a tool like Handbrake will sometimes bring along metadata like the movie title. This metadata is usually not what you want and can be confusing if you try adding it to Plex later.

64 Chapter 4. Software Illig Media Center Documentation, Release 1.0

Before pushing a converted video to Plex, update the file properties to remove (or update) any metadata that was added by MakeMKV and Handbrake during the conversion process.

Playlist Obfuscation

One copy protection tactic that companies may use to make it hard to rip the movie is “playlist obfuscation.” When you load the movie up in MakeMKV, it may appear there are tens or hundreds of copies of the same movie. Each of these copies differs by the order of the scenes. If you rip the wrong one, the movie plays out of order and doesn’t make sense. Usually the MakeMKV forums will have someone who has already figured out the right playlist and will have posted it. However, if there’s not, you can figure it out yourself with some Blu-ray player software and Procmon. Fire up Procmon and set the filter to the standard exclusions (the default) and then. . . • Process Name contains “dvd” • Operation is “CloseFile” • ends with “.m2ts” Start Procmon running. Now fire up the Blu-ray player software and start playing the movie. Clear any Procmon logs right after you start playing. Then fast forward through the whole movie. As the player software moves from scene to scene, it will close the current scene file and open the next. Closing the scene file will add a log entry in Procmon. These will be numbered - 101.m2ts, 102.m2ts, etc. When the movie is done, stop Procmon from monitoring but don’t shut it down yet. Now in MakeMKV, find the playlist that matches the numbers Procmon shows in that same order. That’s the correct playlist. If there are a lot of playlists, you can use the MakeMKV console app to dump them to a file and search:

"C:\Program Files ()\MakeMKV\makemkvcon.exe" --robot --

˓→messages=C:\Users\YourUserName\Desktop\MakeMKVOutput.txt info disc:0

You’ll get a lot of results that have messages like this:

TINFO:385,2,0,"John Wick 3: Parabellum" TINFO:385,8,0,"16" TINFO:385,9,0,"2:10:45" TINFO:385,10,0,"32.0 GB" TINFO:385,11,0,"34411984896" TINFO:385,16,0,"00957.mpls" TINFO:385,25,0,"19" TINFO:385,26,0,"518,512,514,510,515,506,520,511,516,505,501,504,502,519,507,508,509,

˓→503,517" TINFO:385,27,0,"John Wick 3- Parabellum_t385.mkv"

This shows that title 385 is playlist 00957.mpls along with the associated segment list. Use a text editor to find the segment list that you determined with Procmon.

4.3 Media Conversion Software

Media conversion software is used to take ripped content and convert it into something that can be handled by server software.

4.3. Media Conversion Software 65 Illig Media Center Documentation, Release 1.0

4.3.1 Handbrake

I use Handbrake to convert my videos into MP4 (M4V) format.

• Conversion Settings – SD Settings – HD Settings • Research – Figuring HD Settings – Subtitles – Lip Sync Issues • Remote Queue Monitoring • Reporting Media Info • Additional References • User Presets

Conversion Settings

My entire set of user presets in JSON format compatible with Handbrake 1.x is pasted below, but for ease of use I’ve also outlined what it looks like in the UI so you can replicate it that way.

SD Settings

I have three SD presets that only differ by the “x264 Tune” setting for Film (most everything), 2D Animation, or Grain. • Picture – Width/Height: nil (let it auto-correct) – Anamorphic: Loose – Modulus: 2 – Cropping: Automatic • Filters – Detelecine: Off – Deinterlace: Decomb – Preset: Default – Interlace Detection: Default – Deblock: Off – Grayscale: Unchecked – Rotate: 0 – Flip: Unchecked

66 Chapter 4. Software Illig Media Center Documentation, Release 1.0

• Video – Video Codec: H.264 (x.264) – Framerate FPS: Same as source – Variable Framerate – Optimize Video:

* Encoder Preset: Slower * Encoder Tune: Film, Animation, or Grain (depends on the source – I change this per item ripped) * Fast Decode: Unchecked * Encoder Profile: High * Encoder Level: 4.1 * Extra Options: Empty – Quality: Constant Quality RF 18 • Audio – Track 1:

* Source: The best sound track on there with the most channels. (It usually does a good job of auto- detecting.)

* Codec: AAC (avcodec) * Bitrate: 256 * Mixdown: II * Samplerate: Auto * DRC: 0 * Gain: 0 * Track Name: [Leave this empty] – Track 2:

* Source: Same as Track 1. * Codec: Auto Passthru * Track Name: [Leave this empty] • Subtitles: – Source: Foreign Audio Scan – Forced Only: Checked – Burn In: Checked – Default: Unchecked • Chapters: I do select “Create chapter markers” but I let the automatic detection do the naming and timing. Using these settings, I calculated SD content for me uses an average of 18.73MB/minute.

4.3. Media Conversion Software 67 Illig Media Center Documentation, Release 1.0

HD Settings

My HD settings are almost the same as my SD settings with the following differences: • Video – Quality:

* For Film: Constant Quality RF 21 * For Grain: Constant Quality RF 21 * For Animation: Constant Quality RF 20 – Optimize Video:

* Extra Options: ref=5:bframes=5

Research

Figuring HD Settings

I started my testing by checking out links like the Rokoding guide to 1080p encoding. These give some great guidance and help you know where to begin. In testing to find the right HD settings, I went through a few different movies. I found the output size was very different based on the movie type and the x264 Tune setting.

Movie 300 Hunger Games: Mock- Across the Alice in Wonder- Cinderella ingjay Pt. I Universe land (2010) (1950) x264 Grain Film Film Film Animation Tune Original 21,530,308,97821,742,181,655 26,831,992,958 24,308,963,706 22,461,786,135 Size RF 18 22,119,901,5104,240,158,260 – – – RF 19 – 3,595,175,689 11,076,964,804 12,880,097,076 – RF 20 16,703,767,5073,090,776,234 8,913,678,948 11,083,481,088 3,957,488,389 RF 21 14,317,745,0012,727,727,566 7,143,310,360 8,408,253,360 3,801,331,209 RF 22 12,158,064,830– 5,741,888,616 7,254,867,569 –

In all cases, just as with the SD presets, I had a stereo mixdown audio track and an original/surround passthrough track. I didn’t keep extra tracks like commentary, etc. (For Cinderella I had two passthrough tracks - the 5.1 DTS-HD and the original mono DTS-HD.) I’ve seen in some forum posts and videos that folks want to change the number of reference frames to 4 (ref=4) in advanced settings, but the intent is always to increase the number of reference frames used. Using MediaInfo I could see that the default number of reference frames used was 5 (ref=5) so I stopped messing with it. For 300, the file was very hard to shrink much because of the details in the grainy appearance. Too much more and you start noticing unfortunate artifacting around edges. Only 7% of this file was audio; the rest is all video. The Hunger Games: Mockingjay Part I seemed to create an unusually small file regardless of the RF number. It made me curious why the original was so big. The same thing happened with Alice in Wonderland, though it’s not as apparent: Wonderland has a DTS-HD MA soundtrack that I allowed to pass through (I like having the original audio) and that track alone took 3GB - 38% of the file size under RF21. Across the Universe had a larger video size than either Mockingjay or Wonderland. With only 427MB of the size coming from sound, the majority of that file size truly is video. I’m unclear if this is an anomaly.

68 Chapter 4. Software Illig Media Center Documentation, Release 1.0

Cinderella is a pretty decent example of standard, full-frame (4:3) 2D animation, at least from the movies I have (Disney classics). The sound - a stereo mixdown track, a DTS-HD 5.1 track, and a DTS-HD mono track - was about 2.5GB of the file size. The video was closer to 30% with the rest being audio. Visually, honestly, I couldn’t really tell the difference between the RF 21 and RF 20 and both looked amazingly clear, so I didn’t bother going any further with it. I may have been able to squeeze it more, but given the majority of the file is sound, it would be diminishing returns. The HD video “sweet spot” for Grain and Film seems to be RF 21; for 2D animation I like RF 20. Those numbers seem a good balance between file size and quality and they follow the rough guideline I’ve seen for 22+/-1 for HD. HD video done with the Film setting at RF 21 seemed to take my Megaplex server around 3 - 4 hours to complete. 300, on the grainy setting, took closer to 6 - 7 hours. 2D animation ran about 2 hours. Of course, these end up being “guidelines” rather than “rules.” I start here, and after the conversion I’ll see if I need to reconvert with different settings. I ended up keeping the RF 18 version of Mockingjay. Using these settings, I calculated HD content for me uses an average of 80.72MB/minute.

Subtitles

I learned a lot about subtitles in doing video conversion. If you’re like me, you never thought much about how they work - the text just comes up on the screen as needed. Handbrake has a really good page explaining things from a technical perspective but it breaks down in my world like this: • Handbrake can read all of the standard subtitle types you’ll find on discs. • If you’re using the MP4 format like me, you can either permanently “burn in” the subtitles to the video image or you don’t get subtitles at all. This is because MP4 doesn’t let you keep a separate subtitle track the way MKV does. Since I am fortunate enough to only need subtitles in non-English-speaking films or in parts during English-speaking films where they switch languages, this is less an issue, but it does require you “flip a switch” in Handbrake to tell it to include the subtitles. • General Subtitles: This is for a foreign language film where you always want the subtitles on through the whole movie. Think “English speaker watching a Kung Fu movie.” • Forced Subtitles: This is for a native language film where you only need subtitles for the few foreign language parts. Think “Black Widow getting interrogated by the Russians in ‘The Avengers’.” Here’s how to get subtitles in your movie: 1. First, choose which, if any, kind of subtitles you want. 2. Switch to the “Subtitles” tab in Handbrake. 3. Click “Add Track” to add a subtitle track. 4. For your chosen subtitle type. . . 1. For general subtitles, select the language of the subtitles you want and click the “Burn In” checkbox. 2. For forced subtitles, select “Foreign Audio Scan” as the language and click both the “Forced Only” and “Burn In” checkboxes. Even though I’ve added forced subtitles to my user presets JSON (below), the default doesn’t seem to keep - you need to re-check the “forced only” box each time. It’s important to look at the output when you expect subtitles. I found that sometimes there are multiple English tracks and sometimes you get the wrong one. There are tips for troubleshooting on the Handbrake subtitle page.

4.3. Media Conversion Software 69 Illig Media Center Documentation, Release 1.0

Additional tips for subtitles: • This forced subtitles Google Doc spreadsheet is an incomplete but ever-growing list of movies that have forced subtitles in them. It can help determine if you need to switch on forced subs. • SubtitleEdit is a tool for inspecting and editing subtitles. I use it to figure out where the subtitles start and end (looking at the source ripped content) so I can narrow down what I should look at in the end conversion.

Lip Sync Issues

I discovered after the first round of scanning movies that there were issues with graininess, cropping, and lip sync on some movies. I rescanned them. After rescan, these still had some issues: • Buffy the Vampire Slayer (1992) - Possible naturally bad sync. Everything is off by just a couple of frames. • Christmas Vacation (1989) - Possible naturally bad sync. Some scenes are right on, some are off by a couple of frames. • Elf (2003) - Possible naturally bad sync. Some scenes are right on, some are off by a couple of frames. • Eraser (1996) - Possible naturally bad sync. Some scenes are right on, some are off by a couple of frames. • GI Jane (1997) - Possible naturally bad sync. Some scenes are right on, some are off by a couple of frames. • Iron Monkey (1993) - Almost looks like the wrong language, but this is apparently normal for some Cantonese films - they overdub themselves. • It’s a Very Merry Muppet Christmas Movie (2002) - Possible naturally bad sync. Everything is just a little off. • Jay and Silent Bob Strike Back (2001) - This is a variable frame rate movie and it seems to have naturally bad sync. Switching to constant frame rate makes some of the sections stutter. • Labyrinth (1986) - Possible naturally bad sync. • Lethal Weapon (the entire series) - All of these seem to have naturally bad sync. • Maverick (1994) - Possible naturally bad sync. Some scenes are right on, some are off by a couple of frames. I stopped tracking the complete list. It kind of sucks, but it is what it is. Part of the way I fixed this was to start using constant frame rate in some my conversions rather than variable frame rate. I noticed that, as a general rule, this reduced or removed many of the lip sync problems I saw.

Remote Queue Monitoring

Handbrake has a command-line interface and good scripting abilities, but it doesn’t have an official way to monitor the status of the queue. Not that it’s super important, but I’m curious to see how things are progressing without having to remote all the way in. The way I solved that was with a PowerShell script and OneDrive. Handbrake stores the queue XML in the %AppData%\Handbrake folder. The files are always named like hb_queue_recovery1234.. I set up a scheduled task to generate a small text report of the most recently written queue XML file and dump it in a OneDrive folder. That way I can see the state of the queue from anywhere. Here’s the script I used:

$reportFile="C:\Users\Travis\OneDrive\QueueStatus.txt" $handbrakeDir= Join-Path([Environment]::GetFolderPath("ApplicationData")) -

˓→ChildPath"Handbrake"

(continues on next page)

70 Chapter 4. Software Illig Media Center Documentation, Release 1.0

(continued from previous page) [XML]$queue= Get-ChildItem -Path $handbrakeDir -Filter"hb_queue *.xml"| Sort-Object -Property LastWriteTime -Descending | Select-Object -First 1 | Get-Content

$queue.ArrayOfQueueTask.QueueTask | Select-Object -Property @{n='Status';e={$_.Status}},@{n='Source';e={$_.Task.Source}},@

˓→{n='Destination';e={$_.Task.Destination}} | Format-Table -AutoSize | Out-String -Width 4096 | Out-File $reportFile -Force

The report output looks like this:

Status Source Destination ------InProgress E:\Rip\Enchanted (2007)\Enchanted_t01.mkv E:\Rip\Enchanted

˓→(2007).m4v Waiting E:\Rip\The Expendables (2010)\The_Expendables_t01.mkv E:\Rip\The

˓→Expendables (2010).m4v Waiting E:\Rip\The Expendables2(2012)\The_Expendables_2_t55.mkv E:\Rip\The

˓→Expendables2(2012).m4v Waiting E:\Rip\Family Guy.s09e18\FAMILY_GUY_IT'S_A_TRAP!_t00.mkv E:\Rip\Family

˓→Guy.s09e18.m4v Waiting E:\Rip\The Fifth Element (1997)\title00.mkv E:\Rip\The Fifth

˓→Element (1997).m4v

Reporting Media Info

I used a script to calculate video media average sizes for my collection, the result of which I posted on the video format page. The script I used is here:

$mediaShare="\\DISKSTATION\video" function Get-MediaInfo { param([Parameter(ValueFromPipeline=$true)] $path)

Begin { $shell= New-Object -COMObject Shell.Application Write-Progress -Activity"Scanning media info" -Status"Starting scan" }

Process { Write-Progress -Activity"Scanning media info" -Status $path $fileSize= Get-Item $path| Select-Object -ExpandProperty Length

$folder= Split-Path $path $file= Split-Path $path -Leaf $shellfolder= $shell.Namespace($folder) $shellfile= $shellfolder.ParseName($file)

# Good stuff! http://powershell.com/cs/blogs/tobias/archive/2011/01/07/

˓→organizing-videos-and-music.aspx (continues on next page)

4.3. Media Conversion Software 71 Illig Media Center Documentation, Release 1.0

(continued from previous page) # 27 = Length in H:M:S format # 299 = Frame height # 301 = Frame width [int]$frameWidth= $shellfolder.GetDetailsOf($shellfile, 301) [int]$frameHeight= $shellfolder.GetDetailsOf($shellfile, 299) $length= [System.TimeSpan]::Parse($shellfolder.GetDetailsOf($shellfile, 27)) New-Object -TypeName PSObject -Property (@{'Path'=$path;'Size'=$fileSize;

˓→'Width'=$frameWidth;'Height'=$frameHeight;'Length'=$length}) }

End { Write-Progress -Activity"Scanning media info" -Status"Done" -Completed } }

$allMediaInfo= Get-ChildItem $mediaShare -File -Recurse | Select-Object-

˓→ExpandProperty FullName | Get-MediaInfo $sdMediaInfo= $allMediaInfo| Where-Object{ $_.Width -le 720 } $hdMediaInfo= $allMediaInfo| Where-Object{ $_.Width -gt 720 }

$hdLength= [System.TimeSpan]::Zero $sdLength= [System.TimeSpan]::Zero $hdMediaInfo| ForEach-Object { $hdLength= $hdLength.Add($_.Length) } $sdMediaInfo| ForEach-Object { $sdLength= $sdLength.Add($_.Length) } $hdSize= $hdMediaInfo| Measure-Object -Sum -Property Size | Select-Object-

˓→ExpandProperty Sum $sdSize= $sdMediaInfo| Measure-Object -Sum -Property Size | Select-Object-

˓→ExpandProperty Sum

Write-Host"Total files:" $allMediaInfo.Count Write-Host"SD Length:" $sdLength Write-Host"HD Length:" $hdLength Write-Host"Total Length:" $hdLength.Add($sdLength) Write-Host"SD Size:"($sdSize / 1GB)"GB" Write-Host"HD Size:"($hdSize / 1GB)"GB" Write-Host"Total Size:"(($hdSize+ $sdSize) / 1GB)"GB" Write-Host"SD MB per Minute:"(($sdSize/ $sdLength.TotalMinutes) / 1MB)"MB" Write-Host"HD MB per Minute:"(($hdSize/ $hdLength.TotalMinutes) / 1MB)"MB"

Additional References

• Rokoding has great information on encoding video with particular emphasis on Roku compatibility. • The Matt Gadient best settings guide for Handbrake 0.9.9 is indispensible. Great side-by-side comparisons for things so you can tell what settings actually do.

User Presets

The following is my set of presets. As of Handbrake 1.x the user presets appear in a “folder” in the %AppData%\Handbrake\presets.json file. You should be able to save this JSON, right-click in the pre- sets in Handbrake, and import these. Then you’ll see the same settings as me. (You can also download/view this as a gist.)

72 Chapter 4. Software Illig Media Center Documentation, Release 1.0

{ "PresetList":[ { "AudioCopyMask":[ "copy:aac", "copy:ac3", "copy:dtshd", "copy:", "copy:mp3", "copy:truehd", "copy:flac", "copy:eac3" ], "AudioEncoderFallback": "av_aac", "AudioLanguageList":[ "eng", "und" ], "AudioList":[ { "AudioBitrate": 256, "AudioCompressionLevel": 0.0, "AudioDitherMethod": null, "AudioEncoder": "av_aac", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 }, { "AudioBitrate": 224, "AudioCompressionLevel": 0.0, "AudioDitherMethod": null, "AudioEncoder": "copy", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 } ], "AudioSecondaryEncoderMode": true, "AudioTrackSelectionBehavior": "first", "ChapterMarkers": true, "ChildrenArray": [], "Default": false, "FileFormat": "av_mp4", "Folder": false, "FolderOpen": false, "Mp4HttpOptimize": false, "Mp4iPodCompatible": false, "PictureAutoCrop": true,

(continues on next page)

4.3. Media Conversion Software 73 Illig Media Center Documentation, Release 1.0

(continued from previous page) "PictureBottomCrop":0, "PictureLeftCrop":0, "PictureRightCrop":0, "PictureTopCrop":0, "PictureDARWidth":0, "PictureDeblock":0, "PictureDeinterlaceFilter": "decomb", "PictureCombDetectPreset": "default", "PictureCombDetectCustom":"", "PictureDeinterlacePreset": "default", "PictureDeinterlaceCustom":"", "PictureDenoiseCustom":"", "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", "PictureDetelecine": "off", "PictureDetelecineCustom":"", "PictureItuPAR": false, "PictureKeepRatio": true, "PictureLooseCrop": false, "PictureModulus":2, "PicturePAR": "loose", "PicturePARWidth":0, "PicturePARHeight":0, "PictureRotate": "0:0", "PictureWidth": null, "PictureHeight": null, "PictureForceHeight":0, "PictureForceWidth":0, "PresetDescription": "Preset for HD film conversion.", "PresetName": "Illig HD Film", "Type":1, "UsesPictureFilters": false, "UsesPictureSettings":2, "SubtitleAddCC": false, "SubtitleAddForeignAudioSearch": true, "SubtitleAddForeignAudioSubtitle": false, "SubtitleBurnBehavior": "foreign", "SubtitleBurnBDSub": false, "SubtitleBurnDVDSub": false, "SubtitleLanguageList":[ "eng" ], "SubtitleTrackSelectionBehavior": "none", "VideoAvgBitrate":0, "VideoColorMatrixCode":0, "VideoEncoder": "x264", "VideoFramerate":"", "VideoFramerateMode": "vfr", "VideoGrayScale": false, "VideoHWDecode": false, "VideoScaler": "swscale", "VideoPreset": "slower", "VideoTune": "film", "VideoProfile": "high", "VideoLevel": "4.1", "VideoOptionExtra": "ref=5:bframes=5", (continues on next page)

74 Chapter 4. Software Illig Media Center Documentation, Release 1.0

(continued from previous page) "VideoQualityType":2, "VideoQualitySlider": 21.0, "VideoQSVDecode": true, "VideoQSVAsyncDepth":4, "VideoTwoPass": false, "VideoTurboTwoPass": false, "x264Option":"", "x264UseAdvancedOptions": false }, { "AudioCopyMask":[ "copy:aac", "copy:ac3", "copy:dtshd", "copy:dts", "copy:mp3", "copy:truehd", "copy:flac", "copy:eac3" ], "AudioEncoderFallback": "av_aac", "AudioLanguageList":[ "eng", "und" ], "AudioList":[ { "AudioBitrate": 256, "AudioCompressionLevel": 0.0, "AudioDitherMethod": null, "AudioEncoder": "av_aac", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 }, { "AudioBitrate": 224, "AudioCompressionLevel": 0.0, "AudioDitherMethod": null, "AudioEncoder": "copy", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 } ], "AudioSecondaryEncoderMode": true, "AudioTrackSelectionBehavior": "first", "ChapterMarkers": true, "ChildrenArray": [], (continues on next page)

4.3. Media Conversion Software 75 Illig Media Center Documentation, Release 1.0

(continued from previous page) "Default": false, "FileFormat": "av_mp4", "Folder": false, "FolderOpen": false, "Mp4HttpOptimize": false, "Mp4iPodCompatible": false, "PictureAutoCrop": true, "PictureBottomCrop":0, "PictureLeftCrop":0, "PictureRightCrop":0, "PictureTopCrop":0, "PictureDARWidth":0, "PictureDeblock":0, "PictureDeinterlaceFilter": "decomb", "PictureCombDetectPreset": "default", "PictureCombDetectCustom":"", "PictureDeinterlacePreset": "default", "PictureDeinterlaceCustom":"", "PictureDenoiseCustom":"", "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", "PictureDetelecine": "off", "PictureDetelecineCustom":"", "PictureItuPAR": false, "PictureKeepRatio": true, "PictureLooseCrop": false, "PictureModulus":2, "PicturePAR": "loose", "PicturePARWidth":0, "PicturePARHeight":0, "PictureRotate": "0:0", "PictureWidth": null, "PictureHeight": null, "PictureForceHeight":0, "PictureForceWidth":0, "PresetDescription": "Preset for HD 2D animation conversion.", "PresetName": "Illig HD 2D Animation", "Type":1, "UsesPictureFilters": false, "UsesPictureSettings":2, "SubtitleAddCC": false, "SubtitleAddForeignAudioSearch": true, "SubtitleAddForeignAudioSubtitle": false, "SubtitleBurnBehavior": "foreign", "SubtitleBurnBDSub": false, "SubtitleBurnDVDSub": false, "SubtitleLanguageList":[ "eng" ], "SubtitleTrackSelectionBehavior": "none", "VideoAvgBitrate":0, "VideoColorMatrixCode":0, "VideoEncoder": "x264", "VideoFramerate":"", "VideoFramerateMode": "vfr", "VideoGrayScale": false, (continues on next page)

76 Chapter 4. Software Illig Media Center Documentation, Release 1.0

(continued from previous page) "VideoHWDecode": false, "VideoScaler": "swscale", "VideoPreset": "slower", "VideoTune": "animation", "VideoProfile": "high", "VideoLevel": "4.1", "VideoOptionExtra": "ref=5:bframes=5", "VideoQualityType":2, "VideoQualitySlider": 20.0, "VideoQSVDecode": true, "VideoQSVAsyncDepth":4, "VideoTwoPass": false, "VideoTurboTwoPass": false, "x264Option":"", "x264UseAdvancedOptions": false }, { "AudioCopyMask":[ "copy:aac", "copy:ac3", "copy:dtshd", "copy:dts", "copy:mp3", "copy:truehd", "copy:flac", "copy:eac3" ], "AudioEncoderFallback": "av_aac", "AudioLanguageList":[ "eng", "und" ], "AudioList":[ { "AudioBitrate": 256, "AudioCompressionLevel": 0.0, "AudioDitherMethod": null, "AudioEncoder": "av_aac", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 }, { "AudioBitrate": 224, "AudioCompressionLevel": 0.0, "AudioDitherMethod": null, "AudioEncoder": "copy", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, (continues on next page)

4.3. Media Conversion Software 77 Illig Media Center Documentation, Release 1.0

(continued from previous page) "AudioTrackDRCSlider": 0.0 } ], "AudioSecondaryEncoderMode": true, "AudioTrackSelectionBehavior": "first", "ChapterMarkers": true, "ChildrenArray": [], "Default": false, "FileFormat": "av_mp4", "Folder": false, "FolderOpen": false, "Mp4HttpOptimize": false, "Mp4iPodCompatible": false, "PictureAutoCrop": true, "PictureBottomCrop":0, "PictureLeftCrop":0, "PictureRightCrop":0, "PictureTopCrop":0, "PictureDARWidth":0, "PictureDeblock":0, "PictureDeinterlaceFilter": "decomb", "PictureCombDetectPreset": "default", "PictureCombDetectCustom":"", "PictureDeinterlacePreset": "default", "PictureDeinterlaceCustom":"", "PictureDenoiseCustom":"", "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", "PictureDetelecine": "off", "PictureDetelecineCustom":"", "PictureItuPAR": false, "PictureKeepRatio": true, "PictureLooseCrop": false, "PictureModulus":2, "PicturePAR": "loose", "PicturePARWidth":0, "PicturePARHeight":0, "PictureRotate": "0:0", "PictureWidth": null, "PictureHeight": null, "PictureForceHeight":0, "PictureForceWidth":0, "PresetDescription": "Preset for HD grainy film conversion.", "PresetName": "Illig HD Grain", "Type":1, "UsesPictureFilters": false, "UsesPictureSettings":2, "SubtitleAddCC": false, "SubtitleAddForeignAudioSearch": true, "SubtitleAddForeignAudioSubtitle": false, "SubtitleBurnBehavior": "foreign", "SubtitleBurnBDSub": false, "SubtitleBurnDVDSub": false, "SubtitleLanguageList":[ "eng" ], (continues on next page)

78 Chapter 4. Software Illig Media Center Documentation, Release 1.0

(continued from previous page) "SubtitleTrackSelectionBehavior": "none", "VideoAvgBitrate":0, "VideoColorMatrixCode":0, "VideoEncoder": "x264", "VideoFramerate":"", "VideoFramerateMode": "vfr", "VideoGrayScale": false, "VideoHWDecode": false, "VideoScaler": "swscale", "VideoPreset": "slower", "VideoTune": "grain", "VideoProfile": "high", "VideoLevel": "4.1", "VideoOptionExtra": "ref=5:bframes=5", "VideoQualityType":2, "VideoQualitySlider": 21.0, "VideoQSVDecode": true, "VideoQSVAsyncDepth":4, "VideoTwoPass": false, "VideoTurboTwoPass": false, "x264Option":"", "x264UseAdvancedOptions": false }, { "AudioCopyMask":[ "copy:aac", "copy:ac3", "copy:dtshd", "copy:dts", "copy:mp3", "copy:truehd", "copy:flac", "copy:eac3" ], "AudioEncoderFallback": "av_aac", "AudioLanguageList":[ "eng", "und" ], "AudioList":[ { "AudioBitrate": 256, "AudioCompressionLevel": 0.0, "AudioDitherMethod": null, "AudioEncoder": "av_aac", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 }, { "AudioBitrate": 224, "AudioCompressionLevel": 0.0, "AudioDitherMethod": null, (continues on next page)

4.3. Media Conversion Software 79 Illig Media Center Documentation, Release 1.0

(continued from previous page) "AudioEncoder": "copy", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 } ], "AudioSecondaryEncoderMode": true, "AudioTrackSelectionBehavior": "first", "ChapterMarkers": true, "ChildrenArray": [], "Default": false, "FileFormat": "av_mp4", "Folder": false, "FolderOpen": false, "Mp4HttpOptimize": false, "Mp4iPodCompatible": false, "PictureAutoCrop": true, "PictureBottomCrop":0, "PictureLeftCrop":0, "PictureRightCrop":0, "PictureTopCrop":0, "PictureDARWidth":0, "PictureDeblock":0, "PictureDeinterlaceFilter": "decomb", "PictureCombDetectPreset": "default", "PictureCombDetectCustom":"", "PictureDeinterlacePreset": "default", "PictureDeinterlaceCustom":"", "PictureDenoiseCustom":"", "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", "PictureDetelecine": "off", "PictureDetelecineCustom":"", "PictureItuPAR": false, "PictureKeepRatio": true, "PictureLooseCrop": false, "PictureModulus":2, "PicturePAR": "loose", "PicturePARWidth":0, "PicturePARHeight":0, "PictureRotate": "0:0", "PictureWidth": null, "PictureHeight": null, "PictureForceHeight":0, "PictureForceWidth":0, "PresetDescription": "Preset for SD film conversion.", "PresetName": "Illig SD Film", "Type":1, "UsesPictureFilters": false, "UsesPictureSettings":2, "SubtitleAddCC": false, "SubtitleAddForeignAudioSearch": true, (continues on next page)

80 Chapter 4. Software Illig Media Center Documentation, Release 1.0

(continued from previous page) "SubtitleAddForeignAudioSubtitle": false, "SubtitleBurnBehavior": "foreign", "SubtitleBurnBDSub": false, "SubtitleBurnDVDSub": false, "SubtitleLanguageList":[ "eng" ], "SubtitleTrackSelectionBehavior": "none", "VideoAvgBitrate":0, "VideoColorMatrixCode":0, "VideoEncoder": "x264", "VideoFramerate":"", "VideoFramerateMode": "vfr", "VideoGrayScale": false, "VideoHWDecode": false, "VideoScaler": "swscale", "VideoPreset": "slower", "VideoTune": "film", "VideoProfile": "high", "VideoLevel": "4.1", "VideoOptionExtra":"", "VideoQualityType":2, "VideoQualitySlider": 18.0, "VideoQSVDecode": true, "VideoQSVAsyncDepth":4, "VideoTwoPass": false, "VideoTurboTwoPass": false, "x264Option":"", "x264UseAdvancedOptions": false }, { "AudioCopyMask":[ "copy:aac", "copy:ac3", "copy:dtshd", "copy:dts", "copy:mp3", "copy:truehd", "copy:flac", "copy:eac3" ], "AudioEncoderFallback": "av_aac", "AudioLanguageList":[ "eng", "und" ], "AudioList":[ { "AudioBitrate": 256, "AudioCompressionLevel": 0.0, "AudioDitherMethod": null, "AudioEncoder": "av_aac", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, (continues on next page)

4.3. Media Conversion Software 81 Illig Media Center Documentation, Release 1.0

(continued from previous page) "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 }, { "AudioBitrate": 224, "AudioCompressionLevel": 0.0, "AudioDitherMethod": null, "AudioEncoder": "copy", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 } ], "AudioSecondaryEncoderMode": true, "AudioTrackSelectionBehavior": "first", "ChapterMarkers": true, "ChildrenArray": [], "Default": false, "FileFormat": "av_mp4", "Folder": false, "FolderOpen": false, "Mp4HttpOptimize": false, "Mp4iPodCompatible": false, "PictureAutoCrop": true, "PictureBottomCrop":0, "PictureLeftCrop":0, "PictureRightCrop":0, "PictureTopCrop":0, "PictureDARWidth":0, "PictureDeblock":0, "PictureDeinterlaceFilter": "decomb", "PictureCombDetectPreset": "default", "PictureCombDetectCustom":"", "PictureDeinterlacePreset": "default", "PictureDeinterlaceCustom":"", "PictureDenoiseCustom":"", "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", "PictureDetelecine": "off", "PictureDetelecineCustom":"", "PictureItuPAR": false, "PictureKeepRatio": true, "PictureLooseCrop": false, "PictureModulus":2, "PicturePAR": "loose", "PicturePARWidth":0, "PicturePARHeight":0, "PictureRotate": "0:0", "PictureWidth": null, "PictureHeight": null, "PictureForceHeight":0, "PictureForceWidth":0, (continues on next page)

82 Chapter 4. Software Illig Media Center Documentation, Release 1.0

(continued from previous page) "PresetDescription": "Preset for SD 2D animation conversion.", "PresetName": "Illig SD 2D Animation", "Type":1, "UsesPictureFilters": false, "UsesPictureSettings":2, "SubtitleAddCC": false, "SubtitleAddForeignAudioSearch": true, "SubtitleAddForeignAudioSubtitle": false, "SubtitleBurnBehavior": "foreign", "SubtitleBurnBDSub": false, "SubtitleBurnDVDSub": false, "SubtitleLanguageList":[ "eng" ], "SubtitleTrackSelectionBehavior": "none", "VideoAvgBitrate":0, "VideoColorMatrixCode":0, "VideoEncoder": "x264", "VideoFramerate":"", "VideoFramerateMode": "vfr", "VideoGrayScale": false, "VideoHWDecode": false, "VideoScaler": "swscale", "VideoPreset": "slower", "VideoTune": "animation", "VideoProfile": "high", "VideoLevel": "4.1", "VideoOptionExtra":"", "VideoQualityType":2, "VideoQualitySlider": 18.0, "VideoQSVDecode": true, "VideoQSVAsyncDepth":4, "VideoTwoPass": false, "VideoTurboTwoPass": false, "x264Option":"", "x264UseAdvancedOptions": false }, { "AudioCopyMask":[ "copy:aac", "copy:ac3", "copy:dtshd", "copy:dts", "copy:mp3", "copy:truehd", "copy:flac", "copy:eac3" ], "AudioEncoderFallback": "av_aac", "AudioLanguageList":[ "eng", "und" ], "AudioList":[ { "AudioBitrate": 256, "AudioCompressionLevel": 0.0, (continues on next page)

4.3. Media Conversion Software 83 Illig Media Center Documentation, Release 1.0

(continued from previous page) "AudioDitherMethod": null, "AudioEncoder": "av_aac", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 }, { "AudioBitrate": 224, "AudioCompressionLevel": 0.0, "AudioDitherMethod": null, "AudioEncoder": "copy", "AudioMixdown": "dpl2", "AudioNormalizeMixLevel": false, "AudioSamplerate": "auto", "AudioTrackQualityEnable": false, "AudioTrackQuality": -1.0, "AudioTrackGainSlider": 0.0, "AudioTrackDRCSlider": 0.0 } ], "AudioSecondaryEncoderMode": true, "AudioTrackSelectionBehavior": "first", "ChapterMarkers": true, "ChildrenArray": [], "Default": false, "FileFormat": "av_mp4", "Folder": false, "FolderOpen": false, "Mp4HttpOptimize": false, "Mp4iPodCompatible": false, "PictureAutoCrop": true, "PictureBottomCrop":0, "PictureLeftCrop":0, "PictureRightCrop":0, "PictureTopCrop":0, "PictureDARWidth":0, "PictureDeblock":0, "PictureDeinterlaceFilter": "decomb", "PictureCombDetectPreset": "default", "PictureCombDetectCustom":"", "PictureDeinterlacePreset": "default", "PictureDeinterlaceCustom":"", "PictureDenoiseCustom":"", "PictureDenoiseFilter": "off", "PictureDenoisePreset": "light", "PictureDenoiseTune": "none", "PictureDetelecine": "off", "PictureDetelecineCustom":"", "PictureItuPAR": false, "PictureKeepRatio": true, "PictureLooseCrop": false, "PictureModulus":2, "PicturePAR": "loose", (continues on next page)

84 Chapter 4. Software Illig Media Center Documentation, Release 1.0

(continued from previous page) "PicturePARWidth":0, "PicturePARHeight":0, "PictureRotate": "0:0", "PictureWidth": null, "PictureHeight": null, "PictureForceHeight":0, "PictureForceWidth":0, "PresetDescription": "Preset for SD grainy film conversion.", "PresetName": "Illig SD Grain", "Type":1, "UsesPictureFilters": false, "UsesPictureSettings":2, "SubtitleAddCC": false, "SubtitleAddForeignAudioSearch": true, "SubtitleAddForeignAudioSubtitle": false, "SubtitleBurnBehavior": "foreign", "SubtitleBurnBDSub": false, "SubtitleBurnDVDSub": false, "SubtitleLanguageList":[ "eng" ], "SubtitleTrackSelectionBehavior": "none", "VideoAvgBitrate":0, "VideoColorMatrixCode":0, "VideoEncoder": "x264", "VideoFramerate":"", "VideoFramerateMode": "vfr", "VideoGrayScale": false, "VideoHWDecode": false, "VideoScaler": "swscale", "VideoPreset": "slower", "VideoTune": "grain", "VideoProfile": "high", "VideoLevel": "4.1", "VideoOptionExtra":"", "VideoQualityType":2, "VideoQualitySlider": 18.0, "VideoQSVDecode": true, "VideoQSVAsyncDepth":4, "VideoTwoPass": false, "VideoTurboTwoPass": false, "x264Option":"", "x264UseAdvancedOptions": false } ], "VersionMajor": "11", "VersionMicro": "0", "VersionMinor": "0" }

4.3.2 MediaInfo

MediaInfo isn’t really conversion software but it helps a lot with troubleshooting conversion issues. What MediaInfo does is show you all sorts of data about what’s in a media file, like this:

4.3. Media Conversion Software 85 Illig Media Center Documentation, Release 1.0

What’s helpful about this is that after you run some conversions in Handbrake, you sometimes find that a movie didn’t convert right, like it’s displaying incorrectly or has a weird size; or maybe the sound isn’t quite right. You can use MediaInfo to look at what the dimensions are for the video or what audio tracks it has. It will even show you the command parameters used by Handbrake to perform the conversion. I’ve found a few times when I forgot to include the surround sound track in a movie or saw I’d converted using incorrect dimensions by looking in here. Definitely worth checking out.

86 Chapter 4. Software Illig Media Center Documentation, Release 1.0

4.4 Server Software

Server software takes ripped and converted items and makes that media available on the network to clients.

4.4.1 Plex

Plex is a and associated set of client apps. I switched to use Plex for things due to the ability to access my media in more places. That means no more storage of full DVD image rips, but that’s OK because the Synology DS1010+ was running out of space and we didn’t watch the extra features anyway. The added flexibility of the media is awesome. I bought a lifetime Plex Pass subscription in September 2014 for $75 before they doubled the price to $150. This lets me get the latest server packages early and try out new features, plus I’m happy to support the development effort.

Server Requirements

The Synology DiskStation Manager has a Plex server package but the physical machine is not powerful enough to transcode HD video. Trying to watch home movies proved difficult because they’re all HD. For a standalone server that serves data off the network and can transcode the HD video you need: • Intel Core 2 Duo 2.4GHz or better (better if you want more than one transcode op to run at once) • 2+ GB RAM • Network resources properly mounted as drives I addressed this during my plan to cut cable by building my Megaplex server, which was researched/built to handle HD video with ease and hopefully be fairly future-proof.

Running as a Service

Plex doesn’t run as a service - it’s interactive (except when run on the Synology). There are various forum posts about how to get Plex to run as a service or otherwise always start up after rebooting but there’s no official solution. There is a PmsService package that allows you to wrap Plex with a service. This topic in the Plex forums explains how to use PmsService to host Plex.

Windows Server TCP Settings

There’s a reasonably well-known issue where some devices like Xbox One, iPhone, and others seem to buffer a lot even on the local network. This Plex forum post has an answer - by changing some settings on the server, you can fix the constant buffering.

# Show the current TCP settings. Get-NetTCPSetting| ft -AutoSize

# Update the problem settings. These are initially 20, not 300. Set-NetTCPSetting -SettingName"DatacenterCustom" -MinRtoMs 300 Set-NetTCPSetting -SettingName"Datacenter" -MinRtoMs 300

If you want to totally reset the settings, you can do int tcp reset

4.4. Server Software 87 Illig Media Center Documentation, Release 1.0

Migrating Servers

When I moved Plex from my Synology over to Megaplex I had to migrate the library from one machine to another. Luckily, Plex has a help topic explaining how to migrate your library so I followed those instructions. Be warned that this takes forever. My library consisted of over 200,000 individual, tiny files (e.g., the posters and such for each title) and copying that from one place to another is super time-consuming. Be prepared to invest a couple of hours or more in moving from one server to another.

DTS-HD MA

When converting my HD movies for Plex, I kept the lossless audio tracks - the DTS-HD MA format tracks - for the future. The format DTS-HD is backwards compatible with standard DTS, which Plex handles well. I did find that sometimes this format can trip Plex up. Watching Oblivion, for example, the sound would just cut out after a few minutes and never return. If I fast-forwarded the movie by a second or two, the sound would be back. It was sort of like Plex lost track of where it was so decided to just not play sound, but the fast-forward operation would get it back. When I found this, I re-converted the movie with Handbrake to only include the DTS audio and not the DTS-HD. You get a much smaller movie file and Plex no longer has the audio tracking problem.

Getting Support

Plex has some great support and documentation. The folks in the Plex forums are cool and ready to help. However, when you post for help, particularly in crash situations, you have to be aware of some stuff or you’ll be asked to provide additional details before getting help. This page on handling crashes in Plex Media Server is the place to start. It has instructions on how to set up your machine to handle crash dumps and explains where the logs are. Make sure you’ve read through this and have things set up.

4.4.2 Asset UPnP

I picked up Asset UPnP back in 2009 when I was trying desperately to figure out how to get iTunes music to play natively in Windows Media Center. Asset UPnP is a DLNA-compatible music streamer that can play pretty much any music format. It does a great job transcoding and seems to work well with every front-end device I throw at it. I have it running on my Megaplex Server. With the continued updates to the music streaming experience in Plex I am considering dropping Asset UPnP but I really want Plex to support UPnP first.

Transcoding Settings

In order to allow all of my front-end devices to play my music, I have the following settings in the “Advanced Settings” section of Asset UPnP: • Force WAV Streaming • Check the AAC, M4A, M4B, and MP4 boxes so iTunes music (including Apple Lossless) is supported every- where.

88 Chapter 4. Software Illig Media Center Documentation, Release 1.0

I used to have this set to force MP3 streaming but recent software updates in PS3 made the WAV streaming a better choice. As my front-end device music format support improves, I may stop asking it to transcode entirely. AAC / ALAC is far more compatible now than it was several years ago when I started this. iTunes Playlists

Asset supports playlists in .m3u format, which means you can export your iTunes playlists and have them work in Asset UPnP. 1. Go get iTunes Export, a program that will export your iTunes playlists into .m3u format. 2. Close iTunes if you have it open. The exporter uses the XML version of the library and you want to make sure both that iTunes isn’t locking that file and that the very latest has been written to disk so the exporter gets the right data. 3. Run the iTunes exporter. 4. Select the iTunes library XML file location. 5. Wait while the application loads the iTunes library and discovers your playlists. 6. Select the playlists that you want to export, then click “Next.” 7. Select your various export options and click “Next.” Make sure you. . . 1. Choose “M3U” as the playlist format. 2. Check the “Include UTF-8 BOM” and “Use Intl Extension (M3U8)” boxes. This allows you to have artist or track names that have international characters in them. 3. For “File Types” choose “All Files” since Asset UPnP will be transcoding things so they can all be under- stood by the target client. 4. In the “Music Folder (Prefix)” field, put the file path (relative to the Asset UPnP installation) where the music is stored on your server (for me, this is d:\Shares\Music\) and don’t forget the trailing slash. Setting that “Music Folder (Prefix)” field makes it so you don’t have to do any search-and-replace later. 5. Make a note of the “Output Directory” setting because this is where the playlists will end up. 8. The exporter will finish and you can close it. 9. Find the playlists you just exported and. . . 1. Name the .M3U8 files the way you want to see them listed in Asset. For example, a playlist in iTunes called “I Love The 80’s” will be exported as “I Love The 80_s.m3u” by the exporter and Asset will show that as “I Love The 80_s” - the filename, not the original title. 2. Open each file in a text editor and remove the comment line from the top (the line that starts with a “#”). 10. Put your .m3u playlists in a place Asset can find them (on the same machine as Asset). I put mine in the Public share on my Windows Home Server under a folder called “Playlists” (e.g., \\myhomeserver\Public\Playlists). (Note: You can make your life a lot easier by mapping a network drive to this location so you can export your playlists directly to the shared destination from iTunes Export.) 11. Configure Asset UPnP to find the playlists you just put on the server. 1. Open the Asset UPnP advanced settings dialog. 2. In the top right corner you’ll see a box marked “Audio Library.” In it you should see the folder with your music (e.g., D:\Shares\Music) listed - this is how Asset knows which folders to scan for contents. You should also see that folder is listed as “Contains: Audio Tracks.”

4.4. Server Software 89 Illig Media Center Documentation, Release 1.0

3. In the “Audio Library” box, click the “[Add Folder]” link. 4. Browse to and select the location you placed your playlists. In my case, I placed them in the Public share in a “Playlists” folder, so I selected D:\Shares\Public\Playlists. 5. By default, Asset sets the folder to contain music. Click the “Contains: Audio Tracks” text next to the playlist folder and a dropdown will appear. Select “Contains: Playlists” from there. 6. Click OK. Asset will tell you it needs to restart. That’s OK. It will then rescan the library and your playlists will be included.

4.5 System Software

System software supports server software and provides additional underlying infrastructure/functionality.

4.5.1 iDrive

CrashPlan decided to get out of the consumer backup business in 2017 so I had to find a new backup option. I ended up going with iDrive for a couple of reasons: • Reasonable price. It’s not unlimited storage, but you can get 2TB for about the same price as what CrashPlan was running yearly. I didn’t have that much backed up so that was fine. • Direct integration with Synology and my DS1010+. No need to mount the NAS as an external drive. There are three downsides to iDrive that I’ve found: • It can’t back up network drives, so if I need to get things backed up they absolutely need to be on the DS1010+. • It doesn’t have a great retention policy configuration. Basically it just keeps adding files forever and you have to manually initiate a cleanup. • It doesn’t have history. A new version of a file will overwrite the old version that was backed up, so if a file gets corrupted and that corrupt file gets backed up, you’re done.

4.5.2 DiskStation Manager

The Synology DiskStation Manager, or “DSM,” is the administrative interface for Synology NAS products. For ex- ample, when working with my Synology DS1010+, this is the interface I use to install and configure various packages.

Remote Shutdown

I have multiple UPS units, but when I only had one, I wanted to tie my Windows Home Server to the UPS and have it trigger other servers to shut down when the UPS went into a critical battery mode. I researched how to do remote shutdown on the Synology so I could potentially implement it, but I never did because I ended up adding a second UPS and tied one server to each. I have since deprecated my Windows Home Server. If I set up SSH on the machine along with public key authentication, I can use SSH to remote shutdown the Diskstation: ssh root@diskstation poweroff

90 Chapter 4. Software Illig Media Center Documentation, Release 1.0

Basic Commands

There are some basic commands for managing the Synology Diskstation via command line. Note that you have to enable command-line access through SSH. Here’s some info on setting up secure key authenti- cation with SSH on the Diskstation. I’ll want to make sure I’ve got the latest DSM installed before doing this. (Don’t go beta, though, betas seem to break stuff.)

4.6 Scripts and Tips

I sometimes come up with scripts or things I need to remember that don’t really fall under any other category. Normally I’ll post scripts and tips in the relevant place, but if I can’t figure out where else to track it, here’s a dump of the “extra stuff.”

4.6.1 Disable Thumbs.db on Windows

The Thumbs.db file in Windows hasn’t been needed since before but they keep it around for legacy app compatibility. The system creates the files whenever it generates thumbnails for files in a folder (like in a pictures folder) but then it locks the file and makes it so you can’t delete the folder. will also generate these things if it plays any of the media in a folder, so if iTunes is managing your music you’ll end up with a bunch of empty folders that just have Thumbs.db in there. Ugh. You can tell Windows to stop generating Thumbs.db. Do that. It will save a lot of pain and heartache.

4.6.2 Clean Up Empty iTunes Music Folders

I manage my music collection with iTunes but sometimes Windows leaves file system cruft in there, like if I quickly play a song it’ll sometimes download the album art and stick it in the folder. I wrote this little PowerShell script to recurse through my music folders and nuke any folder that only has images or the Thumbs.db file in it. Set the $location at the top and run the script. It will prompt you before deleting anything, but it does delete stuff, so, you, know, you’re totally on your own if you mess something up. Make sure you have backups. There’s a weird bug where if a folder has square brackets [] in the name then it can’t delete the folder. I don’t have too many of those so I didn’t bother debugging it to make it perfect. Just be aware.

$location="\\ILLIGHOMESERVER\Music" function Get-FoldersToDelete { param([string]$folder) Begin { $blacklist = @(".jpg",".gif",".ini",".db") } Process { if($folder.StartsWith($location+"\Movies\")) { return } (continues on next page)

4.6. Scripts and Tips 91 Illig Media Center Documentation, Release 1.0

(continued from previous page) $childDirs= Get-ChildItem $folder -Directory if($childDirs.Count -gt 0) { return }

$files= Get-ChildItem $folder -File -Force if($files.Count -eq 0) { Write-Host"$folder is EMPTY." Remove-Item $folder -Confirm return }

$groups= $files| Group-Object -Property Extension $delete= $true $groups.Name | ForEach-Object { if($blacklist -inotcontains $_){ $delete=

˓→$false}} if($delete) { Write-Host"$folder only has blacklist files:" $files| Select-Object -ExpandProperty Name | Format-List Remove-Item $folder -Confirm -Force -Recurse } } }

$folders= Get-ChildItem $location -Recurse -Directory | Select-Object-

˓→ExpandProperty FullName | Sort-Object -Descending -Property Length $folders| ForEach-Object { Get-FoldersToDelete $_}

4.6.3 Edit Chapters in MKV

On one TV series I have, the TV episodes were all combined into one title on the disc. When you wanted to watch a single episode, the player would play for a certain time rather than playing a single title. Unfortunately, Handbrake doesn’t let you convert based on time - it wants chapters in the title. To accommodate for that, I had to manually create chapters of the correct length in the MKV file ripped by MakeMKV. MKVToolNix is a set of tools that can modify MKV files. You can use that to edit the MKV file to have the correct chapters so Handbrake sees them and can properly convert.

4.6.4 Convert AAC to MP3

My daughter has a cheap MP3 player and likes music on it. I created a playlist in iTunes with stuff she wants, then I can drag the files from the playlist to a temporary location. From there, I have to convert the M4A (AAC/ALAC) files into MP3. I use and a setting that produces a reasonable quality MP3. ffmpeg copies the metadata over automatically. ffmpeg -i "file.m4a" -c:a libmp3lame -q:a 4 "file.mp3"

92 Chapter 4. Software Illig Media Center Documentation, Release 1.0

4.7 Deprecated Software

As I transition away from using certain software packages, I don’t want to lose the information I gathered while I was still using them. That info is moved down here, into an archive area about the software no longer in my system. Maybe it’ll help me later with “lessons learned,” or maybe someone still using this software can get something from it.

4.7.1 XBMC

I was using XBMC (now “”) as my media center front-end along with a shared database to handle synchronizing the state of the media library. I had gone from Windows Media Center to XBMC in December 2011 because Windows Media Center couldn’t handle the volume of content I had and the XBMC interface is much more friendly. While I liked the ease of use and the handling of VIDEO_TS folders, once I updated my goals for more accessibility of media, Plex seemed like a better fit for me, so I switched again.

Media Organization

XBMC media organization is very similar to Plex so moving wasn’t too hard. • Movies (including set groups) • TV Shows

Advanced Configuration

In order to have a shared database and proper scanning of VIDEO_TS folders, I had to do a bit of advanced configu- ration in XBMC. Advanced config settings are stored in the userdata folder in a file called advancedsettings.xml Here’s what I used for my advancedsettings.xml file:

the a an

\[[Ss]([0-9]+)\]_\[[Ee]([0-9]+)\]?([^\\/]*)(?:(?:[\\/]video_ts)[\\/]video_ ˓→ts.ifo)? [\._ \[\-\\/]([0-9]+)x([0-9]+)([^\\/]*)(?:(?:[\\/]video_ts)[\\/]video_ts. ˓→ifo)? [Ss]([0-9]+)[\.\-]?[Ee]([0-9]+)([^\\/]*)(?:(?:[\\/]video_ts)[\\/]video_ts. ˓→ifo)? [\._ \-\\/]([0-9]+)([0-9][0-9])([\._ \-][^\\/]*)(?:(?:[\\/]video_ts)[\\/ ˓→]video_ts.ifo)?

(continues on next page)

4.7. Deprecated Software 93 Illig Media Center Documentation, Release 1.0

(continued from previous page)

.dat|.bin

mysql 192.168.XXX.XXX 3306 XXXXXXXX XXXXXXXX xbmc_video mysql 192.168.XXX.XXX 3306 XXXXXXXX XXXXXXXX xbmc_music

special://masterprofile/Thumbnails smb://illighomeserver/Public/XBMC/userdata/Thumbnails special://profile/Thumbnails smb://illighomeserver/Public/XBMC/userdata/Thumbnails

Troubleshooting

I ran into various challenges getting XBMC to properly work on my somewhat-underpowered front-end machine. I also ran into challenges getting it to start up automatically after a reboot. These notes helped get me past that. • Optimizing Windows 7 talks about updating the BIOS settings to increase the shared video RAM and disabling certain other settings that may cause issues. • Troubleshoot Buffering Issues says video RAM and cachemembuffersize in the advancedsettings. xml may need tweaking. • While .1 makes starting XBMC on boot easier, there is a whole walkthrough explaining how to do it on Windows 8. You can also use a batch file to force boot to desktop which allows this to work in Windows 8. The “boot to desktop” batch file looks like this:

C:\Windows\explorer.exe shell:::{3080F90D-D7AD-11D9-BD98-0000947B0257} "C:\Program Files (x86)\XBMC\xbmc.exe" shell:::{3080F90D-D7AD-11D9-BD98-0000947B0257} Exit

94 Chapter 4. Software Illig Media Center Documentation, Release 1.0

4.7.2 Windows Media Center

Microsoft Windows has a built-in media center function you can use to watch digital media and DVDs. I started using Windows Media Center with my DVDs stored on my Windows Home Server. I switched away from Windows Media Center to XBMC in December 2011. While WMC allows “media center extenders” for front ends (e.g., you can use your Xbox 360 to access Windows Media Center content), extenders can’t access all content types. I ended up getting a Dell Studio Hybrid as a dedicated Windows Media Center at my TV.

Plugins

You use plugins to extend the capabilities of Windows Media Center. I looked at a few but didn’t get too far into it. XBMC supports extensions a little nicer. • MyNetflix - View your instant queue movies right in Windows Media Center. Looks a little more robust than vmcNetFlix. Of course, Netflix has their own native integration now, making this moot. • SecondRun.tv - Watch Hulu video on the Windows Media Center. Interface looks similar to the DVD Library. • Yougle Vista - YouTube, Apple Trailers, and other community video sources in Windows Media Center. Has an extensibility API for adding your own custom sources. • tubeCore - Adds UPnP/DLNA support to Windows Media Center. Primarily geared around video. • RadioTime - A streaming audio service that lets you listen to radio from around the world. Has a plugin so you can access it through Media Center.

Configuration

• You generally want to enable auto-logon for a Media Center PC so you can reboot without getting prompted for a password. • Windows Media Center shares a library with Windows Media Player. You can delete the Windows Media Player library and force Windows Media Center to reindex everything if you find things aren’t up to date. • There are a bunch of undocumented registry settings that help you tweak media center. You can use them to adjust the overscan of the display. • The Netflix plugin left two Netflix tiles on the TV + Movies screen. I asked about it on the Microsoft Answers forum. It was also reported, with no solution, on The Green Button. It eventually worked itself out with an update that came in for Windows Media Center. In case I need to directly download the plugin, here’s the link. • I couldn’t figure out how to totally stop a video and not have the little thumbnail show up in the corner. I’ve asked about how to totally stop a video on the Microsoft Answers forum. It turns out that if you watch a web-based video, you can’t totally stop it; you just have to start playing something else. • The movie metadata (thumbnails, etc.) are stored in a folder called “DvdInfoCache.” If you want to share the data across multiple machines, you can: here’s how to share DvdInfoCache.

Changing the DVD Player

The idea here is that the built-in codec for playing DVDs (VIDEO_TS included) isn’t as good as some third-party ones. I originally looked into changing this when I didn’t realize you could change the zoom/aspect ratio of playback by using the “info” button on the remote.

4.7. Deprecated Software 95 Illig Media Center Documentation, Release 1.0

Most people use MyMovies and TheaterTek DVD player (or some other player). I’ve asked what the best DVD player package is on the MyMovies forums. There is a utility that allows you to choose a different decoder for playing DVDs.(Here’s the walkthrough of the registry entries you need to update - the tool automates the registry settings.) • Updating the codec might make things play smoother. • I posted a question about improving the internal player on the AVSForums. FFDShow integration (see below) updates the DVD player as well as adding the ability for new video formats to play.

PowerDVD

You can set up PowerDVD, for example, using registry settings. Several folks recommend using the PowerDVD codec over VMC one. There are different options for integrating PowerDVD. Primarily people use the PowerDVD codec for playback rather than the built-in one. You can integrate PowerDVD as an external application using an “mcl” file. (This is how you get HD DVD and Blu-ray playback to work.) There’s an article about extending Media Center with XML files. There is a launching application for PowerDVD that someone wrote. Might do what needs to be done. Looks like it can launch any app, not just PowerDVD. That said, it doesn’t add a button to each movie, it just lets you launch the app.

TotalMedia Theatre

ArcSoft TotalMedia Theatre seems to be growing on people. • Remove the “which player do you want to use” setting and let MyMovies handle it. • I’d just need the TotalMedia Theatre, NOT the Extreme version. ArcSoft Total Media Theater integrates with Media Center via a plugin. There is a review of it here with screen shots.

FFDShow Integration

FFDShow updates the DVD player as well as adding new video format support. Media Control integrates FFDShow codecs into Media Center, however, it doesn’t look like it’s really well supported. You may be able to get results if you switch the default MPEG2 decoder, but in general, it appears that launching DVD Library titles with FFDShow may be experimental.

Enabling iTunes

My original thought was to try to get Windows Media Center to serve iTunes (AAC/M4A) music natively. It turns out that’s very hard. I never did get this working. Instead I went to Asset UPnP to serve my music and it’s been awesome. But, for folks interested in some of the notes/travails, here you go.

96 Chapter 4. Software Illig Media Center Documentation, Release 1.0

Objectives

Originally, I wanted a seamless music experience where I don’t have to leave Windows Media Center and run iTunes separately. • I’ve seen this done through MCETunes, but there appears to be a lot of moving parts with that and, reading through the forums, it appears there’s some weirdness around gaps between songs. . . like MCETunes is just “wrapping” iTunes through the COM interface. • Instead, I wanted to get WindowsMediaCenter natively understanding AAC/M4A songs. – Apple Lossless, MP4/AAC/M4A is all included. – I don’t care if it doesn’t play “licensed” music since Apple’s moving away from that anyway. – It does need to read the song metadata and correctly display artist/album/track info (at a minimum). It’d be nice to get playlists in there, too, as well as ratings and album art, but I’m not going to be picky. As part of doing that, the iTunes metadata (particularly album art) would need to be cleaned up. That part of the project is the remaining important part.

Plan

• Install the DSP-worx plugin on laptop. • Install the tag extender on laptop. • Update album artist tags via iTunes. Using “Various Artists” for albums that are compilations or otherwise have lots of contributors. • Allow Media Player to retrieve information from the internet for tracks - see if those Album{GUID} tracks are showing up, verify tracks are still playable in iTunes if info is downloaded. (Putting Folder.jpg into the folder with the music handles the Album Art issue.) • Play music in Windows Media Center. (Does this involve setting up folder monitoring for the Music share? Yes, it does.) • Get the album art updated on all tracks. • Write a script to get rid of all of the automatic album art in the folders. • Write a script to delete any empty folders. • Write a script to set any downloaded artwork right on the track so metadata readers can get it, then clear the downloaded artwork. • Write a script to get Folder.jpg into the folders based on the metadata art. • Write a script to make a playlist from all songs where artist != album artist AND album artist != “Various Artists”. That list will contain a set of tracks that may have album artist incorrectly set. • Clean up the filesystem (run the scripts): – Set the downloaded artwork to be part of the track. – Delete the Folder.jpg files. – Clear out empty folders. – Set Folder.jpg for all folders based on track artwork.

4.7. Deprecated Software 97 Illig Media Center Documentation, Release 1.0

I had previously set up all the tests with the DSP-worx plugin on my primary laptop before I upgraded from Windows Vista to Windows 7. Post-upgrade, I did not re-introduce these elements as, by that time, I had already decided to skip getting this working in media center. I have too many other devices that understand DLNA/UPnP streaming just fine so I decided to reduce the moving pieces and just use those.

Notes

• DSP-worx has a January 8, 2007 entry talking about playing Apple Lossless in Media Player. That might also work for Media Center. There is a bit of discussion on getting this working. It seems this is a common (and the only solution). An even better discussion on getting it set up is here. Hydrogenaudio has a forum on it as well. – Install the plugin. It may not work if the directory it’s registered from has spaces in it. – Install the tag extender. • If the DSP-works one doesn’t work, here’s a registry patch that lets Media Center play AAC. • Album Art! – It may be that the auto-downloading behavior of Windows Media Player will overwrite Folder.jpg files. If that’s how it is, set WMP to not auto-download. – Put a Folder.jpg in the folder with the songs. That will get album art in, at least for each album if not for each individual song. – I can use a script to extract the art from one song on each album and dump it to Folder.jpg. – Clearing out the library may come in handy if things go wrong. The article here is the most concise and basically accurate description of what needs to be done. Getting DSP-worx to work allows you to play the songs in WMP but the metadata isn’t displayed. • Download the plugin. • Unzip in C:\DSP-worx (or a folder that doens’t have spaces in it). • Run the register.bat file. • Reboot. • You should be able to add .m4a files to a playlist and play them in WMP now. To get the metadata displayed, you need to install the tag extender. • Set up your library. Particularly if you’re sharing between iTunes and WMP, you don’t want removing the file from one to impact the other. In Options. . . – Player tab:

* The “Add media files to library when played” option doesn’t seem to make a difference - they always get added to the library. – Library tab:

* Under “Update library by monitoring folders,” uncheck “Delete files from computer when deleted from library” if you’re sharing with iTunes.

* Under “Automatic media information updates for files” uncheck everything but “Maintain my star ratings as global ratings in files.” If you don’t uncheck the rename/rearrange options, your music files will get moved around. Leaving the “Retrieve additional information from the Internet” will download album art and other metadata and modify the tags in your files. You may not want that. (If you do, it’s recommended you fill in “Album Artist” on ALL tracks. That’s how album art is keyed.)

98 Chapter 4. Software Illig Media Center Documentation, Release 1.0

– Privacy tab:

* Under “Enhanced Playback and Device Experience,” you may want to uncheck “Update music files by retrieving media info from the Internet.” This also gets metadata and updates the tags on the files. • Install the tag extender. • Reboot. • Adding things to the “Now Playing” list seems to add them to your library. You won’t see the tags if you just drag them into “Now Playing,” but if you play them from the library, everything comes up.

Scripts

Powershell to get rid of all .jpg files in a folder tree, hidden or otherwise: get-childitem -recurse -force | where-object{ $_.Extension -eq".jpg"}| remove-

˓→item -force

Powershell to remove empty folders (Remove-EmptyDirectory.ps1): if($args.length -ne 1) { Write-Error"You must specify the start location." } Function Remove-EmptyDirectory { param($target)

Begin { if($target -eq $null) { Break; } if($target.GetType().FullName -ne"System.IO.DirectoryInfo") { Break; } } Process { $target.GetDirectories() | foreach { Remove-EmptyDirectory $_}; $count= $target.GetDirectories().Length + $target.GetFiles().Length; if($count -lt 1) { Write-Host"Deleting" $target.FullName; Remove-Item $target.FullName; } } End { } } Get-ChildItem -force $args[0] | ForEach{ Remove-EmptyDirectory $_}

4.7. Deprecated Software 99 Illig Media Center Documentation, Release 1.0

4.7.3 DTD Calculator

This is a tool that allows you to set up custom resolutions for Intel graphics chipsets based on VESA timing informa- tion. This is key in trying to run the Dell Studio Hybrid full screen for Windows Media Center. After switching away from WMC and changing the TV the Studio Hybrid was attached to, I didn’t need to use this tool. DTD Calculator is maintained and discussed in AVSForum. There is a lot of great information there and people will help out if things don’t seem to work. You can download DTD Calculator from Clever Technologies. There’s a forum here talking about how you might use it to fix resolution issues. My usage sounds like: • Install MonInfo. • Install DTD Calculator. • Get the EDID info from MonInfo and paste it into DTD Calculator. If it’ll do the full res, great; if not, try one of the other modelines. There is a modeline database at MythTV that has some Sharp modelines I could try in DTD Calculator. There’s 1360 x 768, not 1366 x 768, but that might be the way to go. This one is for the LC-40C32U. I have LC-37D7U, but it might work.

## with ubuntu edgy's x.org and the nvidia 8776 drivers, a simple mode of "1360x768"

˓→works without ## the custom modeline #Section "Monitor" # Identifier "Sharp LC-40C32U" # HorizSync 24-62 # VertRefresh 49-76 # # modelines from the web generator at # http://xtiming.sourceforge.net/cgi-bin/xtiming.pl # Modeline "1360x768@60" 84.50 1360 1392 1712 1744 768 783 791 807 # # EDID-derived modelines # ModeLine "1360x768@60" 85.5 1360 1424 1536 1792 768 771 777 795 +hsync +vsync #EndSection

4.7.4 Windows Home Server

Media Sharing

Windows Home Server uses Windows Media Connect 2.0 to do its built-in sharing. Windows Media Connect is the way Windows did DLNA style media sharing prior to Windows Media Player 11. None of the formats from Handbrake are recognized by Windows Media Connect. Even the AVI format it supports is ripped with a codec that Windows Media Connect doesn’t understand. I tried all of them, even the Xbox 360 preset. Windows Media Connect understands: • .wmv • .dvr-ms • .avi • .mpeg, .mpg - MPEG-1

100 Chapter 4. Software Illig Media Center Documentation, Release 1.0

• .mp2, .mpeg, mpg - MPEG-2 That product has been discontinued and the replacement is the Media Sharing feature of Windows Media Player 11. There is a good forum here explaining how to update WHS to incorporate WMP11 sharing, but I DIDN’T DO IT. Several accounts of people losing media sharing entirely are there as well as the fact that it takes the automatic sharing setup out of the console. Not good, and they never did come out with an official update (other than Windows Home Server v2). Instead of using the weak media sharing capabilities on Windows Home Server, I put Asset UPnP on to serve my music and I’ve switched to Plex for video. For a short time while I was trying to get Windows Media Center to work, I considered using My Movies for WHS. I never went down that road.

Storage

Defragmenting

You can’t just use any standard defrag program because it won’t understand the WHS filesystem. • PerfectDisk 10 is what I use because it’s comparable to other solutions, has a nice interface in the WHS console, and costs half of Diskeeper. • Diskeeper 2009 is another option that is fairly popular but is expensive and doesn’t have anything compelling over PerfectDisk. I noticed after running PerfectDisk for a month or so that I was getting health warnings on my system drive roughly once or twice a week. I disabled defragmentation of the system drive and these warnings stopped. (The drive works really well, not sure what this was about.) In December 2009 my trouble with the aforementioned WD Green drives started. It was discovered when I introduced PerfectDisk into the system (though it was a drive problem, not a PerfectDisk problem). • December 2009: Started getting file conflict errors. I disabled PerfectDisk and the errors stopped. • January 26, 2010: Contacted PerfectDisk support. PerfectDisk support says they think it’s a hardware issue. I also contacted Rosewill support, who passed me on to Sans Digital support because my port multiplier is made and supported by them. Sans Digital support said I need to upgrade the drivers for my Marvell controller. They haven’t seen this exact issue, but most of their customers have all their problems go away with a driver update. • February 3, 2010: Re-enabled PerfectDisk to verify problems still happen. • February 4, 2010: Disabled PerfectDisk after system lockup. • April 28, 2010: Updated Marvell drivers to 1.2.0.57 and re-enabled PerfectDisk. • April 29, 2010: Disabled PerfectDisk after a blue screen and errors indicating “disk not ready for access.” After purging the system of some potentially problematic WD drives, I re-enabled PerfectDisk and haven’t seen any issues. Definitely the WD Green drives at fault.

Checking for Drive Issues

You can run a special batch file (checkall.cmd) to run CHKDSK on all drives. Don’t bother waiting to see them all pass; you should see errors in the event log if there are issues. That said, wait until the system drive is done because you may be prompted to answer a question before all the other drives start running. net stop pdl net stop whsbackup chkdsk D: /x /r (continues on next page)

4.7. Deprecated Software 101 Illig Media Center Documentation, Release 1.0

(continued from previous page) chkdsk C: /x /r for /d %%1 in (C:\fs\*) do start chkdsk /x /r %%1

Computer Image Backup

Windows Home Server has a full image backup for Windows machines built in. It works pretty well. On 10/26/2013 I upgraded the computers to Windows 8.1. All the other computers worked great, but one laptop failed backup because the System Reserved Partition (350MB) had only 27MB free after the upgrade. The error message I saw on the failed backup told me that I needed to run chkdsk on all the drives, but on looking at the event logs and doing some research, the problem is the Volume Service - it’s used in backups and it requires 40MB of free space. This is common for all backup software failures - it’s not specific to WHS backup. As a workaround I had to stop backing up the System Reserved Partition on Inspiron. I’ll have files, but if things break I’ll need to do a clean Windows install (with a 400MB or 500MB System Reserved Partition). WHS backs up all of my client computers nightly. This works in conjunction with CrashPlan to keep my data safe. In January 2010 I started getting weekly “backup database corrupt” errors after the weekly automatic backup cleanup run. Looking at the backup database, it was reporting 225GB used - far more than the combined capacity of all of my client computers twice over. After posting to the Microsoft forums, I decided to reset the backup database manually and start from scratch. 1. Exit then uninstall the connector software on all clients. 2. RDP to the WHS desktop and run the WHS console from there. 3. In the Computers and Backups section, remove all clients. This will claim to delete the backups from the database but it won’t. 4. Open Windows Explorer and navigate to D:\folders\{00008086-058D-4C89-AB57-A7F909A47AB4} 5. Manually delete all files. 6. Reboot WHS. 7. RDP to the WHS desktop and run the WHS console from there. 8. Select Settings -> Backups and run “Cleanup Now” to reset the database consistency. 9. From each client, navigate to \\YOURSERVER\Software\Home Server Connector Software and run setup.exe to reinstall the connector software. Reconfigure the backups for each client as you reinstall. You may be able to run C:\Program Files\Windows Home Server\discovery.exe on each of the clients rather than uninstall/reinstall of the connector. I tried this and it didn’t work. It probably requires you to shut down all clients and I didn’t do that.

Server Recovery

Reference Links

• How to replace the system drive (Microsoft Forums) • Server reinstall fails and can’t attempt again (Microsoft Forums) • HP MediaSmart Server - Recovering or Resetting the Server (HP Support) • HP MediaSmart Server - Using Server Recovery and Factory Reset (HP Support) • HP MediaSmart Server - Replacing the System Drive (HP Support)

102 Chapter 4. Software Illig Media Center Documentation, Release 1.0

• Can you recover a system drive using a different Power Pack? (Microsoft Forums) - I asked this because the HP recovery disk doesn’t have PP2 or PP3 on it. You do need to restore from the original disk, then just do “Update Now. . . ” over and over to reinstall the power packs. • If you can’t remove a drive, you may have to do some RoboCopy fanciness to get it to work like Brad Wilson did. • You can upgrade the system drive by cloning it. If I have to do a recovery, I may want to upgrade to MediaSmart 3.0 at the same time. It’s offered only as a “recovery option” so I’d have to “recover in place” even if I wasn’t replacing the drive.

Recovery Steps

I copy/pasted it here so I don’t go panicking searching for it since it has disappeared from various sources already. I didn’t get the pictures saved in time, but the reference links above still have some images and the text descriptions are pretty good. This document applies to HP MediaSmart Server EX470 and EX475. Replacing the internal system drive consists of four parts: 1. Removing the system drive 2. Re-installing the new system drive 3. Resetting the System. See Using Server Recovery and Factory Reset below. 4. Reinstall the software on each computer. See Installing the Software on Additional Home Computers via Instal- lation disc, Window XP or Windows Vista below. CAUTION: The system drive contains the Home Server operating system. The server cannot operate while the system drive is removed and must be re-installed via the Server Recovery Disc or factory reset. See Using Server Recovery and Factory Reset on page 7-7.

Removing the System Drive

The following figure shows the location of the system hard drive. (It’s the BOTTOM drive in the server.) 1. Hold in the Power button for at least 4 seconds to force the server to shutdown. 2. Open the door on the front of the server. 3. Using a coin, turn the security knob clockwise to unlock the drive. 4. On the bottom drive, press down the lever to unlock the handle. 5. Lift the handle all the way up. 6. Gently pull the hard-drive tray from the hard drive bay. 7. Flex the back of the right side-rail, and then withdraw the back pin from the hard drive by gently pulling the side-rail down and away. 8. Flex the front of the right side-rail and withdraw the front pin from the hard drive by gently pulling the side-rail down and away. 9. Remove the drive from the hard-drive tray.

4.7. Deprecated Software 103 Illig Media Center Documentation, Release 1.0

Installing the New System Drive

1. Insert the new system drive into the left side of the hard-drive tray, making sure that the pins go into the hard drive’s mounting holes. 2. Flex the front of the right side-rail and insert the pin into the hard drive’s mounting hole, and then flex the back of the right side-rail and insert the pin into the other mounting hole. 3. With the handle up, slide the hard-drive tray and drive into the system bay. NOTE: Don’t push on the handle; the tray won’t slide in. 4. Press down on the handle on the hard-drive tray until it locks. 5. Using a coin, turn the security knob counterclockwise to lock system drive in its bay. 6. Close the door on the front of the server. 7. Power on the server. The Health indicator light is initially purple and then blinks blue and red. 8. Perform a Factory Reset to initiate the drive. See Using Server Recovery and Factory Reset below.

Recovering or Resetting the Server

CAUTION: Steps for performing a Server Recovery or Factory Reset. To recover or reset the server Use the Server Recovery Disc from a computer using a wired connection to the router (or switch). A wireless connection is not recommended. Additionally, if the server is some distance from the computer you are using for Server Recovery or Factory Reset, it may be more convenient to move the server near the computer. 1. If the HP MediaSmart Server Control Center is open on your computer, close it before proceeding. 2. Insert the Server Recovery Disc into a DVD drive in a computer connected to the network by an Ethernet cable. The Server Recovery program automatically starts. 3. Click Next. 4. Uninstall HP MediaSmart Server and Windows Home Server Connector: a. Click Start, Control Panel and select Add or Remove Programs. b. Click on HP MediaSmart Server, click Remove. c. Click on Windows Home Server Connector, click Remove. 5. Prepare the server for recovery or reset: a. On the back of the server, hold in the Power button for at least 4 seconds to force the server to shutdown. b. After the server is completely off, locate the recessed Status/Recovery button on the front of the server and prepare to press this button with a paper clip. c. On the back of the server, press the Power button to restart. d. While the Health indicator is blinking blue and red, use a paper clip to press the recessed Status/Recovery button until it clicks. Recovery mode is initiated. e. If recovery mode is successfully initiated, the Health indicator light blinks purple and red repeating. 6. On the Rebooting your server into recovery mode dialog box, click Next, and then follow the instructions on each dialog box. During the recovery process, the following may happen: a. If the recovery program cannot find the server, see No server found (below). b. If the Server Recovery cannot recover the partition data, the progress bar will go to 100% and then back to zero and start over.

104 Chapter 4. Software Illig Media Center Documentation, Release 1.0

c. If the recovery fails, see Recovery fails (below). 7. After the Server Recovery or Factory Reset completes, the server automatically restarts. Before taking the next step wait until the Health indicator light is solid blue. 8. You must reinstall the software on each of your computers, including the computer that you used to perform the recovery - otherwise, you won’t be able to use the server. 9. Click Finish on the Server recovery complete dialog box. The HP MediaSmart Server software will automati- cally be installed on the computer where you performed the Server Recovery or Factory Reset. CAUTION: If you did not close the HP MediaSmart Server Control Center, as indicated in step 1, you may see a message asking you to reboot your computer. If you see this message, choose to reboot later. Otherwise, rebooting may leave the server in a state where it cannot be configured, and you will have to repeat the recovery or reset process. NOTE: It takes a few minutes for the server to go through the finishing process. Please be patient. PERSONAL NOTE: I may need to run a Windows Update after recovery - but before reinstalling the connector on my computers - since Power Pack 2 was installed after I bought the server.

Troubleshooting

No Server Found

If the recovery program cannot find the server, the most likely causes are: • The Recovery Mode was not successfully initiated—repeat step 5 if you did not push the Status/Recovery button while the Health indicator lights was blinking red and blue. • A firewall is blocking the connection - configure the firewall to allow the Windows Home Server Recovery application or to allow connections over TCP port 8192 and UDP port 8192. If opening these ports, be sure to close them after the recovery has completed. For more information, see the vendor’s documentation. • The network connection is not working.

Recovery Fails

If the recovery fails, one of the following messages will be displayed: • The server disks could not be reformatted • The partition data on the server could not be written • The primary volume on the server could not be written • The recovery image could not be loaded The most likely causes of these messages is a connection failure. 1. Make sure that you are using a wired connection to the server from the computer you are using to do the recovery. 2. Check network connections 3. Repeat the recovery or reset.

Recovery Fails and you Can’t Try Again

Unfortunately, once a Server Reinstallation fails, there seems to be no way to attempt it again. I think you’re only option at this point is to do a New Installation. What you need to do is unplug all of your secondary drives (so the

4.7. Deprecated Software 105 Illig Media Center Documentation, Release 1.0 data will stay there). Then, I would remove the primary drive (the one with the OS installed) and hook it up to another computer. Browse to D:\DE\shares and copy all of the data that’s in there that was not in a share with Folder Duplication to another computer (or, for extra protection, copy all data in that location regardless of Duplication). Once you are 100% sure you have pulled everything from that location that you want/need, put the drive back in the server and do a New Installation on to that drive. (Again, make sure it is the only drive hooked up at this point.) Once the installation is complete, do the WHS Shuffle: 1. Login to the server desktop 2. Hook one of your other drives up to the server, but do not add it to the storage pool 3. Move data from that drive (path is X:\DE\shares, where X is the drive letter of the drive you hooked up) to the network shares using the icon on the desktop (do not move the data to D:\shares) 4. Once all of the data is off of that drive and on the server, add that drive to the storage pool and wait for balancing 5. Continue to do steps 2-4 for each other secondary drive

4.7.5 Windows Server Essentials

In February 2016 I upgraded my HP EX475 Windows Home Server from Windows Home Server v1 to Windows Server 2012 R2 with Windows Server Essentials. What’s interesting is how Windows Server Essentials is so much “the evolution” of Windows Home Server. Except for the more “media-centric” sharing that was present in WHS, WSE has pretty much the same feature set - client backups, shared folders, user account management. In late 2017 I deprecated the HP EX475 machine entirely.

Active Directory

I wasn’t really looking to run an at home but WSE requires it - it is your domain controller. I saw some docs on how to handle things if you wanted to join it to a domain or something, but since I didn’t already have a domain set up, I did this.

Storage

I wanted to use Storage Spaces to span the disks in the HP EX475 but found that Storage Spaces are not compatible with RAID controlled disks. The HP EX475 disks are seen as RAID, so I went with RAID 5 across the three storage disks.

Backups

I have an external 1TB hard drive set as a local backup destination for the shared data content using Crashplan. I found that you can’t use the same hard drive for the built-in server backup as well as other backup types or other storage, so I need a second external drive for server OS backups.

Networking

If you install the Windows Server Essentials Connector (by visiting http://servername/connect on your server), it adds a few services that not only help backup your computer and monitor settings. . . but it also enforces that the DNS server is always set to the WSE machine. Normally this works fine and correctly forwards to your router or whatever, except in the case of things like routerlogin.net used by Netgear routers.

106 Chapter 4. Software Illig Media Center Documentation, Release 1.0

I tried adding a DNS forwarding zone for routerlogin.net with a single A record pointing to 192.168.1.1 to get my router UI back up and running. That worked, but didn’t really work well for non-joined computers like my Synology Diskstation which still just used my router as the DHCP server and DNS. I ended up following this article about how to disable the automatic DNS provisioning part of WSE. Basically: • On the server add a DWORD registry key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Server\Networking\ClientDns\SkipAutoDnsConfig and set that to 1. That stops future clients from being auto-configured for DNS. • On clients that have already been configured, add a String reg- istry key at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Server\Networking\ServerDiscovery\SkipAutoDNSServerDetection and set it to True. Restart the Windows Server Essentials Client Computer Monitoring Service so it doesn’t keep reconfiguring the DNS settings on the client. Finally, change the DNS on the client’s network connection back to auto-configured. The service should stop changing it back to the WSE box now.

4.7.6 CrashPlan

Evaluation

Until 9/7/2009 I used KeepVault and was getting unlimited backup for $99/year, but they raised prices. I switched to Mozy in September 2009 with a roundabout backup plan that I blogged. In 2012 I switched to CrashPlan. From a cost/benefit perspective, CrashPlan is a clear winner. • Unlimited backup • Backs up network mounted drives • Runs on any OS (Linux for the Synology, Windows clients and servers, etc.)

Mounting Drives

CrashPlan supports backup of mounted network drives, but getting one mounted for the SYSTEM account is easier said than done. This StackOverflow article shows how to use Sysinternals psexec to mount a network drive for the SYSTEM account; but it’s better to use a script to mount things using Windows Startup Scripts via instead. First, create a batch file like this that creates a log (for troubleshooting) and mounts the drives via the net use command.

echo %date% %time%:"%cd%\mount_crashplan_shares.bat" >> C:\Windows\Temp\mount.log2>

˓→&1 net use V:"\\diskstation\video\Home Videos" /USER:DISKSTATION\admin password >>

˓→C:\Windows\Temp\mount.log2>&1

Now set up Local Computer Policy so the script runs at Windows startup:

4.7. Deprecated Software 107 Illig Media Center Documentation, Release 1.0

CrashPlan is set up on the Windows Home Server to back up all shares on the home server. It also has mapped drives for: • Home Videos - V: @ \\diskstation\video\Home Videos • Plex Database - W: @ \\megaplex\Plex

4.7.7 Picasa

Picasa is a Google product that helps you manage photo libraries. It has a very friendly interface and does a great job at facial recognition so you can associate pictures with people in your contacts. Makes for a nice search experience. In recent times it appears that Google is trying to replace Picasa with its “Photos” app. A lot of the functionality appears similar. I haven’t converted over to Google Photos for three key reasons: • It’s user-centric, not family-centric. I have pictures, my wife has pictures, and we want to keep them in a single place. Right now, my wife can open up Picasa under her Windows user account and see the same set of pictures I see in the same groups. Google Photos would make one of us the “owner” of the photos and we’d lose that single, central “picture repository” we currently enjoy. • Picasa has great print control. If I want to print photos, Picasa has really nice control over print preview, resizing to fit paper, and all of that; with Google Photos, it’s all web-based so the print mechanism is up to the browser. No good. • Picasa associates people with contacts, Google Photos doesn’t. I like that Picasa can say, “This face belongs to this person in your contacts list.” Google Photos just groups similar faces. I’d like to put a name to the face, as it were. No can do. In 2016 Google dropped Picasa support and went entirely to Google Photos. At that time I switched to PhotoDirector.

4.7.8 DVDFab HD Decrypter

DVDFab HD Decrypter is a great free tool for ripping DVD and Blu-ray content. It can do a lot of stuff if you opt in

108 Chapter 4. Software Illig Media Center Documentation, Release 1.0

to the paid version, including movie conversion like Handbrake. I used this for a while when I was still ripping VIDEO_TS format. This wasn’t sustainable as I moved to more Blu-ray movies, so I stopped using it. MakeMKV is great at grabbing individual MKV files based on disc titles, but DVDFab HD Decrypter is sometimes easier to use when it comes to complex copy protection and more one-click operation.

Fixing Folder Structure

When DVDFab HD Decrypter rips a folder, it leaves a crazy two-level-deep folder structure. Here’s a batch file to fix that.

@echo off if .%1. ==.. goto :help pushd %1 pushd FullDisc for /d %%s in (*) do pushd%% s for /d %%s in (*) do move "%%s" ..\..\ for%% s in (*) do move "%%s" ..\..\ popd popd rmdir /s /q FullDisc popd goto :eof

:help echo This script fixes up DVDFab rip folder structures. echo fixmovie [moviefolder] goto :eof

4.7. Deprecated Software 109 Illig Media Center Documentation, Release 1.0

110 Chapter 4. Software CHAPTER 5

Services

We subscribe to several services for providing digital content. Video is generally served up by Netflix, Hulu, or Amazon Prime Video. Music is YouTube Music. I don’t generally purchase digital-only video content. I talk a bit more about that in the media formats section.

5.1 Netflix

Netflix is the ubiquitous content provider we all know and love. We’ve been Netflix subscribers for a long time. We used to subscribe to the streaming and disc program, but after we had our daughter we found we didn’t have as much time to watch longer movies; and we usually wanted something in a specific genre that (of course) wasn’t the disc we had. Discs would sit longer and longer until finally it wasn’t worth paying the extra for them because I wasn’t watching them. We now just subscribe to the streaming content. Netflix alone doesn’t seem to be enough from a content standpoint, though I wish it was. Particularly when it comes to TV content, they are usually at least a full season behind, if not more. The movie selection is pretty good, though there are still a lot of things (mostly new stuff) that you can only get on disc. Between Amazon Prime Video and Netflix, I’d go with Netflix; but the two complement each other well, which is why we have both.

5.2 Hulu

We subscribed to Hulu as part of the plan to cut cable in 2015. Combined with the other services we subscribe to this fills the gap in TV content. The challenge with Hulu is that there are some providers (e.g., CBS) that don’t put their content on Hulu. Even providers like HBO have deals with someone (Amazon got much of HBO in 2014). I have had to bridge some of that by using over-the-air TV with a Tablo DVR.

111 Illig Media Center Documentation, Release 1.0

5.3 Amazon Prime

We have been Amazon Prime subscribers for several years and it just keeps getting better. We originally subscribed for the shipping, particularly for baby products, but as they’ve added features like Amazon Prime Video and Amazon Prime Music it’s only become that much more valuable. At this point we primarily use the Amazon Prime Video via one of our front-end devices since the Prime Music client isn’t as widely supported. With the HBO licensing deal Amazon captured in 2014 Amazon has turned into a great source of programming. The movie selection is improving (yet not awesome); but the TV content is pretty slick. And since they have started doing original program, I see it as only getting better. One of the challenges we’ve found with Prime is that only the primary subscriber in an “Amazon Household” actually has access to the free video content. In this respect, it behaves much more like Netflix - the “family single-user account” - than Amazon, where I’m more used to everyone having their own account. It means if one person is the Netflix account holder and a different one is the Amazon Prime account holder, you have multiple people signing on to the front-end device even if everyone is in the same household. This is even more painful when you consider all Amazon apps are fairly integrated - if I sign in with my account in my browser to buy something and then decide I want to watch a video, I have to sign out with my account and sign in with my wife’s account. It’s pretty painful. You don’t run into that with Netflix since there aren’t several services under one umbrella and there’s no need to have each user with their own account. The other challenge I’ve had with Prime Video is the navigation interface in the apps. If you’re on the web, that’s one thing, but through other devices it’s really hard to find something to watch. The recommendations (“you liked this show, so try this”) that you take for granted in Netflix aren’t there. Until very recently (2015) TV shows were listed as one title for each individual season rather than as a single title with multiple seasons. Really, unless you already know what you want to watch, it’s hard to find stuff.

5.4 YouTube Music

In December 2019 I got a family plan to YouTube Music. This started as Google Play Music and we switched to it from Pandora because we were using our Google Home / Google Assistant devices a lot more. Google/YouTube music integrates better with this scenario, allowing for easier access to specific songs/albums and integrating with the Google Family - something we already had set up for other reasons.

5.5 Disney+

We subscribed to Disney+ when it first came out as part of a special promotional deal - two years for the price of one, or something like that. As time has gone on, it’s actually become a pretty good source of original content and we’ll likely continue subscribing along with the rest of our services.

5.6 Pandora

Pandora provides a nice streaming music service that somewhat “learns” what you like based on you rating the music it plays. I was a Pandora subscriber for several years. It plays well through most of our front-end devices and I find most receivers have Pandora clients built in, too.

112 Chapter 5. Services Illig Media Center Documentation, Release 1.0

The trouble I find with Pandora is potentially more a problem with how I use Pandora. I start off a station with a song or artist I’d like to hear, but as the day progresses and I rate various songs, I invariably end up with effectively the same station every time. I can start off with just about any artist and after a week end up with a station that plays overproduced pop music (which, I admit, is a guilty pleasure of mine). I find that I have to be very stalwart in my recommendations and not just respond on whether or not I like a given song but also whether or not the song appropriately fits the mood I want to keep on that particular station. While I still use Pandora on occasion, in December 2019 I purchased a family plan for Google Play Music (which became YouTube Music) because we started listening to a lot of music through our Google Home / Google Assistant devices and it became more valuable to be able to request a specific song or genre. I understand this is generally possible with the premium Pandora offering, but that doesn’t integrate as well with the Google Family construct or Google Assistant powered devices.

5.6. Pandora 113 Illig Media Center Documentation, Release 1.0

114 Chapter 5. Services CHAPTER 6

Media Formats

6.1 Video Formats

In choosing a video format, I went through a video format comparison and evaluation process to figure out what was best for me. (If you want to see what settings I use to convert videos, check out the Handbrake page.) Below is the current video format information; if you’re interested in why I chose them, check out the video format comparison.

6.1.1 H.264 Video / AAC + AC3 Passthrough Audio / MP4 Container

As part of my switch to Plex for my media center server software, I also switched away from VIDEO_TS video format to individual movie files using: • H.264 video codec • AAC audio for the primary track codec • Native (AC3, DTS, etc.) audio for a secondary passthrough track • MP4 (with an .m4v extension) container I chose this format for three reasons: • High compatibility: The MP4 container with H.264 video and AAC audio can be played by pretty much all of my devices. • Video quality vs. file size balance: H.264 video has good compression for the quality it retains and, based on your settings, you can get a file half the size of the MPEG-2 equivalent but with comparable quality. • Audio quality: While the MP4 container format doesn’t really specify support for anything beyond AAC audio, you can embed additional tracks and many popular players (including Plex) know how to deal with it. This allows you to put in a primary AAC stereo track for compatibility with mobile devices and standard players; and a secondary “passthrough” track with the original, unchanged audio for full surround.

115 Illig Media Center Documentation, Release 1.0

I use MakeMKV for ripping content from discs. I use Handbrake to convert the ripped disc content into the target format. The Handbrake page shows the custom settings I use for video conversion. Something I did notice as I moved away from VIDEO_TS into a new, “standalone file” sort of format, is that au- dio/video sync sometimes got off somewhere so lip sync was visibly bad. Sometimes this is due to the source material being bad already; other times it had to do with frame rate issues. I talk more about lip sync on the Handbrake page. I will say that, from a container perspective, subtitles is an area where MKV definitely outshines MP4 - MKV al- lows multiple subtitle tracks, just like a regular disc; MP4 only gives you one, and whichever one you choose is “permanently turned on.” I talk more about how I handle subtitles on the Handbrake page. I gathered some general statistics after I finished the mass conversion of all of my media using Handbrake that may help you gauge how much space you need. This is using the settings outlined on the Handbrake page. • Total number of files: 4998 • Total content runtime: 134 days, 8 hours, 56 minutes, 47 seconds – SD runtime: 115 days, 12 hours, 25 minutes, 17 seconds – HD runtime: 18 days, 20 hours, 31 minutes, 30 seconds • Total file size: 5182.3GB – SD file size: 3042.04GB – HD file size: 2140.26GB • Average MB/minute for SD content: 18.73 • Average MB/minute for HD content: 80.72

6.1.2 VIDEO_TS Disc Image

VIDEO_TS isn’t really a “format” in the classic sense. When you use a tool like DVDFab HD Decrypter to rip the content from a disc onto a hard drive and you want a full disc image - no compression or conversion - you have two choices. You can either get a literal byte-for-byte image in .iso format or you can get the files from the disc in their native directory structure. If you choose the files in their directory structure, the directory that comes out is called VIDEO_TS. Inside that are a bunch of files with the extension .vob that are, basically, MPEG-2 video files. I used VIDEO_TS format originally in combination with XBMC to both back up my movies and serve them at their original, unchanged fidelity. However, MPEG-2 video is poor compression and eats up space. Also, you have to use a smarter media front-end like XBMC to play a disc image in VIDEO_TS format because it means the front-end must emulate a DVD player. Thus - it’s far less portable than other formats. When my media center goals changed to go for more portability, I moved away from VIDEO_TS.

6.1.3 AVCHD / MTS / M2TS

I first encountered this format when I bought an HD camcorder. At that point it was sort of difficult to deal with - not much would play it directly and I spent some time trying to figure out how best to store it as something more compatible.

116 Chapter 6. Media Formats Illig Media Center Documentation, Release 1.0

As it turns out, this is the same format in which Blu-ray discs are stored. More things play the format natively now, but I still end up converting these files (from my Blu-ray discs and my camera) into MP4 files. Handbrake is the way to go for conversion here. For home movie editing in this format, I use Sony Vegas. I save my edited movies as MP4.

6.2 Audio Formats

6.2.1 Apple Lossless (ALAC / M4A)

My primary audio format of choice is Apple Lossless. I went with ALAC for a few reasons: • I prefer a lossless format for my music so I can convert it as needed and always have “the original.” MP3 format is lossy, and while I’m not an audiophile, if I have a lossless version I can always convert it to a lossy compression. You can’t go the other way. • My primary music playing portable device is an iPod. • I manage my music in iTunes. • Most media servers like Asset UPnP can transcode ALAC to other formats. The other big format in lossless is FLAC (Free Lossless Audio Codec), and while it’s reasonably popular from a format perspective, pretty much nothing plays it. Apple Lossless uses an MP4 container just like AAC format.

6.2.2 MPEG Layer III (MP3)

These are the MP3s you know and love. This is a great format for its compatibility and lack of DRM. I primarily get these at Amazon Digital Music. Given the choice between an MP3 album and the CD, all things being equal, I’ll take the CD and rip it to ALAC before buying the MP3 album. Again, I can always convert down, but can’t convert back up.

6.2.3 (AAC / M4A)

When I first started ripping my CDs into digital files, I went with a 256Kbps AAC/MP4 format. AAC has a better sound for the compression than MP3 and I figured this would be a good compromise between size and fidelity. Then I got my HP Home Server with a ton of space and realized I should have gone with lossless. AAC uses an MP4 container just like ALAC format.

6.3 Video Format Comparison

In determining which format to use for my videos I evaluated the pros and cons of several formats to compare quality, compatibility, and file size. (If you want to see what settings I use to convert videos, check out the Handbrake page.) More current information can be found on Wikipedia.

6.2. Audio Formats 117 Illig Media Center Documentation, Release 1.0

• Comparison of container formats • List of audio and video codecs

6.3.1 Individual Video Format Comparison Chart

When comparing video formats, you have to start with the container and then dive into the supported audio and video formats that are allowed in that container. From a compatibility perspective, a device or player needs to not only support the container format, but also the codec for the stuff inside. It makes for quite a compatibility matrix issue. I have a lot of sympathy for device hardware and player software manufacturers, trying to be compatible with all of the various cross-connected containers and content formats. I picked these formats as the initial set to compare given my own personal familiarity with the media I already had and the devices I was trying to use.

Criteria Windows MPEG MP4 MKV Media Video Reference ASF MPG MP4 MKV Link File Extension .wmv .mpg .mp4, .m4v .mkv Audio For- Windows MPEG-1 Layers I, II, III MPEG-2/4 (HE)-AAC, MPEG-1/2 Layers I, Any- mats Media (MP3) II, III (MP3), AC-3, Apple Lossless, ALS, thing Audio SLS Video For- Windows MPEG-1, MPEG-2, MPEG-2 Part 2, MPEG-4 ASP, H.264, H.263, Any- mats Media MPEG-4 Part 2, VC-1, VC-1, Dirac thing Video H.264 Allows Multi- Yes Yes Yes Yes ple Tracks Native No Yes Yes No iPod/iPad Compatible Native An- No Yes Yes No droid Com- patible Plex Compati- Yes Yes Yes Yes ble

Despite MKV being a superior container, MP4 is far more compatible with the devices I’m using and it supports everything I need. You can see where I landed on the video formats page: MP4 container / H.264 video / AAC + AC3 Passthrough audio. The Handbrake page goes into more detail about my specific encoding settings.

6.3.2 Audio in the Video Files

While technically the MP4 spec only allows AAC sound you can set the AAC track as the primary and embed addi- tional tracks in the video file.

118 Chapter 6. Media Formats Illig Media Center Documentation, Release 1.0

AAC has a surround sound (multichannel) spec but it’s not very well supported, so going with a stereo AAC track as primary is better for compatibility. At 320kbps, AAC is considered transparent. Handbrake has a surround sound guide that explains in more detail how to properly handle multiple tracks.

6.3.3 Subtitles

Subtitles are an area where MKV as a container is far and away superior to MP4. In MKV, you can have multiple subtitle tracks (different languages) that can optionally be displayed by the player as needed, just like with a Blu-ray or DVD player. The challenge, of course, is finding a player on your various devices that will handle it. With MP4, you get one subtitle track and it gets permanently “turned on” by being “burned” into the video image directly. No special player needed, but far less flexibility. I talk about how I handle subtitles during conversion on the Handbrake page.

6.3.4 Full Disc Images - ISO vs. VIDEO_TS

My original requirements around media center stuff for discs was to try and keep the disc contents stock/unmodified so I could always burn a new copy if my disc went bad. I also wanted to keep the menus, extras, and so on when watching the movie. ISO is the most faithful disc image format, but it has a lot more compatibility challenges. Assuming you’re using Windows Media Center, both MediaPortal and My Movies for Media Center will support ISO playback using Daemon Tools. However, ISO doesn’t work for Media Center Extenders like the Xbox 360. Ideally you’d just store one copy of the movie, but with ISO not working, saving ISO would mean having to save two versions of it - the ISO and a MCE-compatible version. That’s way too much space to use up for a single movie. My Movies has a document talking about which format to store movies in in which they recommend VIDEO_TS over ISO. You can also use things like Transcode360 to transcode the VIDEO_TS content for media center extenders. If you go with VIDEO_TS, you can also use XBMC for your front end without a special transcoder. VIDEO_TS opens a lot of doors over ISO. However, from an overall compatibility perspective, full disc images lose out over individual movie file formats, so when my goals changed, I moved away from both ISO and VIDEO_TS.

6.3.5 Device Compatibility References

• Xbox 360 • iPod Classic • Playstation 3 • PSP • Windows 7 • Container comparisons • Audio codec comparisons • Video codec comparisons

6.3. Video Format Comparison 119 Illig Media Center Documentation, Release 1.0

6.4 Physical vs. Digital

Obviously in a media center/networked solution you have to stream digital media - you can’t really “stream a disc” across a network. That said, I usually purchase any media - audio or video - in a physical format. I do that for several reasons: • DRM: DRM, or Digital Rights Management, is the copy protection technology used on digital media to stop piracy. The problem with DRM on digital media is that it causes incompatibility with different devices. For example, if I purchase a movie on iTunes, the DRM on the movie requires me to play the movie on an Apple device - I can’t stream it through Plex. I can’t copy it onto my Android phone and play it. • Portability: Some digital-only media sources make the assumption that you’ll always have network bandwidth to get your data. You can’t download the movie to your device. If you can, you’re required to use a specific player to access the movie - DRM, right? • Quality: It wasn’t that long ago when most MP3s you could get were 128kbps (medium quality). That’s not awesome. I want high quality content. I don’t mind if I have to downscale for certain formats, but while I can’t tell the difference in quality on my crappy phone speaker, if I’m playing that content on my home stereo, I totally can. • Format fluency: There was a time before H.264 when movies were mostly MPEG-2 format. DVD movies still are. As formats change and improve, if I only have a digital copy of the content I don’t have the ability (without loss) to convert from one format to another. If I have the disc, I can re-rip the content at its original quality and convert directly to the new format. This isn’t all-or-nothing. I do have some albums I’ve bought from Amazon or Google that are MP3 format only. They provide some decent high-quality stuff (256kbps) where I admittedly don’t notice the difference between that and a lossless copy. In this case, the only thing I’m really losing is the format fluency. Video services aren’t here yet, though, so I don’t have any digital-only videos outside of home movies. I recognize that some folks are probably trying to go for a “digital-only” life with no physical media at all. I don’t mind storing discs out of the way if it gives me the freedom to do what I want with my media. If you can live with the restrictions that come with digital-only, more power to you.

6.5 Containers vs. Codecs

Something that was unclear to me when I started my media server project is the difference between a container and a codec. A container is a file format, a file that can hold audio and/or video data. It’s like a bucket - you might have a round bucket or a square bucket, but it’s still just a holder for the stuff that goes inside. A codec is the format of the audio or video data that goes in the container. This is an important distinction, because when someone says, “My computer won’t play this MKV movie,” you have to realize that “MKV” is a container so the problem may be that the computer doesn’t understand how to look in the container or it may not understand how to play the stuff that’s in the container. Those are two different problems. Some containers have limits on what sort of stuff you can put in them. That’s also important to understand. Wikipedia has a great comparison of containers and what can go in them. MediaInfo is a great piece of software to help you look at media files and figure out what’s actually in them.

120 Chapter 6. Media Formats CHAPTER 7

Processes

Whenever I get new media - music, movies, whatever - I can’t just “download it and call it a day” or whatever. That’s sort of the price I pay for having a large media collection and running a centralized media server. There’s a bit of a process involved for taking in new media which I’ve outlined here.

7.1 Audio/Music Intake Process

This is the process I go through when I get new music for my collection. Following this process helps me keep track of what I have (both for insurance purposes and so I don’t buy duplicate stuff); and it makes sure I get everything into the system so it can be consumed by all of my devices. 1. Add the music to iTunes. iTunes keeps my music files organized and enables me to sync the music to my iPods, iPad, and so on. Adding it to iTunes automatically copies the files to my Synology DS1010+ NAS where it is picked up by Asset UPnP and Plex for serving to my devices. 1. If the music is on a physical disc (CD), convert to Apple Lossless. 2. If the music is digital (MP3), add by dragging the music files into the library. 3. In all cases, update the digital file metadata to ensure artist, album, album art, etc. is all correct and consistent. 2. Add the music to Music Collector. 1. If the music is on a physical disc (CD), add by UPC. 2. If the music is digital (MP3), add by music file. 3. In all cases, synchronize the local collection database with my online music collection database. 3. File the discs. I use Odyssey CD Storage Cases to store my CDs, each CD in a Diskeeper sleeve. I put the liner notes in the disc sleeve with the disc and I store any other paperwork in an expandable envelope.

121 Illig Media Center Documentation, Release 1.0

7.2 Video/Movie Intake Process

This is the process I go through when I get new movies or TV shows for my collection. Following this process helps me keep track of what I have (both for insurance purposes and so I don’t buy duplicate stuff); and it makes sure I get everything into the system so it can be consumed by all of my devices. Note that currently I don’t buy digital-only movies - I only buy discs. While some of those discs may come with DRM-laden digital copies (which I do claim), there isn’t a process for bringing in digital-only video because I don’t really have any. 1. Add the disc/set to DVD Profiler by UPC. 2. Synchronize the DVD Profiler local database with my online video database. 3. Back up the local DVD Profiler database. This is a more thorough backup than the online collection and would be used in favor of the online sync backup if available. 4. Claim any digital copy codes. If the disc comes with a “digital copy,” I’ll claim it. I prefer iTunes over Vudu because the primary use case for my digital copy movies is traveling with an iPad and it makes for a simpler sync. If I have an internet connection, I’ll just use Plex. 5. Rip the video. I use MakeMKV to rip just the main movie or TV episode(s). 6. Convert the video. I use Handbrake to convert the video from the ripped format into MP4 format. 7. Store the converted video. I put the movie or TV episodes into a shared folder on my Synology DS1010+.I use the naming conventions and folder structures outlined by Plex. Once on the DS1010+, my MegaPlex server automatically finds it and adds it to Plex so it is available to all of my devices. 8. File the discs.

122 Chapter 7. Processes Illig Media Center Documentation, Release 1.0

1. If it’s a TV series - DVD or Blu-ray - I put them upstairs on some shelves we have specifically for this purpose. It’s kind of fun to see all the TV series in one place, though admittedly it’s getting pretty cramped. 2. If it’s a DVD, I use Odyssey CD Storage Cases, each DVD in a Diskeeper sleeve. I store liner notes and any other paperwork in an expandable envelope. 3. If it’s a Blu-ray, I use DiscSox HiDef Pro sleeves in a case specifically for those sleeves. The Odyssey box for DVDs looks like this:

DiscSox HiDef Pro sleeves look like this:

7.2. Video/Movie Intake Process 123 Illig Media Center Documentation, Release 1.0

The case for the DiscSox sleeves looks like this and sits nicely in my living room:

124 Chapter 7. Processes Illig Media Center Documentation, Release 1.0

7.3 Photo Intake Process

This is the process I go through when I pull photos off of phones or cameras to add to my collection. Following this process helps me ensure I keep everything organized and backed up. Plus, with a consistent organization, I can easily find things later. My photo intake process is very similar to my home video intake process and usually takes place at the same time because the devices with photos usually also have videos.

7.3. Photo Intake Process 125 Illig Media Center Documentation, Release 1.0

7.3.1 Photo Organization

I organize my photos by date and logical event. For photos that don’t have a particular event associated, I create a “random pictures” folder by month. For example, you might see a layout like this in my pictures folder:

pictures/ 2012/ 2013/ 2014/ 2015/ 20150101 Random Photos/ 20150103_132230 Crazy Cat Face.jpg 20150112_165211 Phoenix Dancing.jpg 20150405 Easter Sunday/ 20150505_094112.jpg 20150505_101201.jpg 20150505_104532.jpg

7.3.2 Intake Process

1. Download the photos from the device onto my computer desktop. 2. Use exiftool to rename the files to a format like YYYYMMDD_HHMMSS.jpg (e.g., 21050611_113812. jpg) based on the original date/time field in the photo. The command to do this is: exiftool "-FileName

7.3.3 Exiftool Script

For convenience, I created a batch file for exiftool called picture-rename.bat and put it in the same folder as exiftool. I can now run picture-rename.bat *.jpg and it does all the photos at once.

%~dp0exiftool"-FileName

7.4 Home Video Intake Process

This is the process I go through when I pull home videos off of phones or cameras to add to my collection. Following this process helps me ensure I keep everything organized and backed up. Plus, with a consistent organization, I can easily find things later.

126 Chapter 7. Processes Illig Media Center Documentation, Release 1.0

My home video intake process is very similar to my photo intake process and usually takes place at the same time because the devices with home videos usually also photos.

7.4.1 Video Organization

I organize my home videos in folders by year and name them by date/time with a small description. For example, you might see a layout like this in my home videos folder: videos/ 2012/ 2013/ 2014/ 2015/ 20150103_132230 Crazy Cat.mp4 20150112_165211 Phoenix Dancing.mp4

7.4.2 Intake Process

1. Download the videos from the device onto my computer desktop. 2. Rename the files to a format like YYYYMMDD_HHMMSS.mp4 (e.g., 21050611_113812.mp4) based on the original date/time the video was taken. I’ll also add a small description to the name like 20150103_132230 Crazy Cat.mp4. 3. Put all the videos into the folder of the year in which they were taken.

7.4. Home Video Intake Process 127 Illig Media Center Documentation, Release 1.0

128 Chapter 7. Processes CHAPTER 8

Plans/Roadmap

8.1 Network Attached Storage

I looked at different NAS devices around 2010 to see if they would be more appropriate than my Windows Home Server for video storage. After research, I ended up with a Synology Diskstation DS1010+.

8.1.1 Requirements

• Performance: WHS is a little slow on the I/O - I think this is the overhead of the drive extender and such. • Reliability: I can’t duplicate my DVD rips in WHS because I’d need double storage. A RAID solution would allow me to have fault tolerance with much less overhead. • Scalability: Four drives is a minimum. Since I need around 6TB of space, the ability to add drives is important.

8.1.2 RAID

The way that RAID gets expanded depends on which RAID type you choose (per the Synology documentation): • No RAID, Basic, RAID 0: Backup the data, replace the drive, put the data back on the system. • RAID 1, 5, 5+Spare, 6, 10: Remove and replace one drive at a time, allowing the system to rebuild the array with each replacement.

8.1.3 Notes

• PCWorld has some reviews on various NAS devices. Synology devices seem to be rated consistently higher than Western Digital and Seagate, and performance is always top marks. • Synology has the DS1010+ that has five bays and an extension that allows for five more bays. The performance numbers listed look good and it supports RAID 5 so this would be a good solution, but it’s expensive (~$1000 for a diskless system). Synology offers a “Hybrid RAID” solution that allows you to combine multiple disks of different sizes - normally all the volumes in an array have to be the same size.

129 Illig Media Center Documentation, Release 1.0

– Here is a good overview of the functions and a review. The reviewer set up jumbo frames on his network to improve speed, which isn’t something I have running. – Read speed is 116MB/sec, write speed is 103MB/sec (under RAID 5). • Drobo makes a five-bay system (the Drobo S) and has eSATA. It appears you can add drives to the bays just like WHS, but various reviews show it doesn’t have the speed of a regular RAID system. • Netgear ReadyNAS NVX has four bays and a 75MB/sec read/write time. – It is not expandable via eSATA or USB so you’re limited to the four bays. – ~$750 for the diskless system. – It gets decent reviews on various websites, but there is one note that a guy had problems getting it to work with his D-Link DIR-655 router. I don’t know if that means I’d have similar issues with our D-Link wireless access point. – Has an “X-RAID2” technology that lets you expand the RAID array without having to move data off the array. • Not investigated: – Iomega – LaCie • Removed from consideration: – Seagate BlackArmor: Several reviews talk about slow performance and confusing operation. – Dell: They offer some nice file servers, but they’re huge towers or rack mounts and they’re expensive. – Western Digital: The ShareSpace models are the only ones that fit close to my requirements and they’re slow. Plus you can only use WD drives, which is limiting. – Cavalry: They have only one four-bay model and, while there’s not much info out there on it, that info says performance was lacking. – Buffalo: Reviews show slow performance and really, really horrible support. No thank you. – D-Link: Their four-bay device gets pretty poor reviews and their five-bay diskless device is $1500 - a full file server. There’s nothing in between.

8.1.4 Result

I settled on the Synology DS1010+ and the Seagate ST32000542AS drives. I ordered it all on 5/16/10. The DS1010+ gets rave reviews on every site particularly around performance, it’s expandable, and appears easy to administer. The Seagate drives are specifically on the supported list and also get reasonably good reviews, though the negative ones are around “click of death” and sector errors. I’ll have to watch for this. If it turns out there are problems, I’ll replace with the better (more expensive) drives.

8.2 Cutting the Cable

Starting around January 2015 I started looking at ways to save some money by cutting cable from the Comcast “triple- play” internet/phone/cable down to just internet service. I didn’t want to lose features or content (if possible) so this is the plan I went through to try and replace those items. We executed this plan in July 2015.

130 Chapter 8. Plans/Roadmap Illig Media Center Documentation, Release 1.0

• Features • Hardware – Antenna

* Picking an Antenna * Wiring the Antenna * Initial Result: ChannelMaster CM 3000 SMARTenna * Antenna Follow-Up – Home Network

* Improving Wireless * Improving Wired * Recommendations – DVR

* Base Device Costs * Program Guide Service Costs * Feature Comparison * Cost Comparison * Recommendation: Tablo – Plex Server – Set-Top Box

* Options * Recommendation: Roku 3 • Content – Movies / On-Demand Shows – Live TV – Subscriptions – Shows We Watch – Recommendations • Cost Breakdown – Current Cost – Cable Cutting Startup Costs – Cost For First Year – Cost After First Year • The Migration Plan

8.2. Cutting the Cable 131 Illig Media Center Documentation, Release 1.0

8.2.1 Features

The full system currently has: • DVR/recording capability. We don’t watch TV on a schedule, so the ability to time-shift is important. • Local programming. Not just stuff that gets relayed through online services, but local news and such. • Wide variety of content. Standard broadcast and cable networks. • Ability to watch content from different devices. Most of the time it’s on one of the TVs in the house but sometimes we want some mobile abilities.

8.2.2 Hardware

We’ll be losing the cable boxes, but we need to make sure we can get content to the various TVs in the house. In order to do that, we’ll need to invest in some hardware. Which hardware depends on which features we want.

Antenna

The antenna will be required to get access to the local content and some national broadcast content. There is a choice between indoor and outdoor antennas. There is a great article on Crutchfield talking about how to choose a good antenna. The short version is that outdoor antennas will perform better than the best of indoor antennas because the size and amplification power. You can mount an outdoor antenna on the side of your house (like where the satellite dish used to be) or in the attic (crawlspace above our room). AntennaWeb.org shows you what channels are available and recommends antenna types (by some sort of a color- code). Here’s the recommendation for us: mostly “yellow” color channels. This indicates a “small, multi-directional antenna” should work for us. Everything seems to be within ~12 miles.

Picking an Antenna

If you go with an outdoor antenna, you can hook it up to the same place where the cable comes into the house and it serves the whole house. Indoor antennas have to be per-TV because they are not very strong. We should go with an outdoor antenna. These antennas are “omni-directional” so you don’t have to point it in a given direction to adjust for signal. There are some motorized directional antennas for about the same price; and there are directional antennas you can go aim on the roof that are closer to the $30 - $50 range. • Winegard FL6550A FlatWave Air Outdoor HDTV Antenna ($78) • AmazonBasics 60-mile range antenna ($120) • Spectrum2 DTV Motorized Outdoor Indoor TV Antenna SP213 ($65) • ChannelMaster CM 3000 SMARTenna ($52)

Wiring the Antenna

The Comcast cable enters the house at one point from the outside. The coax on the inside of the house only carries Comcast signal. The cable modem is hooked to one of these coax outlets and converts that signal to internet. With cable boxes, the other TVs are hooked to other coax outlets and the cable box converts the same signal into TV.

132 Chapter 8. Plans/Roadmap Illig Media Center Documentation, Release 1.0

There’s a junction box on the side of the house where the Comcast cable feed connects to a splitter and makes it to the rest of the house. I ran a separate coax feed directly from that junction box into the office. When it’s time to cut over to the antenna, the Comcast feed will tie directly into that dedicated office coax and the antenna will connect to the splitter. The initial plan doesn’t include an amplifier at the antenna but may need to be put in later.

Initial Result: ChannelMaster CM 3000 SMARTenna

The flat antennas look nice, like a small satellite. The ChannelMaster CM 3000 SMARTenna seems as good as any for the requirements we have. A good balance of cost and power.

Antenna Follow-Up

After installing a ChannelMaster CM 3000 SMARTenna, I found that the signal in our area is pretty good on clear days but inteference appears in any poor weather conditions. Other folks in my general area have had lots of luck with this and smaller antennas, but I think living somewhat close to an airport adds to my interference levels. I ended up switching to a ClearStream 2V HDTV antenna mounted in my attic and it produces a much better signal.

Home Network

Other than live TV, all content will get to TVs via a networked device (e.g., Chromecast or Xbox). We’ll want a good home network connection in all the rooms to ensure good signal. Wired network is always better than wireless because you don’t fight interference, but not all devices are wired. Phones, tablets, and Google Chromecast do not have wires, so improving the wireless network may be beneficial even if all the TV devices (Xbox, PS3) do have wires.

Improving Wireless

To improve the wireless signal we need to add a wireless access point upstairs. From most research this appears to be a simple thing to do. I tried a second wireless access point (using a DAP-1522) to the house upstairs so we should have better wifi all around. I’m using the same SSID and password/encryption so wireless roaming is in effect. That worked well for some time, but I found the wireless roaming caused weird issues sometimes on mobile devices when you were standing in certain areas of the house where the device had a hard time picking an access point. I ended up upgrading to a a Netgear Nighthawk X6 AC3200 tri-band router (model R8000) to solve my range issues. At some later time I may consider putting in a more powerful access point to just serve the whole house from one location. The Ubiquiti Networks UniFi AP Enterprise WiFi System ($67) is a highly rated, very powerful access point that could solve the signal/range issues. It’s also an extensible system so if we want, we can link more than one to the network later and really crank it up.

Improving Wired

The ideal solution to getting wires to each room is to actually run wires through the house. That’s expensive and a pain. Technically we could also run wires out the crawlspace, up the side of the outside of the house, and back in. That’s what Comcast did when they installed the extra TV jack in the family room. It’s a common solution.

8.2. Cutting the Cable 133 Illig Media Center Documentation, Release 1.0

Barring that, to get wires into rooms we’d use powerline adapters. These plug into electrical outlets and broadcast signals through the power system. It’s slightly slower than running real wires, but it’s fairly easy. I started off with a set of NetGear Powerline (XAVB1201) 200Mbps adapters ($45/pair) but upgraded the up- stairs/downstairs primary set to the XAVB5101 ($80/pair) version which runs at 500Mbps and better handles HD video. These are what served the DAP-1522 access point upstairs when I had that running. I did find that the XAVB5101 and XAVB1201 adapters, while they’re supposed to work together, don’t really work together well at all. After adding the 500Mbps versions, the 200Mbps adapters basically just stopped connecting to the network.

Recommendations

While not requiring any additional wireless hardware, the XAVB5101 powerline adapters are needed to get wired signal upstairs.

DVR

To satisfy the ability to watch/record/pause live TV, we wanted a DVR solution for recording over-the-air (OTA) signals. DVR boxes generally come in one of three flavors: • Ultra-simple: This is basically a VCR with a hard drive attached. There’s no real “guide,” there’s no integration with your network, and it’s not super friendly or flexible. Program a channel and time to record and it goes. These run about $50 and do not include a hard drive to record things. • DIY: You can build your own DVR using software like MythTV and, depending on what you build, it can be very flexible and integrate into a lot of things. It can get very expensive, though, because you need a reasonably powerful computer that can process multiple video streams; one tuner for each program you want to record simultaneously (~$70 each); the drive to store things; and so on. It also can be very fiddly. This, too, doesn’t necessarily include the guide, but there are ways to hack it in there. • DVR Appliance: This is the TiVo style thing - a product meant for recording. Every one of these has an additional monthly subscription that populates the program guide. This subscription is also what allows you to do things like “record all new episodes of this show.” I chose the “appliance” style box because I wanted more features than the ultra-simple DVRs offered and didn’t want to fuss with the homegrown DVR. Minimum DVR requirements: • Two tuners, but ideally four (or more). • Program guide. • Ability to watch in any room (“whole house”). The major competitors delivering that are TiVo and Tablo.

Base Device Costs

Feature TiVo Roamio OTA TiVo Roamio Plus HD TiVo Mini Tablo 2-Tuner Tablo 4-Tuner Tuners 4 6 0 2 4 Device Cost $50 $320 $130 $190 $270 Storage 500GB (75h HD) 1TB (150h HD) 0 0 (USB HD) 0 (USB HD)

134 Chapter 8. Plans/Roadmap Illig Media Center Documentation, Release 1.0

You don’t attach Tablo to a TV - instead it’s only streaming. You need some sort of front-end device to display the content. However, Tablo has a Plex channel and apps for Roku, etc. so this won’t be too difficult to achieve. TiVo offers the $50 version of the Roamio that only works with over-the-air signals. This appears to be a Best Buy “exclusive,” though you can get it through Amazon with additional “processing time” for the same price. The next step up from the $50 OTA Roamio is the 6-tuner $320 version. In order to watch TiVo content, you need to have a TiVo Mini at each TV. Yes, the TiVo Mini is more expensive than the Roamio DVR.

Program Guide Service Costs

If you want the programming guide you have to subscribe. Most TiVo devices lock you into a 1 year contract minimum. Tablo is entirely optional and comes with a 30 day trial when you buy so you can see if you like it.

Cost TiVo Tablo Per Month $15 $5 Per Year $150 $50 Lifetime $500 $150

Feature Comparison

The difference between TiVo and Tablo primarily is the way you access content. TiVo wants to be your set top box (and it requires you have a box at each TV to access content). If you want to stream to devices, you have to buy an extra “TiVo Stream” box or you have to go with the Roamio Plus HD box ($320). Tablo is more interested in working like Plex - being a recording server that sits out there and lets you access from whatever. There are already apps for Android and iOS; there’s a web app for computers; and there’s a Plex integration channel so you can watch through Plex. As long as you have one of the network-enabled devices attached to the TV, you get the DVR/live TV functionality.

Cost Comparison

Assuming we want what we have now: • Simple TV in our room. Not necessarily DVR access. • Full TV/DVR access in the game room and living room. • The programming guide so the thing is usable - one year of service. • Four tuners (for apples-to-apples on the DVR comparisons).

Item TiVo Tablo Equipment Cost Roamio OTA: $50, TiVo Mini (x2): $130 4-Tuner: $270, Hard Drive: $50 Guide Cost $150 $50 Total $330 $370

At first that looks like it costs more to go Tablo. However, if we want to extend TV into other rooms, the TiVo Mini cost starts impacting things. Even just adding one more TiVo Mini puts Tablo over the edge. And if you start considering the longer-term guide cost, Tablo totally wins out.

8.2. Cutting the Cable 135 Illig Media Center Documentation, Release 1.0

Recommendation: Tablo

The flexibility and features of Tablo plus the cheap cost of the guide means it’s probably the best overall solution for us.

Plex Server

We currently serve Plex through the Synology DS1010+ NAS in the office. The problem is that, while it works great for SD (standard definition) content, it doesn’t have the horsepower to handle HD content. Any time you try to play HD content, the video stutters as the server tries to keep up. This was going to be a stumbling block for putting our HD movies on Plex anyway, but we could have put it off for a bit since getting the HD movies in there isn’t a huge priority. However, given Tablo access will probably be through Plex for some devices, it becomes a bit more pressing. The CPU power required is for transcoding - which is basically “taking the video stream and converting it into some- thing that looks good on your device.” Video processing takes a lot of CPU and the current Synology NAS just doesn’t have it. It wasn’t meant for that kind of work. Plex has some recommendations on what sort of CPU you need to accomplish transcoding. Using a separate server to do the video processing and leaving the content stored on a NAS is something several folks have working well. There is a benchmark called “Passmark” that helps guide what sort of CPU might fit the bill. The rough guideline is that if we want HD content, we need to multiply 2000 (the benchmark required for a single stream) by the number of streams we might have (say, 2 or 4). For me, I figured four streams would be enough to future-proof things for a while, so I wanted a CPU with Passmark of ~8000. I ended up choosing an AMD FX-8350 processor with a Passmark of 8988 and a pretty good price-to-performance ratio. I targeted a server cost of about $500. Here are the parts I bought to build my Megaplex server: • AMD FD8350FRHKBOX FX-8350 FX-Series 8-Core Black Edition Processor - $169.99 • Gigabyte AM3+ AMD DDR3 1333 760G HDMI USB 3.0 Micro ATX Motherboard GA-78LMT-USB3 - $58.99 • Rosewill Dual Fans MicroATX Mini Tower Computer Case, Black FBM-02 - $29.99 • Antec EarthWatts EA-380D Green 380 Watt 80 PLUS BRONZE Power Supply - $40.01 • Crucial Ballistix Sport 8GB Kit (4GBx2) DDR3 1600 MT/s (PC3-12800) CL9 @1.5V UDIMM 240-Pin Mem- ory BLS2KIT4G3D1609DS1S00 - $59.99 • LG Electronics 14x Internal BDXL Blu-Ray Burner Rewriter WH14NS40 - Bulk Drive - Black - $56.95 • 5 Pack Monoprice 18-Inch SATA III 6.0 Gbps Cable with Locking Latch and 1 x 90-Degree Plug (108783) - $7.99 • StarTech.com 12-Inch LP4 to 2x SATA Power Y Cable Adapter - $3.99 • JBtek Sleeved PWM Fan Splitter Cable 1 to 2 Converter - $5.99 • WD Blue 1TB SATA 6Gb/s 7200rpm Internal Hard Drive - $54.99 (2 of these) Total price: $543.87

Set-Top Box

In the master bedroom there’s no gaming console or other device that can get the online content, so we need to solve that. Depending on the solution and what it provides, we may want to put a device even at the TVs that have gaming consoles.

136 Chapter 8. Plans/Roadmap Illig Media Center Documentation, Release 1.0

Options

• Google Chromecast • Apple TV • Amazon Fire TV • Roku 3 CNet has a great comparison of these devices that matches up with my findings so I won’t repeat the whole thing here. We have a Chromecast and I’ve found two problems with it. • It never gets a great network signal. Even if it’s right next to the access point, it never seems to get over three bars. • Starting February 2104, it has been getting really flaky, not wanting to connect to the wireless network. Some quick research shows this is not uncommon. Since I want a wired solution to ensure good connectivity, Chromecast is out. Most of our stuff is not in Apple format, so Apple TV is out. Tablo is both on Amazon Fire TV and Roku 3. Reading online reviews, while both devices seem reasonable, almost every comparison review (outside of the Amazon web site) points to Roku as a clear winner for having more available content and easier-to-use features. For example, when you search for a title on Amazon Fire TV, it only searches a single app - Netflix or Amazon Prime. When you search on Roku, you get searches across all the apps, so it’ll find the title in Netflix, Amazon, and Hulu Plus, then give you a choice which source to use.

Recommendation: Roku 3

I got a Roku 3 for the master bedroom and it turned out amazing. I very shortly thereafter also got one for the main TV. The ease of setup and ease of use really can’t be beat.

8.2.3 Content

The content we get through cable right now includes movies (mostly on demand through Showtime, Starz, and Encore) and shows (mostly DVR or on-demand from broadcast networks, though a few from Showtime).

Movies / On-Demand Shows

Movies are available on Netflix, Hulu Plus, Amazon Prime, and on our Plex server. I don’t think we’ll be at a shortage of movies to watch, however, most of these are not new releases. New releases may require us to use Redbox or rent/buy from Amazon Instant Video or Xbox Video. CBS has its own on-demand service called “CBS All Access.” It only works on computers - there’s no app and no integration with anything else. Channels like TNT, FX, and such (expanded basic channels) mostly do not have on-demand solutions. Hulu Plus has a few of these shows, but generally shows from these channels are limited to previous seasons.

Live TV

If we want live programming, we can use over-the-air broadcasts via an antenna.

8.2. Cutting the Cable 137 Illig Media Center Documentation, Release 1.0

There are effectively two ways to watch live TV: Directly through the antenna attached to the TV or through a device (like a tuner box). Just watching live TV is free and works with the antenna. If you want the ability to pause/record live TV or see a program guide, it requires one of the DVR devices I outlined above.

Subscriptions

Service Cost Per Year Netflix $96 ($8/mo) Hulu Plus $96 ($8/mo) Amazon Prime $99 CBS All Access $72 ($6/mo)

I didn’t really research HBO Now since $15/month for a single channel seems like a bit much.

Shows We Watch

This grid shows a few of the shows we watch and which provider covers that show. Assuming the show isn’t available on live TV to record via DVR, we’d use a provider to get the show.

Show Netflix Hulu Plus Amazon CBS All Access NCIS C,P CSI C,P Doctor Who P P P Parks and Recreation C,P P Homeland Sherlock P Big Bang Theory C,P Agent Carter C,P Agents of SHIELD C,P House of Cards C,P Orange/New Black C,P American Horror Story P P P Bob’s Burgers C,P The Librarians Saturday Night Live C,P Person of Interest C,P Grimm C,P Family Guy C,P Glee C,P Archer P P Nurse Jackie Jake / Neverland Pirates Sofia the First

• C = Current episodes available (sometimes delayed) • P = Past episodes available Not counting shows that are broadcast, there are definitely some shows that don’t have an online solution at all (e.g., Homeland or anything from Disney Jr.).

138 Chapter 8. Plans/Roadmap Illig Media Center Documentation, Release 1.0

We do watch a lot of CBS shows. It’s unclear whether it’d be worth $72/year for access online. A DVR solution would probably be better. We just couldn’t miss any episodes or. . . well, we’d miss them. No on-demand.

Recommendations

Based on our viewing habits and the presence of a DVR solution, we’re looking at: • Netflix • Hulu Plus • Amazon Prime

8.2.4 Cost Breakdown

Current Cost

Our Comcast cable package provides: • 105Mbps internet • TV (expanded basic + Starz/Encore) • Phone

Package Monthly Cost Annual Cost Savings/Year HD Preferred XF Triple Play (current) $163.35 $1960.20 – Internet/Phone only $110.90 $1330.80 $629.40 Internet only $65.95 $791.40 $1168.80

The most savings is obviously with internet-only. We can use our mobile phones for our primary numbers and wifi calling in the house now enables us to get a good signal and actually receive calls at home. We would lose our landline number unless we choose to do something like the Sprint solution and port the number there, but that’s not a huge deal.

Cable Cutting Startup Costs

Given some guesses at which equipment we’d want, here’s an equipment + services cost estimate for losing cable.

8.2. Cutting the Cable 139 Illig Media Center Documentation, Release 1.0

Live TV ChannelMaster CM 3000 SMARTenna $52 Tablo 4-tuner DVR $270 1TB USB HDD for Tablo recording $100 Tablo guide service (1 year) $50 Network Netgear 500Mbps XAVB5101 (pair) $80 Content Providers Netflix (1 year) $96 Hulu Plus (1 year) $96 Amazon Prime (1 year) $99 Plex Server Parts $544 Startup Equipment Costs $1046 Total Recurring Annual Costs $341 TOTAL FIRST YEAR COST $1387

We already pay for Netflix and Amazon Prime, and we really wanted the Plex server anyway, so if you subtract those costs from the “startup” cost, the first year is more like $648 Notes: • There is a chance there is something not being accounted for here. For example, cables we don’t have, or some connector or another to get things hooked up. • If we run physical cable instead of using powerline, it would be cheaper. Of course, it’s a ton more work. • Hard drive prices change often so we may come in cheaper on that. • We could get the 2-tuner Tablo and save $80, but we could only record one thing and watch one other thing through it; or record two total things. Kind of like the old cable DVR that we didn’t like much. • If we want a better wireless access point, this doesn’t account for that. I did end up upgrading our router to improve wireless, but that’s not in this budget. • If we like the Tablo service, the lifetime $150 cost may be a better long-term investment with a break-even after three years.

Cost For First Year

Comcast internet-only $791.40 H/W + services (w/o Netflix, Amazon, Plex) $648.00 Total $1439.40 Savings from current plan $520.80

Due to the startup hardware costs the savings is not as good in the first year as in subsequent years. If we went to internet/phone, it would be closer to the same price as we already pay - we wouldn’t actually save any money the first year.

140 Chapter 8. Plans/Roadmap Illig Media Center Documentation, Release 1.0

Cost After First Year

Comcast internet-only $791.40 Services (w/o Netflix, Amazon) $146.00 Total $937.40 Savings from current plan $1022.80

This subsequent year scenario is where the payoff is. Once the hardware is in place, you basically only pay for services and the internet connection.

8.2.5 The Migration Plan

1. Prepare for phone replacement. a. Ensure cell phones are set up for wifi calling. b. Figure out “quiet time” for phones so we can mute them at night but still allow calls through. (This “Do Not Disturb” app is a reasonable solution.) 2. Update home network. a. Purchase and install upgraded powerline adapters to extend wired network. b. Verify strong connectivity upstairs. c. Determine if better wireless access point is required upstairs - purchase and install if so. 3. Update Plex server. a. Order and assemble parts. b. Install Plex server software. c. Port the existing library (metadata) to the new Megaplex server. 4. Prepare for antenna installation - determine how the cables will be hooked up. a. Figure out where the cables from the junction box on the side of the house go once they go under through the vent. b. Wire up a coax run from the junction box to the office to ensure the Comcast signal still gets there. 5. Install antenna and test. a. Order antenna. b. Put up the antenna and get the wiring in place. c. Temporarily switch to antenna signal with Comcast only running in office. d. Verify antenna signal is good - determine if signal amplifier or different antenna placement is required. e. Switch back to Comcast inside the house but leave the antenna hooked to the one outlet in the office (the one that will eventually be Comcast). We’ll use that to set up Tablo. 6. Set up Tablo. a. Order the Tablo box. b. Hook up Tablo to the one outlet that has antenna signal. Make sure it powers on and connects to things. Scan for channels but don’t program recordings yet. c. Install Tablo apps on mobile devices and tablets.

8.2. Cutting the Cable 141 Illig Media Center Documentation, Release 1.0

d. Set up the Plex channel for Tablo and test, particularly with HD signal. e. Verify Tablo still gets the channels - maybe re-scan to ensure. f. Set up recordings. 7. Pre-cut over. a. Finish watching all the shows we have recorded. b. Write down all of the things we record - channels, times, etc. so we can set up Tablo or plan things on Hulu. c. Start Hulu Plus subscription. d. Add Hulu Plus apps to Xbox, Playstation, mobile, tablet. 8. Cut over. a. Discontinue TV and phone service with Comcast. b. Remove Comcast boxes and wire the TVs directly to the wall coax outlet. c. Swap the cables outside - Comcast goes to the single outlet in the office, antenna goes to everything else. d. Swap the cable to the Tablo so it gets TV signal. e. Swap the cable to the Comast router so it gets Comcast signal. 9. Set up existing TV points. a. Update TV input/output to skip cable box input. b. Update remote controls as needed to control standard TV channels rather than cable box channels.

8.3 Home Automation

In July 2017 I picked up a Google Home and started looking into home automation. While turning lights on and off doesn’t have much to do with my home media center, there is a lot that goes into integrating media center functionality into a home automation solution. This document has a bunch of my notes in figuring out how to connect everything.

• Requirements • Picking an Assistant – Amazon Alexa – Google Home – My Choice: Google Home • Automating HVAC • Automating Media – Logitech Harmony Hub – Samsung SmartThings • Automating Blinds – Somfy

142 Chapter 8. Plans/Roadmap Illig Media Center Documentation, Release 1.0

* ZRTSI Z-Wave Interface * DIY Controller – Serena Shades – After-Market Blind Automation – My Choice: Serena Shades • Automating Lights – Plug-In Lights – Overhead Lights

8.3.1 Requirements

A good place to start is figuring out what I actually want out of home automation. . . and what I don’t really need. • I want. . . – Voice commands: The ability to turn things on or off, perform actions using voice commands and not just my phone. – Light control: Both table/floor lamps as well as overhead lights and fixtures. – Temperature control: I have a nice Trane zoned HVAC system that has some automation capabilities I want to tie in. – Simple media control: Turn the system on/off, volume control, input control. Maybe “scenes” like “watch a movie.” – Kid friendly: My media-related remotes can’t become useless. Control only through mobile devices or tablets isn’t going to work. – Blinds/awning: I have a Somfy-based awning that I’d eventually like to tie in. – Multiple users: It needs to know the difference between me, my wife, and my kid. • I don’t want. . . – State maintenance: If I turn something on with my voice and turn it off with the remote, I don’t want the whole system to go kaput. – Big delays: If I ask something to happen, it can’t happen three minutes from now. • I could take or leave. . . – Purchasing ability: When I buy something online I generally want to read reviews and do some price checking. I don’t reorder much on a schedule. – Shopping lists: We have a phone app called “Mighty Grocery” that is very flexible and we’ve used it for years. If it integrates with that, great. If it doesn’t, that’s fine, but I’m not looking to switch to a new shopping list app with fewer options.

8.3.2 Picking an Assistant

There are basically two home assitants out there: Amazon Alexa and Google Home. I didn’t consider because at the time of my research the Harman Kardon Invoke was the only Cortana speaker on the market and it was very new.

8.3. Home Automation 143 Illig Media Center Documentation, Release 1.0

Amazon Alexa

Alexa has a slightly nicer set of speakers and an ability to work with multiple Alexa devices across the home. The speakers in the Echo are really nice and have a rich sound - great if you use it to listen to music. The multi-user support is still pretty entry-level. The big sell for Alexa is the ability to easily order things from Amazon. Now, we do order a lot from Amazon but like I mentioned in the requirements I don’t really reorder things much. The stuff I do order, I want to research and see, so voice ordering isn’t something I need. Alexa seems to have a larger set of “skills” or “integrations” than Google Home. It’s easier to find Alexa compatible devices than Google Home compatible devices. That may or may not be a good thing; a giant marketplace also sometimes means a flood of mediocre things and difficulty finding things that are good and consistently work. Sort of like app store curation - it’s hard to find the good apps amidst a flood of garbage.

Google Home

Google Home seems to want to be a single device that sits in your home rather than one Google Home in each room. This is getting better with time and you can see that when you have an Android phone - if you say, “OK Google” then the phone recognizes that the Google Home is answering you. The voice recognition in the Google Home is slightly better than the Alexa. This ties into the multi-user support - it switches users based on voice recognition. This is a big winner for me. Google Home does make the assumption that many of your things are tied into the Google set of applications - Google , GMail, etc. That’s fine, because both my wife and I are Google users. We have Android phones. We’re all in. Various reviews show that from a general question-asking standpoint, Google Home is also slightly smarter than Alexa. That makes sense because Google is a search company, so searching and returning good results is key.

My Choice: Google Home

Despite the reduced set of integrations, we went with the Google Home. The tight integration with Google apps plus the easy multi-user support made it a pretty convincing package.

8.3.3 Automating HVAC

I have a Trane zoned system with a ComfortLink II XL950 thermostat. I considered an ecobee or similar replacement for the more robust automation ability but it’s not compatible. My HVAC system not only has the zoning, but it also has communication between the heat pump, the furnace, and the air filter. All the components work together to be more efficient. If I wanted the ecobee I’d need to bypass all of the communication. . . which isn’t something I want. The ComfortLink II XL950 is somewhat automated, in that it can connec to Nexia. When I first bought the thermostat Nexia wanted $10/month for automation services but has since made it so if you only connect the thermostat it’s free. Nexia itself doesn’t directly integrate with Google Home, but it does integrate well with IFTTT. I was able to set up some settings in Nexia that can be triggered by IFTTT. For example, I have a setting where my downstairs zone gets set so it heats to 68 and cools to 72. In Nexia I named this setting “downstairs home.” I then set up IFTTT so if I say, “Set downstairs temperature to home” it triggers the Nexia “downstairs home” configuration and the thermostat settings get updated. The thermostat will have the zone set accordingly and behaves like you put a temporary temperature hold in place - on the next setting change via schedule it’ll resume normal settings.

144 Chapter 8. Plans/Roadmap Illig Media Center Documentation, Release 1.0

Nexia doesn’t really have much richer integration beyond “execute this setting” and that’s fine. I don’t know how you’d do something as complex as zoned temperature control in an intuitive voice system. It does what I need, and that’s good enough.

8.3.4 Automating Media

This is where things get a little messy. At a minimum I need: • Receiver power, volume, and inputs • TV power and volume It’d be nice to have more, like the Roku or Xbox One, but I’m not going to go overboard. The problem with most media automation solutions is the use of infrared. Using standard IR remotes means the automation system needs to be the only thing that turns on and off components in the system. If you use your regular remote to turn something on, the automation system still thinks it’s off since there’s no feedback to let the system know you turned the thing on manually. That goes against one of my requirements - I really can’t only control this with automation and mobile apps. What that means, indirectly, is the things I need to control have to be controlled through a programmatic network-based interface. Luckily that will work for at least my TV and receiver: • The Samsung UN65KS8000 TV has an API with decent documentation. • The Marantz SR5010 Receiver has an API with not much doc but I have some experience with it, having created a volume monitor with an Arduino. The question then becomes how to best communicate with the components through the network.

Logitech Harmony Hub

This seems to be a pretty common way to integrate media components with home automation. However, after asking on the support forums whether the Harmony Hub uses IR or IP for my components. the official answer was, “We are sorry to inform you that, currently, we can’t control Marantz receivers and/or Samsung TVs through the IP.” This basically means Harmony Hub is off the table for me at the time being since I’m realy not interested in IR blaster solutions.

Samsung SmartThings

The Samsung SmartThings hub is a more general purpose home automation hub than Harmony Hub and definitely has first-class support for my Samsung TV. However, there isn’t direct support for the Marantz receiver. One thing you can do with SmartThings is write a “SmartApp” that is a plugin for automating other things. There is already a community SmartApp for controlling Denon network receivers and Marantz uses the same API. The source for it is on GitHub. I may need to follow this tutorial to create my own version of the app but I’m not sure. There is a Google Home Helper app(source on GitHub) that helps to bridge things Google Home doesn’t naturally support (e.g., thermostats) using a SmartApp. The interesting thing about this is that it means you can use SmartApps in a similar manner to devices registered with SmartThings. I picked up a SmartThings hub at Amazon for $50 when the price dropped. It works pretty well with Google Home.

8.3. Home Automation 145 Illig Media Center Documentation, Release 1.0

8.3.5 Automating Blinds

Somfy

Somfy seems to work on the 433.42 MHz frequency, which is weird as many RF emitters are 433.93 MHz. The non-standard (proprietary?) frequency along with the communication protocol makes it sort of painful to automate. You can get a MyLink Hub that CNET didn’t review highly, saying it’s a bit spendy for what you get. We have a Sunsetter motorized awning that uses a Somfy controller. This is something to consider when looking at a solution for blinds but isn’t make-it-or-break-it.

ZRTSI Z-Wave Interface

There’s a 16-channel Z-Wave interface for Somfy blinds that, at the time of this writing, is about $300. That’s a little spendy for what you get if you only have one or two motors to drive.

DIY Controller

You can hook a or an Arduino to a Somfy remote with a little work. Hypothetically I could do something like this and create a SmartThings app or an IFTTT integration to call the controller when needed. A single-channel Somfy remote costs around $40 and an Arduino is like $15. For $55 and some leg work that might be a more affordable way to make things happen as long as I only need a single channel to run. Other projects to look at for DIY on this: • blind-control: Raspberry Pi with a five-channel Somfy remote. • Somfy_Remote: Emulate a Somfy remote with an Arduino and a 433.42MHz transmitter. If I actually get full house blinds on a Somfy system I’d need to reconsider the ZRTSI controller.

Serena Shades

Given I haven’t automated my existing blinds yet, a Serena Shades solution may be interesting. They’re a Lutron company and work with Google Home via the Caseta hub. CNET reviews this well but says the price may be high once you consider the hub you need to get. We’ll already be getting that for the lights and using the same hub/protocol is a big win. (I verified they work with Google Home by contacting Serena support.) CNET went with Serena over Somfy because Somfy doesn’t integrate with as many things. Serena wasn’t perfect, but Somfy integrated with less and cost the same or more. They also had a smart blind showdown where the Serena shades came out on top.

After-Market Blind Automation

The problem with after-market automation is that it generally assumes the blinds are driven by a chain pull; that’s not always the case for us. Options here include things like Axis and MySmartBlinds. MySmartBlinds looks like it might work with standard Venetian blinds like we have now but it doesn’t really integrate with anything quite yet.

146 Chapter 8. Plans/Roadmap Illig Media Center Documentation, Release 1.0

My Choice: Serena Shades

We did a remodel in our house in late 2017 through early 2018. As part of that I got the Serena Shades. These work really well and integrate with the same hub as the Lutron Caseta switches we also got.

8.3.6 Automating Lights

There are basically two types of lights to automate - lights that can be handled at the plug (like a table lamp); and lights that must be handled at the switch (like overhead light fixtures).

Plug-In Lights

There are a lot of “smart plugs” out there. Plug the smart plug in the wall, connect the lamp to the smart plug. I like the TP-Link Smart Plug Mini. I picked it for a few reasons: • Reasonable price: Between $25 and $30 for a single unit. • Brand affinity: TP-Link hasn’t let me down in the past. • Takes one outlet: Some adapters cover a little bit of the second plug in the outlet so you can’t plug anything else in. • Works with Google Home: The TP-Link “Kasa” app connects with Google Home through directly supported integration.

Overhead Lights

I have standard two-way and three-way switches to accommodate. I’d like all the switches to be the same brand so it’s not mix-and-match all over the place and integration is consistent. Three-way switches are a tricky thing. In a standard switch environment it’s easy enough to wire up, but in home control pushing one of the switches needs to let the other switch know the state of the lights (so if you push one switch to turn the lights on you can push the other to turn them off). I originally considered the GE Z-Wave switches. They’re affordable and I like that the three-way switches don’t require remotes or “auxiliary” switches that use batteries - they’re powered right off the wired electrical supply. As part of a home remodel I invested in the Lutron Caseta series of switches and dimmers. Based on reading a lot of reviews like this one on The Wirecutter it seems a lot of folks are ending at the same conclusion. It does require a hub to work, but Google Home has first-class integration with itand it works well. It also is the same hub used for the Serena Shades I picked up.

8.3. Home Automation 147 Illig Media Center Documentation, Release 1.0

148 Chapter 8. Plans/Roadmap CHAPTER 9

Disclaimer

Rather than say this on every single page, I’ll put one top-level, all encompassing disclaimer on the whole of the site. • What worked for me may not work for you. The docs here are to help you or let you know what I did for my situation. I can’t promise the solution will work for your specific circumstances and I’m not interested in writing an all-encompassing how-to guide for every scenario. • Everything is as current as I can make it. I will do my best to link to authoritative sources and systems of record where possible, but in things like product comparisons I may show specs or prices that were current at the time I did the comparison. They may not be current literally as of today. Unless I am in the process of re-evaluating something, I will probably not be updating these things all the time.

149