It’s Been a While

It’s been almost a month since my last post, so I figured an update is due. It felt like nothing worth reporting has really happened in the last month, but after thinking about it there are three things that are worth a mention at least. First, and least interesting, I started my second to last college semester and things are going fine so far. There is a good bit more group work than I’d like, but it seems that most everyone else in my classes is interesting in pulling their own weight.

Secondly, I have a totally new TV set up in the living room:

A terrible picture of the new TV, speakers and other equipment.

I was browsing Slickdeals mindlessly late at night a few weeks ago, and I saw a deal on this set of speakers. It was a five-speaker package of Jamo’s best speakers for $379 at Adorama. After some quick research, I decided it was a reasonable deal and ordered them. I think $379 was a good price, for an average of about $76 each. The normal price for the package at Adorama was a little over $1,000, which I think says more about the markup on home theater products than the quality of the speakers. I think there’s definitely $379 of sound here, but I would never spend $1,000 on these speakers, or probably any speakers for that matter. Which brings me to a little rant/ramble.

I mostly listen to music through Spotify, which while compressed, sounds totally fine to my ears. I really doubt that I could tell the difference between high-quality Spotify and a lossless source, and even if I could, I think it would be impossible to hear the difference between a $400 set of speakers and a $10,000 (or more) set. “Audiophiles” are probably the only group of people who are worse than camera people. I definitely love cameras and taking pictures, but I don’t have the best gear and I definitely don’t have all the skill. It’s very easy to feel inadequate in the photography world when it feels like every review or forum post or comment is talking about how you just have to have this new super sharp $5,000 lens for your vintage Leica so you can take make amazing pictures photographs/the next great American “photo essay” (whatever that is) in some lush tropical destination. Anyways, it’s a tough community to be in and deal with. Audio equipment feels about the same. If you don’t have a $10,000 Marantz amp connected to 50 different $2,000 speakers from a brand you’re not rich enough to have even heard of are you even watching the movie? Or if you’re not playing a 5000 gram vinyl record through a vintage grass-fed organic tube amp are you really listening to the music? Both hobbies can easily make the regular Joe feel like it’s not worth bothering getting started if they don’t have an unlimited budget.

With that out of the way, I knew I was going to need a new receiver to work these speakers. I already had two receivers, but neither was up to the task. First, I have a late 1980’s JVC quadraphonic receiver, which works perfectly fine, but is just too old to be relevant anymore. I also have a mid 2000’s era JVC 5.1 channel receiver, but it can only work with Dolby Digital signals from a single optical input (no HDMI or anything like that) and the buttons on the front are messed up and don’t work properly anymore. Initially, I was willing to spend a little extra money to get a new receiver that can handle variable refresh rate through its HDMI ports, has Spotify built in and can do Dolby Atmos. After reading some reports that suggest all recent VRR capable receivers have a hardware problem, I decided to get something cheap for now and then maybe upgrade in a few years.

I settled on a refurbished version of Denon’s least expensive receiver, the AVR-S540BT. It can do all the normal Dolby Digital and DTS formats except Atmos or similar, it has five HDMI inputs and two optical inputs, with five speaker channels and two subwoofer outputs. It switches sources automatically when possible and chooses the correct output mode 99% of the time. I’m very happy with it, and I really doubt a more expensive receiver could give me better sound quality. I am interested in an Atmos setup at some point though.

I knew I was also going to need a subwoofer, and in a bid to save some money, I grabbed an old unused JVC sub from my parents’ place (it came with the 5.1 JVC receiver). My parents retired this one for the same reason I eventually did: it has an automatic sleep/power saving function, but it’s much too eager to enter the sleep state. This means the bass cuts in and out almost constantly and always very noticeably. After a couple days I decided to get a new subwoofer. The internet says the Dayton Audio SUB-1200 is the one to get if you don’t want to spend a ton of money, so that’s what I got. Just like the speakers, I’m sure there are better ones out there, but to my untrained ear it sounds fantastic. I could foresee upgrading to the 15 inch version of this sub if space allows in the future, but the 12 inch is an incredible upgrade over anything from a home theater in a box.

I got the receiver set up with my five-ish year old Vizio 4k TV via the HDMI ARC connection. This presented a problem right off the bat. The TV is old enough (and cheap enough) that it only has one HDMI input capable of 4k at 60 Hz. Having a refresh rate of at least 60 Hz is totally essential to using a computer on any screen, and at least strongly recommended for everything else. Unfortunately, the HDMI port with ARC is not the one with 4k 60 Hz capability, so I had to keep all my video sources plugged into the TV and then rely on ARC for audio output to the receiver. This got the job done, but I was plagued by the video from any source cutting out and flickering for about ten seconds at unpredictable intervals. On the PS4, I could just pause the game, but watching TV though the computer was frustrating. The cut would happen at really inopportune times and occasionally the audio would return but the video would not, so I’d have to stop and restart playback. My assumption was that this was due to conflicting HDMI versions between the TV and receiver, but I didn’t put too much effort into solving the problem. Instead, I set my sights on a new TV, one that I’ve had my eye on for a year.

This time last year, in the before times, I was very interested in a new TV, and TCL had just what I was after. They had just debuted their 2020 line, which included a 55 inch QLED TV, with HDR, variable refresh rate and Roku built in, for an excellent MSRP of $699. I kind of forgot about to thanks to the turbulence of the world, but it popped into my head a few times and I read the reviews, all of which just about said it was the best bang for your buck TV in 2020. Thanks to this glowing reception and manufacturing problems due to coronavirus, supplies were short and demand high for much of 2020. I decided I was going to buy one from Best Buy once they had stock available near me, preferably at my local store. I also opened up Walmart and Amazon pages for the TV to up my chances of snagging one. And it’s a good thing I did, because one afternoon I refreshed the Walmart page on a whim, and found the TV on sale for $578, well below the usual $650-$700 price. I grabbed it before it could disappear.

It showed up on Friday, and just like the speakers and receiver, I’m sure there are better TVs out there for more money, but I don’t know that I could see the difference, and I don’t think the performance per dollar is beatable. Even the regular SDR picture is an enormous improvement over my old Vizio, the built-in Roku apps are great as usual and the modern HDMI inputs on the TV mean I can route all my stuff through the receiver first, then into the TV. To be honest, HDR (both HDR 10 and Dobly Vision) isn’t as life changing as I expected, but after watching a few episodes of Our Planet and Planet Earth II in 4k HDR, SDR content just feels like it’s missing something. It’s kind of like cooking without salt. It’s alright and it works, but just a dash of salt takes things to the next level. This TV has a 120 Hz panel and will do VRR, but unfortunately I don’t have anything to take advantage of that. My living room computer has a GTX 1080, but it can’t quite make 1080p at 120 fps, and Nvidia is stupid and doesn’t support VRR over HDMI on cards older than the 3000 series. Forza Horizon 4, my typical couch game, looks amazing in 4k 60 fps with HDR. I suspect playing at 60 Hz on a 120 Hz panel has some benefit because the action looks much smoother than my 4k 60 Hz monitor in the office. The PS4 Pro, in contrast to contemporary Xbox models, has no VRR capabilities. It will do a sort of fake 4k at 60 fps and it’ll do HDR, which I’m satisfied with.

I’m really pleased with my new set up and the value it offers. It’s just nice. My third thing worth mentioning will come in my next post, and is a lot more interesting than this I think.

Here’s an update on a little bit of everything:

The computer stuff is working great. The TV set up seems to be working just fine, despite its Rube Goldbergian nature. In fact it’s probably working even better than the old set up. With the old set up, I’d have to restart the living room computer (containing the TV tuner) occasionally and often when I’d be getting comfortable in bed for the night. So far, no restarts of the cetonproxy virtual machine have been required. I suspected network performance might be degraded by having a network TV tuner, but it has not been impacted at all. I’ve been acquiring more TV shows and movies from a variety of sources and Jellyfin handles them with no trouble. I’m sure my system isn’t the sleekest out there, but it gets the job done for me. I’m sure I’ll make more adjustments in the future though.

On the car side, things are finally starting to return to normal. My car has been on jack stands in the driveway for two or three weeks now. I’ve been having a problem with erratic and incorrect readings from the right rear wheel speed sensor. I swapped the sensor with the left side and had no change. I decided to replace the right rear wheel bearing because it contains a magnetic wheel that the sensor reads to generate a signal. It’s not possible to see this ring without taking the bearing out of the spindle, so I decided for $50 or so, I might as well replace it if I take it out. So I got the new bearing installed in the span of a day, but had trouble putting the axle into the bearing. It’s an extremely tight fit, which I think is normal for my type of car. I tried hitting it cup portion of the axle with a hammer and pry bar to drive it into the bearing, but I poked a hole in that cup. So I need an axle. I took a chance on one labeled for an automatic version of my car for only $60. The flange on the differential side was 10mm too small to bolt up. So I sent it back and spend about triple the price on one that should fit my manual car. It should arrive by the end of the week I hope. I also hope it slides into the bearing easily like the automatic axle.

In the meantime, the air conditioning in my wife’s car quit working. I bought a set of manifold gauges to see what was going on inside the system. The gauge reading led me to suspect a broken expansion valve. My initial plan to remedy this was to have a local shop discharge the AC, then I would replace the valve myself, and go back to have the system recharged. I called a shop and they said it would cost $120 to do that. Way more than I was hoping to spend. So I decided to buy a vacuum pump and a few pounds of refrigerant for about the same price and do it myself. After draining the refrigerant, I set about replacing the valve. I was hoping I’d be able to take the valve out under the hood where the AC pipes go in and out of the cabin. Unfortunately, whoever at Honda designed that hole made it a few millimeters too small to get the valve out through it. So what could have been a half hour job took several hours (I did stop for breaks a few times). I had to remove the glove box, the cabin fan and a couple more pieces of plastic to take out the evaporator and then replace the expansion valve. Installation was the reverse of removal. Happily, the new valve did the trick, and the AC works again. I don’t think it’s quite as good as before though. With the car stopped in 90 degree heat, the air is cool but not cold. Moving along it’s fine. I’m so glad to have a car with working air conditioning again.

That’s it for now I guess. Computer things have been pretty static lately. I’m thinking about getting a Minecraft server going. I never really got into Minecraft back in the day, but I really want to. I’m usually a fan of open-ended games like Cities Skylines or No Man’s Sky, but maybe Minecraft is too open-ended. I did install a shader and neat texture pack, which makes a huge difference in the visuals. Maybe I’ll have to see if my brother can help me get into it.

TV is Working, More or Less

So I’ve gotten the TV working on the new system. It’s kind of a convoluted set up, but it works just about perfectly so far. I have coaxial cable coming into the office from the ONT in the basement, and that goes into a Ceton InfiniTV 6 Eth cable card TV tuner. The tuner is connected by ethernet to the Cisco switch and in turn to an ethernet port on the server. To my surprise, the tuner was plug and play with the switch. I was expecting to have to adjust some settings, but it worked right out of the box.

The tuner is accessed directly by a Windows 10 VM running a piece of software called cetonproxy. This makes the Ceton tuner appear to be an HDHomerun to other programs. It’s a Windows-only thing right now unfortunately, so I have 3 cores and 5GB of memory dedicated to a VM just to run this little utility. I’ve never used a container, but this seems like a good use case for one. I don’t know if it’s feasible to run Windows stuff inside a container, but I’ll have to do a little research.

After cetonproxy works its magic, the tuner is usable as an HDHomerun on everything. I initially wanted Jellyfin to handle all the TV tuning stuff, but it turned out the Jellyfin plugin for Kodi doesn’t really do live TV. It lets you watch channels, but there’s no guide or access to recordings, so it’s kind of useless in my opinion. This meant I had to use NextPVR to do my TV tuning.

I generally like NPVR, and I’ve been using it as my TV solution for about a year and a half. It does everything I need a PVR package to do, but it always felt a little bit rough around the edges to me. That’s probably because it’s developed largely by one person, and he can only do so much. It’s closed source, so no one else can contribute. I personally feel like the developer could have a much more robust package if he open-sourced it, but whatever. In the fall, he released a huge update to the program, and created a version for Linux.

After a couple false starts, I had the Linux version installed. The documentation for NPVR v5 is very sparse, and almost nonexistent for the Linux version. The web interface that’s now used to control the program seems to include fewer settings than the old set up, and the descriptions of the settings are very brief. This is something that could be vastly improved in an open source project. I’ll be researching to see if tvheadend can replace NPVR for me.

Yesterday, I recorded a bunch of shows. NPVR, and I assume most other PVR programs, record shows to a .ts file. I’m not sure what kind of encoding these files use, but it results in huge file sizes. A two hour-ish recording of the move Tangled resulted in a ~15GB file. That’s not a whole lot smaller than a similar-length Blu-Ray rip with multiple DTS and AC3 audio tracks. Handily, NPVR includes an option to automatically re-encode recordings after they finish. There is a choice between CPU and VAAPI (graphics card) encoding. Since I had the GPU set up for Jellyfin, I figured that would be the thing to use. I set it, and it didn’t work. I got some help from a rather brusque forum member. Turns out the developer omitted a line or two of code that is needed when selecting the VAAPI option. Again, something that probably wouldn’t happen in an open source project. So for now, VAAPI is useless. Additionally, either VAAPI sucks or my GPU (an RX480 4GB) does, because it can only process one of those .ts files at half speed, which means it takes 10 minutes to encode 5 minutes of video. I’m very disappointed because my RTX 2080 Super, which I know is a significantly better GPU, can plow through a 2 hour Blu-Ray rip in 20 minutes or so using NVENC. The CPU encoding option is much faster, at double speed, meaning a 5 minute video would take 2.5 minutes to encode. This uses 20 virtual cores though. I’ll have to see how it works with multiple simultaneous encoding jobs. I only have 32 cores to give, and the rest of the VMs need some too. For now though, I don’t have a choice.

Another fly in the ointment is Jellyfin and its NPVR plugin, which allows Jellyfin to use NPVR as a backend for TV services. I had it going in a test when I was using the old PCI tuner, but since I set up and then removed the tuners on Jellyfin, I can’t get it working again. There’s an update to Jellyfin out that I’ll probably install next week, so we’ll see if that fixes it. That successful test also used an older version of NPVR, which might have something to do with it. I don’t want to use the old version though. Overall, I’m satisfied. I get TV on my TVs, so I guess I can’t complain too much.

So we finally got FiOS

After a couple false starts, we got our FiOS service going on Thursday. We got the gigabit internet and lifestyle and reality custom TV package. The download speeds have been a tad disappointing at about 330 mbps, while the uploads are an excellent 700 mbps. The download is three times better than we had before, but I’d like it to at least match the upload. I’m not sure what’s causing that problem, but I’ll have to try a few things to fix it this coming week.

The TV side of things is going very well so far. The Ceton PCI tuner is working just fine for now, but I’ll still probably upgrade to the new HD Homerun Prime when it comes out. I have the Ceton card in my living room computer, connected to the TV. It runs NextPVR which contains a client for local use and a server that other devices on the network can connect to.
It’s a very powerful program, with lots of options for customization. In the living room, we just use the local NPVR client. I didn’t realize that cable TV services don’t transmit program guide data like the over-the-air service does. The Schedules Direct service is supported by NPVR, with fairly easy set up. It costs $25 per year, but, to me, that’s very reasonable for the convenience.

I was originally planning to use Emby with the NPVR plugin on the server side and the Emby Roku app on the client side. Quite frankly, it sucked. It just dumped all 1200 channels the tuner card sees into a menu with no options to sort or filter them. When I clicked a channel to watch, it didn’t work either. It’s a small caveat, but to use the live TV function of Emby, you have to pay a subscription fee of $4.99 per month, $54 per year, or $119 for life. So I had to go back to the drawing board.

I decided to try out Kodi on my Raspberry Pi server. I installed the NPVR add-on and adjusted some settings. It kind of worked. The guide was perfect, but playback was a little wonky. The audio was fine, but the video would stutter or freeze. I figured it was good enough and I could fix the problem. I ordered a new Raspberry Pi 3B+ and set it up with OSMC. OSMC is a fork of Debian with Kodi preinstalled. I installed it on the Pi, and then velcro’d the Pi to the back of the TV. After a little bit of setup, it was working perfectly. The guide looked just like NPVR, live TV worked without any catches and watching recordings was great. I’m extremely satisfied with the setup.

There’s only one small thing left to do; add a remote control. In the living room I have a Logitech K400+ couch keyboard, which is great for changing app settings, launching games and light web browsing, but it’s really clunky and unintuitive for watching TV. A regular remote control would be ideal. I remembered the new computer my dad got for Christmas 2006. It was a Dell XPS 410, which had a novel for the time TV tuner card. This meant it came with Windows XP Media Center Edition, and a remote control. The remote had every button you need, but none you don’t, with a very solid and high quality feel. To my surprise, I was able to track down two new in box examples on eBay. Set up with NPVR should be a breeze, because it has native support for these media center edition remotes. I also discovered Kodi has an MCE remote add-on, so hopefully set up should be easy there too. The first one comes tomorrow, so I’ll find out soon.

While the internet service so far is a tad disappointing, I’m totally thrilled with the TV. This setup with a cable card tuner inside an HTPC with client computers around the house is something I’ve wanted since not long after we opened that new computer over a decade ago.