Frndly TV for Channels

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.

Has anyone been having problems with recordings or watching Frndly channels today? I'm running the container as set up by Olivetin, Project One Click. I rarely, if ever have problems. However, today, while recording Catchy Comedy, I received the following error:

2024/08/11 12:01:25.527027 [TNR] Closed connection to M3U-FrndlyTV for ch11262 Catchy Comedy
2024/08/11 12:01:25.527235 [DVR] Error running job 1723402790-87 My Three Sons: Could not fetch playlist from sr-live-weigel1.akamaized.net: GET: https://sr-live-weigel1.akamaized.net/v1/manifest/840a24ccd7c75076211d060179b3ad0c64fdc6ca/weigel_movies_nr_rt_new/01cb99b5-3c51-450d-b40b-3a0ae8fa28b7/hdntl=exp=1723404591~acl=%2f*~data=hdntl~hmac=2f822705cf0be15792c81c266fd6d03cbfe09cd9b5ff6ec07cfb30045c91a865/1.m3u8: 504 Gateway Time-out
2024/08/11 12:01:27.941388 [DVR] Starting job 1723402790-87 My Three Sons on ch=[11262]```

Not me, but then I don't watch or record every channel there, only a couple.
Have you tried a different DNS server yet?

I was hoping that whatever server-side problem would resolve in time, as it has previously.
Then, I started getting other errors on other channels. Little glitches which would recover after a couple seconds. For instance, 403 forbidden, hls: temporary failure while downloading: hls: timeout while waiting for data, TVE: no login form found...
So, yesterday afternoon, as you suggested, I did change my DNS server for my Synology NAS.
So far, so, good, no strange errors or failed recordings.
Thank you for your very helpful suggestion. :grinning:

Unfortunately, the quiet time without errors was short-lived. Evidently, changing the DNS server didn't make much difference. It also makes the Channels DVR diagnostics fail, with a result saying that using a Public DNS server can cause problems. So, I have switched back to the default.

These errors all look to be from the outside, and also are from multiple channels/sources. For instance, Catchy Comedy, through the Frndly Container m3u's, and TCM through YouTube TV TVEverywhere. Perhaps nothing can be done to avoid these glitches. However, I'm open to more suggestions.

2024/08/07 20:13:41.209961 [DVR] Error running job 1723085990-170 Man With a Plan: could not start stream on channels=[11252]: M3U: Could not fetch playlist from 192.168.1.100:8183 (Timeout): Get "http://192.168.1.100:8183/play/laff-90.m3u8": net/http: timeout awaiting response headers
2024/08/10 05:30:09.058060 [DVR] Error running job 1723291190-ch6039 Dancing at Lughnasa (1998): Could not fetch playlist from turnerlive.akamaized.net: GET: https://turnerlive.akamaized.net/hls/live/2023186/tcmeast/noslate/VIDEO_1_5128000.m3u8?hdntl=exp=1723292992~acl=%2fhls%2flive%2f*~hmac=4e04e2d6cfd904e63bbd812519aa8f1e394314d6db1d48b50dc827cad0284c76: 403 Forbidden
2024/08/10 13:30:32.874383 [DVR] Error running job 1723319990-ch6039 Doubt (2008): Could not fetch playlist from turnerlive.akamaized.net: GET: https://turnerlive.akamaized.net/hls/live/2023186/tcmeast/noslate/VIDEO_1_5128000.m3u8?hdntl=exp=1723321815~acl=%2fhls%2flive%2f*~hmac=e158ab78a3a3f9ad333f8ad55b351ae053d61641f3c9f313bed834d5e8f7857d: 403 Forbidden
2024/08/10 16:05:19.262242 [DVR] Error running job 1723330790-ch6040 Doubt (2008): failed after 39.55137833s: hls: temporary failure while downloading: hls: timeout while waiting for data
2024/08/10 23:09:24.409952 [DVR] Error running job 1723352390-ch6039 Silkwood (1983): failed after 37.152256233s: hls: temporary failure while downloading: hls: timeout while waiting for data
2024/08/11 12:01:25.527235 [DVR] Error running job 1723402790-87 My Three Sons: Could not fetch playlist from sr-live-weigel1.akamaized.net: GET: https://sr-live-weigel1.akamaized.net/v1/manifest/840a24ccd7c75076211d060179b3ad0c64fdc6ca/weigel_movies_nr_rt_new/01cb99b5-3c51-450d-b40b-3a0ae8fa28b7/hdntl=exp=1723404591~acl=%2f*~data=hdntl~hmac=2f822705cf0be15792c81c266fd6d03cbfe09cd9b5ff6ec07cfb30045c91a865/1.m3u8: 504 Gateway Time-out
2024/08/11 14:33:31.568299 [DVR] Error running job 1723406390-ch6039 Charade (1963): failed after 31.679242118s: hls: temporary failure while downloading: hls: timeout while waiting for data
2024/08/11 15:08:40.745204 [DVR] Error running job 1723409090-ch6040 Gunga Din (1939): could not start stream on channels=[6040]: TVE: no login form found
2024/08/12 22:16:37.324513 [DVR] Error running job 1723526090-ch6039 Reducing (1931): could not start stream on channels=[6039]: TVE: Get "https://token.ngtv.io/token/token_spe?accessToken=%3CsignatureInfo%3EAr1mXydcjVXEp5ksrI9lO1rnDTaDbcsOenffXS9jUsdjbWBohMCKahRmiuajIpVlpYNfnzUv1k0c4ge991MED5i7JElYmwT8%2FI6IlrqCdmNR%2By743xhNPZDAAm5vgrUUCE%2BHeIXE5ua7yIrczO%2FP6D3DfN2Z87buF717AZQigyA%3D%3CsignatureInfo%3E%3CauthToken%3E%3CsessionGUID%3Eceeaba24620d8da023f53765277a8b5d%3C%2FsessionGUID%3E%3CrequestorID%3ETCM%3C%2FrequestorID%3E%3CresourceID%3ETCM%3C%2FresourceID%3E%3Cttl%3E420000%3C%2Fttl%3E%3CissueTime%3E2024-08-12+22%3A16%3A26+-0700%3C%2FissueTime%3E%3CmvpdId%3EYouTubeTV%3C%2FmvpdId%3E%3C%2FauthToken%3E&accessTokenType=Adobe&appId=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuZXR3b3JrIjoidGJzIiwicHJvZHVjdCI6InR2ZSIsInBsYXRmb3JtIjoid2ViLXRvcDIiLCJhcHBJZCI6InRicy10dmUtd2ViLXRvcDItZnFtMzJvIn0.QtLPjyoP2cF-xzwxw2a_VlRbeWuvEyObn4jYE8sM5Yc&format=json&path=%2Fhls%2Flive%2F%2A": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/08/12 22:18:29.870017 [DVR] Error running job 1723526090-ch6039 Reducing (1931): Could not fetch playlist: https://turnerlive.akamaized.net/hls/live/2023186/tcmeast/noslate/VIDEO_1_5128000.m3u8?hdntl=exp=1723555000~acl=%2fhls%2flive%2f*~hmac=28a374b11b18439d754aabe1c7af88bfeafcfcc425f469e141137b3ad36796dd: Get "https://turnerlive.akamaized.net/hls/live/2023186/tcmeast/noslate/VIDEO_1_5128000.m3u8?hdntl=exp=1723555000~acl=%2fhls%2flive%2f*~hmac=28a374b11b18439d754aabe1c7af88bfeafcfcc425f469e141137b3ad36796dd": http2: timeout awaiting response headers
2024/08/13 03:04:36.041088 [DVR] Error running job 1723543190-146 Cheers: failed after 30.166377053s: hls: temporary failure while downloading: hls: timeout while waiting for data

wait, you changed the dns server on the whole nas and not just for the container?

Sure. I didn't see any alternative, other than to change DNS servers for my entire network.

My Channels DVR server is running native on the Synology, rather than in a container. The only containers on the NAS are stacks which are supportive to Channels like ADBTuner, VLC Bridge, Olivetin, and a few to maintain the M3U's for various sources.

I never thought that a container, like Channels DVR server, would have its own DNS. Is there a better way to do this? My set-up always has room for improvement as I learn new things. :thinking:

https://docs.docker.com/compose/compose-file/05-services/#dns

Looks like I have some reading to do. Thanks for the info, Warren. I always appreciate an opportunity to learn. :slightly_smiling_face: Do you see a way that this knowledge can help with the server-side errors I have been experiencing?

1 Like

@matthuisman, heads up...

Cowboy Way Channel rebrands to Western Bound starting September 3rd. 
2 Likes

Well, with CDVR running in a container... you can set the IPs in docker for the containers and therefore the traffic between channels and container services doesn't have to leave the docker network. That is, if you're running it in bridge mode. However, there were some functional changes around authorization that might be a bit tricky, especially with running on a NAS, and on Synology doubly so. Getting conntrack to work properly, consistently, and persistently on Synology wasn't anything to sneeze at.

Really this line of conversation should be split off into general "Docker Help" as it's nothing to do with the container. The errors you're experience appear to be largely environmental.

1 Like

Thanks again, Warren. Initially, I thought that my problem was somehow limited to the Frndly source. It has evolved into a much broader conversation. If these errors persist, I'll make a new post under an appropriate section. Cheers!