The time finally came this last week when we took a family vacation and I was able to take ProjectOne out on its first real world test. TL;DR: It failed . . . well, kind of.

Prep

I was able to work on ProjectOne again for the first time in a while and was trying to prepare it for the upcoming vacation trip. During prep, I noticed that episodes were being scheduled as expected, except that around 2PM, some episodes were overlapping on channels that had commercials enabled. I spent quite a bit of time going over the code and trying to figure out the issue, but couldn’t, so I just disabled commercials completely due to running out of time. Problem “solved”.

Also, because of the hardware requirements, the current solution produces a mess of cords that I’m not sure yet how to make better without spending more money (enough has been spent). Currently, the hardware consists of:

  • Raspberry Pi 4 in an Argon One case (regret #1)
  • 2TB NVME drive in an external enclosure (regret #2)
  • Powered USB hub to power the NVME drive (stupid)
  • (Optional) 15" portable monitor

This means that I need 2-3 available electrical outlets, depending on whether I need the portable monitor or not, along with a HDMI cable. If I coil the cords up, it’s honestly not that bad. I was able to put all of this into my backpack with all of my other electronic travel items, no problem; it’s just an eye sore to be honest.

Test Time

We rented a cabin via AirBNB that had a nice sized 4K TV in every room, so I knew that it would be nice not having to use the portable monitor. Notice how I said 4K . . more on this later.

I did leave my HDMI cable at home so a quick trip to Walmart and $8 fixed that problem. :(

So what went wrong?

First, I did not even think about most TVs now days being natively 4K; ProjectOne was designed around 1080p. This means that the Pi has to push extra hard to try and play videos at that resolution, which means it sadly doesn’t do well. Video was terribly choppy, audio was out of sync, and I had no way to fix it as I didn’t bring a keyboard.

The good news is that I came prepared . . . slightly. I created a second SD card with LibreElec (Kodi OS build for the Pi) installed on it. This way, we could choose what to play and have something to use. There were only 2 issues that I had with this method: volume and the remote control. For some reason, the volume was extremely low out of the box. I had to boost the volume up after finding audio settings in the OSD while playing video, then set these audio settings globally. The volume settings were not even available in the default Settings menu. No clue why this was, but just getting to the right place was not very clear and upfront.

The remote control worked great, except I didn’t fully program my old LG TV remote with FLIRC so I couldn’t access secondary menus and change volume within Kodi; the remote is currently setup to work with ProjectOne via keyboard keys assigned to remote buttons. The other issue is that certain signals like the Up button “triggered” actions via the TV (Roku), so I had to hold the remote close to the FLIRC USB receiver so it wouldn’t do anything on the TV. Finally, I need to find some angled extension so that the USB receiver is facing the front of the device for IR blasting. It’s hard to position the case with all the cords connected.

LibreElec came through and made the effort of bringing the Pi along on the trip worth it. Even though it wasn’t ProjectOne, the thing I’ve worked so hard on, we were still able to watch TV at night, with no Internet access needed.

Unlike ProjectOne, I was able to force 1080p resolution directly from the Kodi settings to get smooth playback as intended. The picture quality was still great; I didn’t feel like it was a total downgrade at all.

Going Forward

So what’s the next step for ProjectOne? Honestly, I don’t know but it’s something that I’m thinking about. I don’t know if it’s worth continuing development on it for multiple reasons. Part of me wants to just use the best tool for the job (LibreElec) but it’s not what I’ve built. I’ve thought about possibly transforming this project into a Kodi add-on but I’m not sure what all that involves yet (currently looking into this). There are a few add-ons out there like PseudoTV and LazyTV, however, they don’t seem to work with current version of Kodi (in my experience).

Making ProjectOne better, in my opinion, would mean a lot more work going into it and I’m just not sure I want to. I want to have some channels with commercials, but then I would have to spend a lot of time cutting YouTube videos up into individual files (one commercial per file), creating a database from them, fitting them into the schedule, etc. Not sure I want to go that far to be honest.

There’s also the fact that I want better quality than what I think I can produce. I’ve had a hard time learning on how to create an “app” out of this idea instead of forcing a video player to play certain things in fullscreen at certain times, have proper logging, create an easy backup/restore solution in the case of an OS crash or SD card failure, or even create a simple loading screen. It’s almost like why do all this when most of the work is already done with Kodi?

Another idea I had would be to purchase a Bluetooth remote. This way, I wouldn’t have an issue in the future with IR blasting and interfering with the TV signals. Not sure how well this would work because Bluetooth, but it would be worth a shot to find out. It just sucks because I bought that FLIRC IR Receiver and now I can’t return it lol.

I do know one thing though. My wife and I have been wanting to buy a camper for a while and that dream will possibly be a reality in the coming years. I’ve thought that dedicating this device for both travel (AirBNB, Hotels, etc) and a camper would be a perfect solution for when we want to watch something, so it’s not like this is all for nothing. It’s been a fun experiment and learning opportunity to boost my Python “skills”; I’ve enjoyed seeing how far I can take this.

I’ll keep mulling over this and try to decide what to do. We have 2 more family vacations scheduled this year so it will be good to take with us and continue to tweak, making it our own.