Frndly TV for Channels

Sorry, I am not using Channels in my setup currently. I agree, it is really weird there's no audio for just the Hallmark channels. VLC doesn't show an audio stream, only video while using the m3u8 in VLC. I will continue to troubleshoot, thank you for the feedback!

Channels server/app plays Hallmark correctly!

I have compared the m3u8 between working and non-working stations in VLC. I see Hallmark presents 3 audio stream options (LANGUAGE="und", LANGAUGE="vid", and LANGUAGE="eng"). My guess is VLC is unable to present the "eng" audio stream and ends up playing nothing.

LANGUAGE="und" is the default stereo audio track
LANGUAGE="vic" is another stereo audio track
LANGUAGE="eng" is the closed captions

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MEDIA:LANGUAGE="und",AUTOSELECT=YES,CHANNELS="2",FORCED=NO,TYPE=AUDIO,URI="...",GROUP-ID="audio_0",DEFAULT=YES,NAME="und"
#EXT-X-MEDIA:LANGUAGE="vic",AUTOSELECT=YES,CHANNELS="2",FORCED=NO,TYPE=AUDIO,URI="...",GROUP-ID="audio_0",DEFAULT=NO,NAME="vic"
#EXT-X-MEDIA:LANGUAGE="eng",AUTOSELECT=YES,FORCED=NO,TYPE=SUBTITLES,URI="...",GROUP-ID="subtitles",DEFAULT=YES,NAME="caption_1"
#EXT-X-STREAM-INF:CODECS="avc1.64001F,mp4a.40.2",AVERAGE-BANDWIDTH=2891655,RESOLUTION=1280x720,SUBTITLES="subtitles",FRAME-RATE=30.0,BANDWIDTH=2891655,AUDIO="audio_0"
...
#EXT-X-STREAM-INF:CODECS="avc1.4D401E,mp4a.40.2",AVERAGE-BANDWIDTH=2341691,RESOLUTION=768x432,SUBTITLES="subtitles",FRAME-RATE=30.0,BANDWIDTH=2341691,AUDIO="audio_0"
...
#EXT-X-STREAM-INF:CODECS="avc1.640015,mp4a.40.2",AVERAGE-BANDWIDTH=1131655,RESOLUTION=512x288,SUBTITLES="subtitles",FRAME-RATE=30.0,BANDWIDTH=1222122,AUDIO="audio_0"
...
#EXT-X-STREAM-INF:CODECS="avc1.64000D,mp4a.40.2",AVERAGE-BANDWIDTH=801691,RESOLUTION=384x216,SUBTITLES="subtitles",FRAME-RATE=30.0,BANDWIDTH=852552,AUDIO="audio_0"
...

And it plays fine in VLC for me.


Capture2

Issue completely resolved. HLS-Proxy doesn't support streams with multiple audio tracks, which was causing the issues I reported. Frndly TV for Channels is working perfectly, like I said earlier - Amazing tool!

My new flow is Frndly TV for Channels (docker) -> plex-dvr-hls proxy -> plex. No Threadfin or HLS-Proxy. Hopefully this is helpful to someone who isn't using Channels. Appreciate the kind support from this forum.

1 Like

57 posts were split to a new topic: Unable to load guide data for Frndly TV

And since it is buried pretty far back (like 400 posts ago), here are the instructions for the Double Source method for anyone who might be looking for them. Really this should be covered in the OP of this thread, and the Info & Instructions page but it isn't. The status page actually does give some instruction, but it isn't clear that those are instructions.


If the status page is working than you just need to setup custom channels in ChannelsDVR.
It is best to use the double source method to add frndly-for-channels to Custom Channels. You need to setup two sources to get EPG data for all the channels.

Source 1
Go to ChannelsDVR Setting > Add Source > Custom Channels.
Set Nickname: whatever1
Set Stream Format: HLS
Set Source: http://host_ip:8183/playlist.m3u8?gracenote=include
Set Options: Refresh URL Daily
Set XMLTV Guide Data: None (do not add a link)
Save

Source 2
Go to ChannelsDVR Setting > Add Source > Custom Channels.
Set Nickname: whatever2
Set Stream Format: HLS
Set Source: http://host_ip:8183/playlist.m3u8?gracenote=exclude
Set Options: Refresh URL Daily
Set XMLTV Guide Data: http://host_ip:8183/epg.xml?gracenote=exclude
Save

The always diligent @chDVRuser has some screen caps of this custom channels setup above:

Just added frndly on my synology with this , but I am getting invalid source url: failed to retrieve m3u: GET: when I add the source. How can I fix it?

version: '3.9'
services:
  frndlytv-for-channels:
    image: matthuisman/frndlytv-for-channels
    container_name: frndlytv-for-channels
    environment:
      - IP=${IP} # For Geo-locating FrndlyTV to a different area
      - USERNAME=${USERNAME} # FrndlyTV username (the email you used to sign-up)
      - PASSWORD=${PASSWORD} # FrndlyTV password (the password you chose when you signed-up)
    ports:
      - '8185:80'
    restart: unless-stopped

Replace - USERNAME=${USERNAME} with the email you used to sign up
Example - "USERNAME=mexicanmamba@domain"
Replace - PASSWORD=${PASSWORD} with the password you chose when you signed-up
Example - "PASSWORD=monkey123"

What does your Channels DVR custom channel source look like.

1 Like

You're a genius!!!!! Do I need to add both source 1 and source 2 to my dvr or just source 1?

WOW! He totally guessed your password!

Use both sources, like this

1 Like

Thank you so much for the Docker and Channels support.
I am bewildered that when I record Great American Family movies on Frndly with Channels DVR, I have closed captioning, but when I record Hallmark movies, there is no closed captioning. Using the Frndly website or app, Hallmark does have CC, so I do not know what is happening. Any assistance or ideas to try?

This probably comes down to how the CC is encoded in the stream. Channels currently doesn’t support WebVTT subtitles. The best example of this is Pluto. Most Pluto channels have WebVTT and are unsupported, while just a handful are a different type that is handled correctly by Channels. This is likely the difference between the Frndly channels you are discussing. I stopped holding my breath that they will be supported anytime soon.

That definitely is the case.
If you play them in VLC you'll see they use the WebVTT subtitles and VLC can display them.


More of these errors in the FrndlyTV container log yesterday and today

Logs in, then immediately gets 401-Unauthorized access

2023/11/01 15:29:22.832510 [IDX] Pruned 50 expired airings from XMLTV-frndlyTVNoEpg in 32.754078ms.
2023-11-02T16:41:00.510063383Z	stdout	401
2023-11-02T16:41:00.511150994Z	stdout	Unauthorized access
2023-11-02T16:41:00.511448960Z	stdout	logging in....
2023-11-02T16:41:03.582769121Z	stdout	Logged in!
2023-11-02T16:41:03.931718748Z	stdout	401
2023-11-02T16:41:03.932034522Z	stdout	Unauthorized access
2023-11-02T16:41:03.932647250Z	stderr	172.18.0.1 - - [02/Nov/2023 09:41:03] "GET /playlist.m3u?gracenote=include HTTP/1.1" 500 -
2023-11-02T16:41:03.933256877Z	stderr	----------------------------------------
2023-11-02T16:41:03.933550414Z	stderr	Exception happened during processing of request from ('172.18.0.1', 56780)
2023/11/02 09:41:03.933935 [ERR] Unexpected m3u response for frndlyTV: 500 Internal Server Error
2023-11-02T16:41:03.934026996Z	stderr	Traceback (most recent call last):
2023-11-02T16:41:03.934378998Z	stderr	  File "/usr/local/lib/python3.8/socketserver.py", line 683, in process_request_thread
2023-11-02T16:41:03.934653837Z	stderr	    self.finish_request(request, client_address)
2023-11-02T16:41:03.934834937Z	stderr	  File "/usr/local/lib/python3.8/socketserver.py", line 360, in finish_request
2023-11-02T16:41:03.934959754Z	stderr	    self.RequestHandlerClass(request, client_address, self)
2023-11-02T16:41:03.935062029Z	stderr	  File "./app.py", line 25, in __init__
2023-11-02T16:41:03.935166827Z	stderr	    super().__init__(*args, **kwargs)
2023-11-02T16:41:03.935265945Z	stderr	  File "/usr/local/lib/python3.8/socketserver.py", line 747, in __init__
2023-11-02T16:41:03.935409373Z	stderr	    self.handle()
2023-11-02T16:41:03.935527367Z	stderr	  File "/usr/local/lib/python3.8/http/server.py", line 435, in handle
2023-11-02T16:41:03.935639247Z	stderr	    self.handle_one_request()
2023-11-02T16:41:03.935733906Z	stderr	  File "/usr/local/lib/python3.8/http/server.py", line 423, in handle_one_request
2023-11-02T16:41:03.935839644Z	stderr	    method()
2023-11-02T16:41:03.935932529Z	stderr	  File "./app.py", line 55, in do_GET
2023-11-02T16:41:03.936049045Z	stderr	    self._error(e)
2023-11-02T16:41:03.936146426Z	stderr	  File "./app.py", line 53, in do_GET
2023-11-02T16:41:03.936245776Z	stderr	    routes[func]()
2023-11-02T16:41:03.936376017Z	stderr	  File "./app.py", line 71, in _playlist
2023-11-02T16:41:03.936498153Z	stderr	    channels = frndly.channels()
2023-11-02T16:41:03.936597918Z	stderr	  File "/usr/src/app/frndly.py", line 150, in channels
2023-11-02T16:41:03.936701535Z	stderr	    rows = self._request('https://frndlytv-api.revlet.net/service/api/v1/tvguide/channels?skip_tabs=0')['data']
2023-11-02T16:41:03.936827209Z	stderr	  File "/usr/src/app/frndly.py", line 133, in _request
2023-11-02T16:41:03.936931157Z	stderr	    return self._request(url, params=params, login_on_failure=False)
2023-11-02T16:41:03.937038169Z	stderr	  File "/usr/src/app/frndly.py", line 136, in _request
2023-11-02T16:41:03.937139418Z	stderr	    raise Exception(data['error']['message'])
2023-11-02T16:41:03.937238657Z	stderr	Exception: Unauthorized access
2023-11-02T16:41:03.937356830Z	stderr	----------------------------------------
2023-11-02T16:41:04.311275239Z	stdout	401
2023-11-02T16:41:04.311596016Z	stdout	Unauthorized access
2023-11-02T16:41:04.311999077Z	stdout	logging in....
2023-11-02T16:41:07.504742064Z	stdout	Logged in!
2023/11/02 09:41:08.111346 [M3U] Refreshed lineup for frndlyTVNoEpg with 6 channels

Logs in, then immediately gets 401-Unauthorized access

2023/11/02 13:57:34.857180 [IDX] Pruned 30 expired airings from XMLTV-frndlyTVNoEpg in 32.637583ms.
2023-11-03T16:17:00.540825979Z	stdout	401
2023-11-03T16:17:00.541946334Z	stdout	Unauthorized access
2023-11-03T16:17:00.542178195Z	stdout	logging in....
2023-11-03T16:17:03.627556001Z	stdout	Logged in!
2023-11-03T16:17:03.974564276Z	stdout	401
2023-11-03T16:17:03.974806735Z	stdout	Unauthorized access
2023-11-03T16:17:03.975438320Z	stderr	172.18.0.1 - - [03/Nov/2023 09:17:03] "GET /playlist.m3u?gracenote=include HTTP/1.1" 500 -
2023-11-03T16:17:03.975986002Z	stderr	----------------------------------------
2023-11-03T16:17:03.976201841Z	stderr	Exception happened during processing of request from ('172.18.0.1', 57150)
2023/11/03 09:17:03.976765 [ERR] Unexpected m3u response for frndlyTV: 500 Internal Server Error
2023-11-03T16:17:03.976923642Z	stderr	Traceback (most recent call last):
2023-11-03T16:17:03.977631148Z	stderr	  File "/usr/local/lib/python3.8/socketserver.py", line 683, in process_request_thread
2023-11-03T16:17:03.978198005Z	stderr	    self.finish_request(request, client_address)
2023-11-03T16:17:03.978437604Z	stderr	  File "/usr/local/lib/python3.8/socketserver.py", line 360, in finish_request
2023-11-03T16:17:03.978573334Z	stderr	    self.RequestHandlerClass(request, client_address, self)
2023-11-03T16:17:03.978680045Z	stderr	  File "./app.py", line 25, in __init__
2023-11-03T16:17:03.978782092Z	stderr	    super().__init__(*args, **kwargs)
2023-11-03T16:17:03.978881409Z	stderr	  File "/usr/local/lib/python3.8/socketserver.py", line 747, in __init__
2023-11-03T16:17:03.978984094Z	stderr	    self.handle()
2023-11-03T16:17:03.979078622Z	stderr	  File "/usr/local/lib/python3.8/http/server.py", line 435, in handle
2023-11-03T16:17:03.979184796Z	stderr	    self.handle_one_request()
2023-11-03T16:17:03.979276700Z	stderr	  File "/usr/local/lib/python3.8/http/server.py", line 423, in handle_one_request
2023-11-03T16:17:03.979499379Z	stderr	    method()
2023-11-03T16:17:03.979629308Z	stderr	  File "./app.py", line 55, in do_GET
2023-11-03T16:17:03.979747513Z	stderr	    self._error(e)
2023-11-03T16:17:03.980035307Z	stderr	  File "./app.py", line 53, in do_GET
2023-11-03T16:17:03.980164067Z	stderr	    routes[func]()
2023-11-03T16:17:03.980259915Z	stderr	  File "./app.py", line 71, in _playlist
2023-11-03T16:17:03.980406400Z	stderr	    channels = frndly.channels()
2023-11-03T16:17:03.980516284Z	stderr	  File "/usr/src/app/frndly.py", line 150, in channels
2023-11-03T16:17:03.980618259Z	stderr	    rows = self._request('https://frndlytv-api.revlet.net/service/api/v1/tvguide/channels?skip_tabs=0')['data']
2023-11-03T16:17:03.980739012Z	stderr	  File "/usr/src/app/frndly.py", line 133, in _request
2023-11-03T16:17:03.980838713Z	stderr	    return self._request(url, params=params, login_on_failure=False)
2023-11-03T16:17:03.980950526Z	stderr	  File "/usr/src/app/frndly.py", line 136, in _request
2023-11-03T16:17:03.981052587Z	stderr	    raise Exception(data['error']['message'])
2023-11-03T16:17:03.981160769Z	stderr	Exception: Unauthorized access
2023-11-03T16:17:03.981257007Z	stderr	----------------------------------------
2023-11-03T16:17:04.352312028Z	stdout	401
2023-11-03T16:17:04.352609027Z	stdout	Unauthorized access
2023-11-03T16:17:04.352802213Z	stdout	logging in....
2023-11-03T16:17:07.507715661Z	stdout	Logged in!
2023/11/03 09:17:08.065504 [M3U] Refreshed lineup for frndlyTVNoEpg with 6 channels

Edit: To put this in context, these are the daily morning lineup and guide updates. I added the Channels DVR log entry immediately preceding the errors.
The errors are preventing Channels DVR from updating the playlist.m3u?gracenote=include

All of a sudden, my EPG guide descriptions went away. It is showing the correct program, but doesn't have any artwork or descriptions. I restarted the Docker container, refreshed, redownloaded the EPG.. nothing. Any help would be appreciated. Thanks!

Mine is working.


Bring up the docker container website for FrndlyTV for Channels in a web browser
Mine is http://192.168.1.3:8183/
What does it display?
Screenshot 2023-11-20 at 15-46-36 Screenshot

Show the settings for your Channels DVR custom m3u sources for it


Interesting, thanks for the info. I’m going to dig into it a little more and perhaps set it up again. Appreciate all of the info.

I want to thank you for your help. I'm not exactly sure what happened, but it seemed my files were corrupt somehow. I recreated everything and back to normal. Thanks again!

3 Likes

Channels can handle that, I need to work on this to create proper m3u8. You simply don't understand that DRM does not matter because a user at the end watches decoded images.