Frndly TV for Channels

Working in Channels and their website now.

2 Likes

Been using Channels for years, but just 5 months or so ago, cancelled the Comcast and are relying only on streaming and an antenna.. Today, my wife said "I'm really missing the weather channel", and my googling brought me here. Signed up for a 7 day trial, and it seems to be working great! I'd say frndly isn't worth it for just the weather channel, but there's also a really cool cartoon channel that I haven't seen elsewhere, so I've got a bunch of cartoons scheduled to record!

I went the "python route" because I'm already running Channels on a Windows VM and wanted to keep it all self contained, so I have a scheduled task set to run the python on boot, and it seems to be working fine.. I'll switch to docker if things dont stay stable.

1 Like

I've had FRNDLY TV for about 3 years.
The cost is so cheap that i just pay for it yearly.
The use of channels and the container work well at keeping the content playing on my devices.
Channels is great in general. Glad you like the cartoons.

Looks like Frndly TV is getting ready to add Aspire TV:

Hi all! My Frndly docker has been clicking along smoothly with Channels DVR until just the past couple days.
Recently, I have been getting occasional errors when recording and/or playing a live channel:

2024/08/05 11:00:02.990199 [DVR] Error running job 1722880790-170 Man With a Plan: could not start stream on channels=[11252]: M3U: Could not fetch playlist from 192.168.1.100:8183: GET: http://192.168.1.100:8183/play/laff-90.m3u8: 504 Gateway Time-out
2024/08/05 11:00:09.737042 [DVR] Error running job 1722880790-170 Man With a Plan: could not start stream on channels=[11252]: M3U: Could not fetch playlist from 192.168.1.100:8183: GET: http://192.168.1.100:8183/play/laff-90.m3u8: 504 Gateway Time-out

Has anyone had a similar experience. If so, what might be the cause?

An important thing to remember is that the 504 error is a server-side error. That means the problem exists with the website you're trying to access, and not with your computer.

If you're also seeing the issue with other sources (TVE/custom m3u), you can change your DNS server to see if that's causing it. If it's just occasionaly happening with FrndlyTV channels, it's most likely their content delivery network.

Thanks! You make a good point.

I did see a different type of timeout error from another source later in the day. (as below) Hopefully, these are just a couple of those transient things which self-heal if you wait long enough. Only time will tell. In the meantime, I can try a different DNS server.

2024/08/05 17:48:02.684887 [DVR] Error running job 1722902390-ch6039 Oklahoma! (1955): failed after 30.217815855s: hls: temporary failure while downloading: hls: timeout while waiting for data

I am not getting any guide data from the frndlytv-for-channels docker container. It was working and at some point just stopped. I validate the install on my Synology NAS...

But am getting this error when trying to validate the source.

Any suggestions?

what happens when you try to visit the url from a computer on your network?

After a timeout period, I get the following error...

Error: Failed to get response from url: https://frndlytv-api.revlet.net/service/api/v1/tvguide/channels?skip_tabs=0

Thats what you have to sort out. Channels isn't the issue. What I would do is look at the logs on portainer and see if the traffic is getting to the container. If it isnt then you need to troubleshoot the network path. If it is and you see errors, then you would need to start there.

1 Like

Here is the log from the Synology container...

frndlytv-for-channels

date stream content
2024/08/07 16:42:33 stdout ----------------------------------------
2024/08/07 16:42:33 stdout Exception: Failed to get response from url: https://frndlytv-api.revlet.net/service/api/v1/tvguide/channels?skip_tabs=0
2024/08/07 16:42:33 stdout raise Exception('Failed to get response from url: {}'.format(url))
2024/08/07 16:42:33 stdout File "/usr/src/app/frndly.py", line 142, in _request
2024/08/07 16:42:33 stdout rows = self._request('https://frndlytv-api.revlet.net/service/api/v1/tvguide/channels?skip_tabs=0')['data']
2024/08/07 16:42:33 stdout File "/usr/src/app/frndly.py", line 152, in channels
2024/08/07 16:42:33 stdout channels = frndly.channels()
2024/08/07 16:42:33 stdout File "./app.py", line 71, in _playlist
2024/08/07 16:42:33 stdout routesfunc
2024/08/07 16:42:33 stdout File "./app.py", line 53, in do_GET
2024/08/07 16:42:33 stdout self._error(e)
2024/08/07 16:42:33 stdout File "./app.py", line 55, in do_GET
2024/08/07 16:42:33 stdout method()
2024/08/07 16:42:33 stdout File "/usr/local/lib/python3.8/http/server.py", line 423, in handle_one_request
2024/08/07 16:42:33 stdout self.handle_one_request()
2024/08/07 16:42:33 stdout File "/usr/local/lib/python3.8/http/server.py", line 435, in handle
2024/08/07 16:42:33 stdout self.handle()
2024/08/07 16:42:33 stdout File "/usr/local/lib/python3.8/socketserver.py", line 747, in init
2024/08/07 16:42:33 stdout super().init(*args, **kwargs)
2024/08/07 16:42:33 stdout File "./app.py", line 25, in init
2024/08/07 16:42:33 stdout self.RequestHandlerClass(request, client_address, self)
2024/08/07 16:42:33 stdout File "/usr/local/lib/python3.8/socketserver.py", line 360, in finish_request
2024/08/07 16:42:33 stdout self.finish_request(request, client_address)
2024/08/07 16:42:33 stdout File "/usr/local/lib/python3.8/socketserver.py", line 683, in process_request_thread
2024/08/07 16:42:33 stdout Traceback (most recent call last):
2024/08/07 16:42:33 stdout Exception happened during processing of request from ('172.17.0.1', 43042)
2024/08/07 16:42:33 stdout ----------------------------------------
2024/08/07 16:42:33 stdout 172.17.0.1 - - [07/Aug/2024 20:42:33] "GET /playlist.m3u8?gracenote=include HTTP/1.1" 500 -
2024/08/07 16:42:33 stdout HTTPSConnectionPool(host='frndlytv-api.revlet.net', port=443): Max retries exceeded with url: /service/api/v1/tvguide/channels?skip_tabs=0 (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f1108e65d90>, 'Connection to frndlytv-api.revlet.net timed out. (connect timeout=15)'))
2024/08/07 16:42:03 stdout Requesting: https://frndlytv-api.revlet.net/service/api/v1/tvguide/channels?skip_tabs=0
2024/08/07 16:42:03 stdout HTTPSConnectionPool(host='frndlytv-api.revlet.net', port=443): Max retries exceeded with url: /service/api/v1/tvguide/channels?skip_tabs=0 (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f1108e65640>, 'Connection to frndlytv-api.revlet.net timed out. (connect timeout=15)'))
2024/08/07 16:41:33 stdout Requesting: https://frndlytv-api.revlet.net/service/api/v1/tvguide/channels?skip_tabs=0
2024/08/07 16:41:33 stdout HTTPSConnectionPool(host='frndlytv-api.revlet.net', port=443): Max retries exceeded with url: /service/api/v1/tvguide/channels?skip_tabs=0 (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f1108e5a820>, 'Connection to frndlytv-api.revlet.net timed out. (connect timeout=15)'))
2024/08/07 16:41:03 stdout Requesting: https://frndlytv-api.revlet.net/service/api/v1/tvguide/channels?skip_tabs=0
2024/08/07 16:41:01 stdout 172.17.0.1 - - [07/Aug/2024 20:41:01] "GET / HTTP/1.1" 200 -

There is your problem. Are you using an ad blocker?
Its definitely on your side as I just navigated to the url and I get a response right away

When I try to access, I get the following...

It says unauthorized, but I can login to frndly tv w/o issue.

1 Like

you won't be able to authorize to the API service in a browser by just going to the URL.

Thought I'd share... looks like frndly has a proper gracenote lineup now...
There's a couple stations not mapped properly on it... but hey, they did it!

What app is that in the screenshot?
Matt has mapped most of the Frndly channels here https://i.mjh.nz/frndly_tv/app.json
The ones that aren't mapped to a gracenote station id show as "gracenote": null

  "53": {
    "gracenote": null,
    "slug": "cowboy_way"
  },
1 Like

epg123

yep… that dependency to pull a json file from the other side of the world for it to work is why I’ve started trying to rewrite this and some other container based services into something of my own.

:eyes:

EPG123 but still requires a subscription to Schedules Direct as that where it gets the EPG data from.