Channels DVR Review

A couple years ago, I cut my satellite service (I live in the middle of nowhere) and signed up for Philo. I really liked the service as it has a lot of channels that we watch but I wanted to get a few more channels. I added another service, FrndlyTv.

The problem with both services was I could not combine them (I use Onn Android Tv Boxes) into one program guide and one experience.

One day while surfing the web, I found Channels DVR. I figured I would give it a shot and was actually impressed with how it works.

You can install Channels DVR server on basically any operating system, even the TV box. I have an old computer running Ubuntu server and I installed it on there. Adding Philo is extremely easy, simply add it to the TV Everywhere option in the admin section. Adding Frndly was a little trickier but with the help of a developer named Matt Huisman, it was very simple.

To get Frndly to work, you need to download his script and run it. There are two ways, you can use Docker to run it or you can run it from terminal (you need Python installed).

It works brilliantly and only had one issue after that, when the system reboots, Frndly doesn’t restart automatically. No big deal with that though. I wrote a bash script and added a cron job to make that work. I then delayed Channels DVR on restart by 10 seconds to allow the bash script to run and everything works like a charm.

Here are the details of what I did:

Visit https://www.matthuisman.nz/2021/11/frndly-tv-for-channels.html. At the bottom of the page, there are instructions on how to run without docker. And also on the line that says python app.py, you may need to change that to python3 app.py

This will get you set up and running. Now to get it to work on reboot, I will show you instructions on Ubuntu and on Windows. I have yet to try it on my Mac as I haven’t had time but will write a post on that soon to cover the instructions on that.

On Ubuntu:

In terminal, I obtained root access by typing sudo su. I then used nano (you can use vi) to create the file. Type the following:

#! /bin/sh
python3 /home/<INSERT-USERNAME-WHERE-FRNDLYTV-FOR-CHANNELS-IS-INSTALLED>/frndlytv-for-channels/app.py --PORT 8183 --USERNAME "FrndlyTVUsername" --PASSWORD "FrndlyTVPassword" --IP "72.229.28.185"

I saved this file as frndly.sh in the root folder. Next type crontab -e

At the very bottom of the page, I added this line:

@reboot exec /root/frndly.sh

I then saved the file. Finally, to stop the frndly channels from not showing on reboot, I added a delay to channels dvr startup by editing /etc/systemd/system/channels-dvr.service by adding this line above the line that starts ExecStart:

ExecStartPre=/bin/sleep 10

That added the 10 second delay for Channels to start and now all 41 FrndlyTv Channels are there.

From Windows, you will need to create a batch file. You can save this file anywhere. To create a batch file, hit the start button, go to Windows Accessories and open Notepad. Type this code changing the necessary names:

cd C:\Users\<INSERT-USERNAME>\frndlytv-for-channels
C:\Users\<INSERT-USERNAME>\AppData\Local\Programs\Python\Python310\python C:\Users\<INSERT-USERNAME>\frndlytv-for-channels\app.py --PORT 8183 --USERNAME "FrndlyTVUsername" --PASSWORD "FrndlyTVPassword" --IP "72.229.28.185"
@echo off
pause()

To save the file, name type frndly.bat and change the file type from text document to all files. Hit save.

Next, hit the start button, go to Windows Administrative Services and select Task Scheduler. Click Action – Create Task. On the first tab, select Run whether user is logged in or not. On the triggers tab, click New then by Begin the task choose At Startup from the dropdown. On the actions tab, select New then Browse. Go to where you saved frndly.bat. Click save. If you are running a notebook computer, on the conditions tab, you will probably want to deselect Stop if the computer switches to battery power. Click Ok to add the task.

That’s it, next time you reboot the task will run for you. You now have automated the FrndlyTV for channels addon from Matt Huisman.