Samsung TV Plus for Channels

the docker image pulls currently 367 channels. Hasn't changed for me in a while.
There is a new MLP channel. See it in the app on my tv, channel 3653, but i do not see it on the Samsung Tv Plus website where u also can stream their channels.

The Pluto docker, and no cords urls, they add/remove channels every few days it seems.

pretty sure it scrapes every few hours and only those specific regions that have access to their android app.

If you dont see the channels, that will mean they are Widevine channels so ignored as they wont play in channels

1 Like
Not that many lineup changes in the last 4 months
2024-05-25 New source with 341 channels: "SamsungTVPlus"
2024-05-29 SamsungTVPlus: 346 channels (+5) (https://i.mjh.nz/SamsungTVPlus/us.m3u8)
           + 10342 : American Crimes
           + 10343 : NBC Sports
           + 10344 : Formula 1 Channel
           + 10345 : Blippi
           + 10346 : BBC Kids
2024-05-30 SamsungTVPlus: 345 channels (-1) (https://i.mjh.nz/SamsungTVPlus/us.m3u8)
           - 10344 : Formula 1 Channel
2024-06-12 SamsungTVPlus: 348 channels (+3) (https://i.mjh.nz/SamsungTVPlus/us.m3u8)
           ! 10034 : Movies on the Rotten Tomatoes Channel (was The Rotten Tomatoes Channel)
           - 10039 : The Preview Channel
           + 10347 : Animation+
           + 10348 : Barbie and Friends
           + 10349 : Miramax Channel
           + 10350 : National Lampoon
2024-06-26 SamsungTVPlus: 356 channels (+8) (https://i.mjh.nz/SamsungTVPlus/us.m3u8)
           + 10351 : Storm Vibes
           + 10352 : MLB Channel
           + 10353 : Island Vibes
           + 10354 : Waterfall Vibes
           + 10355 : Rainy Day Vibes
           + 10356 : Beach Bonfire Vibes
           + 10357 : Lakeside Bonfire Vibes
           + 10358 : Summer Vibes
2024-07-10 SamsungTVPlus: 358 channels (+2) (https://i.mjh.nz/SamsungTVPlus/us.m3u8)
           + 13357 : Unbeaten Sports Channel
           + 13358 : Hallmark en Español
2024-07-24 SamsungTVPlus: 360 channels (+2) (https://i.mjh.nz/SamsungTVPlus/us.m3u8)
           + 13359 : Universe: Mysteries Solved
           + 13360 : Campfire Vibes
2024-07-31 SamsungTVPlus: 356 channels (-4) (https://i.mjh.nz/SamsungTVPlus/us.m3u8)
           - 10031 : CINEVAULT
           - 10032 : CINEVAULT: Classics
           - 10043 : CINEVAULT: Westerns
           - 10144 : People Are Awesome
2024-08-07 SamsungTVPlus: 355 channels (-1) (https://i.mjh.nz/SamsungTVPlus/us.m3u8)
           - 10037 : Chicken Soup for the Soul
2024-08-21 SamsungTVPlus: 356 channels (+1) (http://192.168.1.3:8182/playlist.m3u)
           + 13361 : Conan O'Brien TV
2024-08-27 SamsungTVPlus: 362 channels (+6) (http://192.168.1.3:8182/playlist.m3u)
           + 13362 : Biography: The Icons
           + 13363 : FOX Sports
           + 13364 : Historia
           + 13365 : beIN Sports XTRA ñ
           + 13366 : Novelas Turcas
           + 13367 : ¿Qué Culpa Tiene Fatmagül?
2024-08-30 SamsungTVPlus: 361 channels (-1) (http://192.168.1.3:8182/playlist.m3u8)
           - 13361 : Conan O'Brien TV
2024-09-03 SamsungTVPlus: 361 channels (=) (http://192.168.1.3:8182/playlist.m3u8)
           ! 10046 : Western Bound (was Cowboy Way)
2024-09-10 SamsungTVPlus: 368 channels (+7) (http://192.168.1.3:8182/playlist.m3u8)
           + 13368 : Ancient Aliens
           + 13369 : The Jim Rome Show
           + 13370 : WWE Superstar Central
           + 13371 : Hot Wheels Action
           + 13372 : Curiosity Motores
           + 13373 : Curiosity Animales
           + 13374 : Curiosity Español
2024-09-11 SamsungTVPlus: 367 channels (-1) (http://192.168.1.3:8182/playlist.m3u8)
           - 13368 : Ancient Aliens
1 Like

See five posts in a row, starting with this one Samsung TV Plus for Channels - #11 by Jean0987654321

You could map gracenote guide data to the channels, if you know what it is.

I did that for just one channel and found the included samsung guide data was better than the gracenote guide data for some shows and gracenote was better than samsung for other shows on the same channel.
Example: Samsung guide data at top, Gracenote at the bottom. Same channel, just different EPG.


Example-2: Samsung guide data at top, Gracenote at the bottom. Same channel, just different EPG.

Matt does have a two playlist setup available for Frndly TV, where some channels have gracenote guide data and the others only have Frndly TV guide data. If that could be implemented in the Samsung docker, we could provide the gracenote guide mapping in a simple comma delimited (or error prone when editing, json) file.

I fully understand if he doesn't want to deal with the support issues if implemented.
As we all know, there are (cut&paste) users that (TL;DR) expect someone to (be their unpaid consultant) hold their hand and provide them with a step-by-step tutorial, preferably in a YouTube Video.

2 Likes

Hey thanks for this - it inspired me to do a bit of research, and it clicked once I learned what Gracenote data actually is :slight_smile:, and realized that that guide data is available via Channels (and thus the potential mapping solutions).

Just FYI, i checked via the native Samsung TV UI (the light blue one that also is where u access OTA channels) and that UI has the ability to add/remove channels into Favorite groups.

The TV reports 412 Samsung TV Plus channels.

This Docker has 367 channels. (Default region, US)

So, that leaves 45 channels that are not available/compatible.

(Assuming is USA region that my tv pulls, cause, that is where i am)

Channels DVR times out after 12s trying to fetch the playlist.m3u8 from the Samsung container

2024/10/26 15:15:13.825703 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

To me, this says Channels DVR made the request at 2024/10/26 15:15:01
But the Samsung container shows the request at 2024/10/26 15:15:21, which is 20 seconds after Channels DVR made the request.
So 8 seconds after Channels DVR times out and disconnects, we get a Broken pipe exception.

Samsung container log
2024-10-26T22:15:21.774874689Z Including channels from regions: ['us']
2024-10-26T22:15:21.775205252Z 192.168.144.1 - - [26/Oct/2024 15:15:21] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-26T22:15:21.777449328Z 192.168.144.1 - - [26/Oct/2024 15:15:21] "GET /playlist.m3u8 HTTP/1.1" 500 -
2024-10-26T22:15:21.777787699Z ----------------------------------------
2024-10-26T22:15:21.777908451Z Exception occurred during processing of request from ('192.168.144.1', 44480)
2024-10-26T22:15:21.779876350Z Traceback (most recent call last):
2024-10-26T22:15:21.780945769Z   File "/usr/src/app/./app.py", line 48, in do_GET
2024-10-26T22:15:21.781204142Z     routes[func]()
2024-10-26T22:15:21.781378660Z   File "/usr/src/app/./app.py", line 96, in _playlist
2024-10-26T22:15:21.781524574Z     self.wfile.write(f'#EXTINF:-1 channel-id="{channel_id}" tvg-id="{key}" tvg-logo="{logo}" group-title="{group}"{chno},{name}\n{url}\n'.encode('utf8'))
2024-10-26T22:15:21.781676874Z   File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-26T22:15:21.781803555Z     self._sock.sendall(b)
2024-10-26T22:15:21.781905473Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-26T22:15:21.782009662Z 
2024-10-26T22:15:21.782094622Z During handling of the above exception, another exception occurred:
2024-10-26T22:15:21.782198372Z 
2024-10-26T22:15:21.782279478Z Traceback (most recent call last):
2024-10-26T22:15:21.782994632Z   File "/usr/local/lib/python3.12/socketserver.py", line 692, in process_request_thread
2024-10-26T22:15:21.783216446Z     self.finish_request(request, client_address)
2024-10-26T22:15:21.783465992Z   File "/usr/local/lib/python3.12/socketserver.py", line 362, in finish_request
2024-10-26T22:15:21.783672885Z     self.RequestHandlerClass(request, client_address, self)
2024-10-26T22:15:21.783819644Z   File "/usr/src/app/./app.py", line 23, in __init__
2024-10-26T22:15:21.783932717Z     super().__init__(*args, **kwargs)
2024-10-26T22:15:21.784028259Z   File "/usr/local/lib/python3.12/socketserver.py", line 761, in __init__
2024-10-26T22:15:21.784128136Z     self.handle()
2024-10-26T22:15:21.784226555Z   File "/usr/local/lib/python3.12/http/server.py", line 436, in handle
2024-10-26T22:15:21.784396009Z     self.handle_one_request()
2024-10-26T22:15:21.784528152Z   File "/usr/local/lib/python3.12/http/server.py", line 424, in handle_one_request
2024-10-26T22:15:21.784892417Z     method()
2024-10-26T22:15:21.785022207Z   File "/usr/src/app/./app.py", line 50, in do_GET
2024-10-26T22:15:21.785133745Z     self._error(e)
2024-10-26T22:15:21.785230833Z   File "/usr/src/app/./app.py", line 27, in _error
2024-10-26T22:15:21.785374280Z     self.end_headers()
2024-10-26T22:15:21.785496450Z   File "/usr/local/lib/python3.12/http/server.py", line 538, in end_headers
2024-10-26T22:15:21.785606428Z     self.flush_headers()
2024-10-26T22:15:21.785697012Z   File "/usr/local/lib/python3.12/http/server.py", line 542, in flush_headers
2024-10-26T22:15:21.785800081Z     self.wfile.write(b"".join(self._headers_buffer))
2024-10-26T22:15:21.785899353Z   File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-26T22:15:21.785999264Z     self._sock.sendall(b)
2024-10-26T22:15:21.786087818Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-26T22:15:21.786179593Z ----------------------------------------

Same thing again

2024/10/26 15:15:25.847026 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Samsung container log
2024-10-26T22:15:33.560914247Z Including channels from regions: ['us']
2024-10-26T22:15:33.561195371Z 192.168.144.1 - - [26/Oct/2024 15:15:33] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-26T22:15:33.563581368Z 192.168.144.1 - - [26/Oct/2024 15:15:33] "GET /playlist.m3u8 HTTP/1.1" 500 -
2024-10-26T22:15:33.563876285Z ----------------------------------------
2024-10-26T22:15:33.564048296Z Exception occurred during processing of request from ('192.168.144.1', 44482)
2024-10-26T22:15:33.566271507Z Traceback (most recent call last):
2024-10-26T22:15:33.567308958Z   File "/usr/src/app/./app.py", line 48, in do_GET
2024-10-26T22:15:33.567578127Z     routes[func]()
2024-10-26T22:15:33.567756765Z   File "/usr/src/app/./app.py", line 96, in _playlist
2024-10-26T22:15:33.567876033Z     self.wfile.write(f'#EXTINF:-1 channel-id="{channel_id}" tvg-id="{key}" tvg-logo="{logo}" group-title="{group}"{chno},{name}\n{url}\n'.encode('utf8'))
2024-10-26T22:15:33.568022258Z   File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-26T22:15:33.568148127Z     self._sock.sendall(b)
2024-10-26T22:15:33.568257951Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-26T22:15:33.568425334Z 
2024-10-26T22:15:33.568528515Z During handling of the above exception, another exception occurred:
2024-10-26T22:15:33.568636881Z 
2024-10-26T22:15:33.568718266Z Traceback (most recent call last):
2024-10-26T22:15:33.569821053Z   File "/usr/local/lib/python3.12/socketserver.py", line 692, in process_request_thread
2024-10-26T22:15:33.570101846Z     self.finish_request(request, client_address)
2024-10-26T22:15:33.570298345Z   File "/usr/local/lib/python3.12/socketserver.py", line 362, in finish_request
2024-10-26T22:15:33.570580709Z     self.RequestHandlerClass(request, client_address, self)
2024-10-26T22:15:33.570748220Z   File "/usr/src/app/./app.py", line 23, in __init__
2024-10-26T22:15:33.570897983Z     super().__init__(*args, **kwargs)
2024-10-26T22:15:33.571043355Z   File "/usr/local/lib/python3.12/socketserver.py", line 761, in __init__
2024-10-26T22:15:33.571192915Z     self.handle()
2024-10-26T22:15:33.571622028Z   File "/usr/local/lib/python3.12/http/server.py", line 436, in handle
2024-10-26T22:15:33.571847537Z     self.handle_one_request()
2024-10-26T22:15:33.571991319Z   File "/usr/local/lib/python3.12/http/server.py", line 424, in handle_one_request
2024-10-26T22:15:33.572553375Z     method()
2024-10-26T22:15:33.572735818Z   File "/usr/src/app/./app.py", line 50, in do_GET
2024-10-26T22:15:33.572883291Z     self._error(e)
2024-10-26T22:15:33.573016765Z   File "/usr/src/app/./app.py", line 27, in _error
2024-10-26T22:15:33.573160596Z     self.end_headers()
2024-10-26T22:15:33.573290232Z   File "/usr/local/lib/python3.12/http/server.py", line 538, in end_headers
2024-10-26T22:15:33.573537161Z     self.flush_headers()
2024-10-26T22:15:33.573677879Z   File "/usr/local/lib/python3.12/http/server.py", line 542, in flush_headers
2024-10-26T22:15:33.573835477Z     self.wfile.write(b"".join(self._headers_buffer))
2024-10-26T22:15:33.573982578Z   File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-26T22:15:33.574131134Z     self._sock.sendall(b)
2024-10-26T22:15:33.574267221Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-26T22:15:33.574518319Z ----------------------------------------

This has happened 12 times this month so far

2024/10/05 11:15:14.032575 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/05 12:15:09.694490 [ERR] Unexpected m3u response for SamsungTVPlus: 500 Internal Server Error
2024/10/05 12:15:21.712464 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/05 13:15:13.406329 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/05 13:15:25.428759 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/07 09:15:11.719993 [ERR] Unexpected m3u response for SamsungTVPlus: 500 Internal Server Error
2024/10/24 11:15:14.031980 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/24 11:15:26.050362 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/26 03:15:13.382200 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/26 03:15:25.403142 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/26 15:15:13.825703 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/26 15:15:25.847026 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

Anyone else experiencing this?

@matthuisman Any ideas? Is Samsung just taking too long to respond. I know they've gotten popular lately. My clocks are accurate, so the log timestamps are within less than a second difference.

Another two today.
Appears the container is saying the requests came in (31/Oct/2024 07:20:13) and (31/Oct/2024 07:20:52) 5 minutes after Channels says (2024/10/31 07:15:14) and (2024/10/31 07:15:26)
Channels log

2024/10/31 06:15:03.679528 [M3U] Refreshed lineup for SamsungTVPlus with 377 channels
2024/10/31 06:15:04.086873 [M3U] Refreshed lineup for SamsungTVPlusGracenote with 377 channels
2024/10/31 06:15:11.160043 [DVR] Fetched guide data for XMLTV-SamsungTVPlus in 881ms
2024/10/31 07:15:14.040285 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/31 07:15:26.057965 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/31 07:15:32.183379 [DVR] Reindexed 472 airings into XMLTV-tubiTVNoEpg (43 channels over 33h24m46s) + 1092 skipped [1s index]
2024/10/31 07:15:32.193779 [DVR]   pruned 46 replaced airings in 10ms.
2024/10/31 07:15:32.803551 [DVR] Fetched guide data for XMLTV-SamsungTVPlus in 609ms
Container log
2024-10-31T13:15:03.619636112Z Including channels from regions: ['us']
2024-10-31T13:15:03.619914740Z 192.168.144.1 - - [31/Oct/2024 06:15:03] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-31T13:15:04.026483343Z Including channels from regions: ['us']
2024-10-31T13:15:04.026677270Z 192.168.144.1 - - [31/Oct/2024 06:15:04] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-31T13:15:11.045653087Z 192.168.144.1 - - [31/Oct/2024 06:15:11] "GET /epg.xml.gz HTTP/1.1" 200 -
2024-10-31T14:15:32.679886722Z 192.168.144.1 - - [31/Oct/2024 07:15:32] "GET /epg.xml.gz HTTP/1.1" 200 -
2024-10-31T14:20:13.744804634Z Including channels from regions: ['us']
2024-10-31T14:20:13.745042045Z 192.168.144.1 - - [31/Oct/2024 07:20:13] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-31T14:20:13.746577275Z 192.168.144.1 - - [31/Oct/2024 07:20:13] "GET /playlist.m3u8 HTTP/1.1" 500 -
2024-10-31T14:20:13.747013000Z ----------------------------------------
2024-10-31T14:20:13.747164177Z Exception occurred during processing of request from ('192.168.144.1', 47114)
2024-10-31T14:20:13.749095325Z Traceback (most recent call last):
2024-10-31T14:20:13.750107749Z   File "/usr/src/app/./app.py", line 48, in do_GET
2024-10-31T14:20:13.750427391Z     routes[func]()
2024-10-31T14:20:13.750599739Z   File "/usr/src/app/./app.py", line 96, in _playlist
2024-10-31T14:20:13.750712962Z     self.wfile.write(f'#EXTINF:-1 channel-id="{channel_id}" tvg-id="{key}" tvg-logo="{logo}" group-title="{group}"{chno},{name}\n{url}\n'.encode('utf8'))
2024-10-31T14:20:13.751043667Z   File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-31T14:20:13.751194430Z     self._sock.sendall(b)
2024-10-31T14:20:13.751300732Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-31T14:20:13.751479272Z 
2024-10-31T14:20:13.751571225Z During handling of the above exception, another exception occurred:
2024-10-31T14:20:13.751676354Z 
2024-10-31T14:20:13.751756269Z Traceback (most recent call last):
2024-10-31T14:20:13.752125800Z   File "/usr/local/lib/python3.12/socketserver.py", line 692, in process_request_thread
2024-10-31T14:20:13.752389339Z     self.finish_request(request, client_address)
2024-10-31T14:20:13.752569969Z   File "/usr/local/lib/python3.12/socketserver.py", line 362, in finish_request
2024-10-31T14:20:13.752772197Z     self.RequestHandlerClass(request, client_address, self)
2024-10-31T14:20:13.752920742Z   File "/usr/src/app/./app.py", line 23, in __init__
2024-10-31T14:20:13.753035712Z     super().__init__(*args, **kwargs)
2024-10-31T14:20:13.753214880Z   File "/usr/local/lib/python3.12/socketserver.py", line 761, in __init__
2024-10-31T14:20:13.753411281Z     self.handle()
2024-10-31T14:20:13.753541131Z   File "/usr/local/lib/python3.12/http/server.py", line 436, in handle
2024-10-31T14:20:13.753653779Z     self.handle_one_request()
2024-10-31T14:20:13.753749299Z   File "/usr/local/lib/python3.12/http/server.py", line 424, in handle_one_request
2024-10-31T14:20:13.753851732Z     method()
2024-10-31T14:20:13.753940981Z   File "/usr/src/app/./app.py", line 50, in do_GET
2024-10-31T14:20:13.754038430Z     self._error(e)
2024-10-31T14:20:13.754133597Z   File "/usr/src/app/./app.py", line 27, in _error
2024-10-31T14:20:13.754228985Z     self.end_headers()
2024-10-31T14:20:13.754315911Z   File "/usr/local/lib/python3.12/http/server.py", line 538, in end_headers
2024-10-31T14:20:13.754462107Z     self.flush_headers()
2024-10-31T14:20:13.754558905Z   File "/usr/local/lib/python3.12/http/server.py", line 542, in flush_headers
2024-10-31T14:20:13.754662797Z     self.wfile.write(b"".join(self._headers_buffer))
2024-10-31T14:20:13.754762324Z   File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-31T14:20:13.754860780Z     self._sock.sendall(b)
2024-10-31T14:20:13.754951481Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-31T14:20:13.755043023Z ----------------------------------------
2024-10-31T14:20:52.578998460Z Including channels from regions: ['us']
2024-10-31T14:20:52.579253040Z 192.168.144.1 - - [31/Oct/2024 07:20:52] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-31T14:20:52.581123998Z 192.168.144.1 - - [31/Oct/2024 07:20:52] "GET /playlist.m3u8 HTTP/1.1" 500 -
2024-10-31T14:20:52.581536693Z ----------------------------------------
2024-10-31T14:20:52.581684355Z Exception occurred during processing of request from ('192.168.144.1', 47116)
2024-10-31T14:20:52.583892867Z Traceback (most recent call last):
2024-10-31T14:20:52.584718214Z   File "/usr/src/app/./app.py", line 48, in do_GET
2024-10-31T14:20:52.584956069Z     routes[func]()
2024-10-31T14:20:52.585134583Z   File "/usr/src/app/./app.py", line 96, in _playlist
2024-10-31T14:20:52.585261888Z     self.wfile.write(f'#EXTINF:-1 channel-id="{channel_id}" tvg-id="{key}" tvg-logo="{logo}" group-title="{group}"{chno},{name}\n{url}\n'.encode('utf8'))
2024-10-31T14:20:52.585667204Z   File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-31T14:20:52.585845714Z     self._sock.sendall(b)
2024-10-31T14:20:52.585963057Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-31T14:20:52.586066723Z 
2024-10-31T14:20:52.586152165Z During handling of the above exception, another exception occurred:
2024-10-31T14:20:52.586256214Z 
2024-10-31T14:20:52.586396895Z Traceback (most recent call last):
2024-10-31T14:20:52.586745224Z   File "/usr/local/lib/python3.12/socketserver.py", line 692, in process_request_thread
2024-10-31T14:20:52.586975004Z     self.finish_request(request, client_address)
2024-10-31T14:20:52.587159589Z   File "/usr/local/lib/python3.12/socketserver.py", line 362, in finish_request
2024-10-31T14:20:52.587323633Z     self.RequestHandlerClass(request, client_address, self)
2024-10-31T14:20:52.587541124Z   File "/usr/src/app/./app.py", line 23, in __init__
2024-10-31T14:20:52.587723991Z     super().__init__(*args, **kwargs)
2024-10-31T14:20:52.587848653Z   File "/usr/local/lib/python3.12/socketserver.py", line 761, in __init__
2024-10-31T14:20:52.587956789Z     self.handle()
2024-10-31T14:20:52.588047088Z   File "/usr/local/lib/python3.12/http/server.py", line 436, in handle
2024-10-31T14:20:52.588151002Z     self.handle_one_request()
2024-10-31T14:20:52.588242977Z   File "/usr/local/lib/python3.12/http/server.py", line 424, in handle_one_request
2024-10-31T14:20:52.588397571Z     method()
2024-10-31T14:20:52.588510933Z   File "/usr/src/app/./app.py", line 50, in do_GET
2024-10-31T14:20:52.588617922Z     self._error(e)
2024-10-31T14:20:52.588719559Z   File "/usr/src/app/./app.py", line 27, in _error
2024-10-31T14:20:52.588815639Z     self.end_headers()
2024-10-31T14:20:52.588905170Z   File "/usr/local/lib/python3.12/http/server.py", line 538, in end_headers
2024-10-31T14:20:52.589007130Z     self.flush_headers()
2024-10-31T14:20:52.589098567Z   File "/usr/local/lib/python3.12/http/server.py", line 542, in flush_headers
2024-10-31T14:20:52.589198599Z     self.wfile.write(b"".join(self._headers_buffer))
2024-10-31T14:20:52.589297615Z   File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-31T14:20:52.589445581Z     self._sock.sendall(b)
2024-10-31T14:20:52.589545713Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-31T14:20:52.589640117Z ----------------------------------------

My clocks are accurate, so the log timestamps are within less than a second difference.
My Windows PC


Samsung container console next to Windows clock

Channels DVR Server container console next to Windows clock

Still getting the errors.

2024/11/03 09:15:02.888029 [ERR] Failed to download XMLTV-SamsungTVPlus: xmltv fetch: GET: http://192.168.1.3:8182/epg.xml.gz: 404 Not Found: "404: Not Found"
2024/11/03 09:20:17.855072 [ERR] Failed to download XMLTV-SamsungTVPlus: xmltv fetch: GET: http://192.168.1.3:8182/epg.xml.gz: 404 Not Found: "404: Not Found"
2024/11/06 09:21:12.003050 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/11/06 09:21:24.003947 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

Lineup being updated daily. XMLTV guide updates hourly.

A post was merged into an existing topic: Frndly TV for Channels

There has been some changes to the file this app uses to generate its playlist.

I have just pushed a new docker container to work with those latest changes.
Please update to keep using this.

Notes:
The epg url is now just /epg.xml (not /epg.xml.gz)
The default region is now ALL (not us)
Either use REGIONS env variable or ?regions=us on the playlist url

Have had reports that's more reliable than the gz version

Thank you :slight_smile:

Okay, so I updated and the xml guide loaded fine, but the m3u (both direct and with the region) wouldn't load. Just trying to get the landing page to load took a while, like a couple of minutes. Then, after resetting the container, it just sat there loading for almost five minutes before coming up. The only thing in the logs was this:

2024-11-07 09:26:37 10.255.1.100 - - [07/Nov/2024 14:26:37] "GET / HTTP/1.1" 200 -

Yet, after that, the m3u's did load with no issue!

Thank You Matt
Playlist and epg are loading instantly, working for me so far.

Updated container. It would not load its web page to get the urls.
I rebooted the device docker was on, probably could have just restarted the container, and now it works fine.
The URL of playlists changed. I was just using default, no region defined, which was just US, now the main url of the playlist is ALL regions.
I had to select and change the url in Channels for the US region, else there was 750 channels...

1 Like

Hmm. Not sure what you were using, but the default REGIONS has been all since the last docker image update in August Samsung TV Plus for Channels which is also the last time the playlist changed (from .m3u to .m3u8).

I set the env var REGIONS=us in my Portainer stack when I updated back then.
I didn't have to change the playlist url, just the epg url for this update.

I never set a region in the URL, and it only pulled US.
192.168.0.xx:8182/playlist.m3u8

Must have been using a older container then? idk

I'm with you, @speedingcheetah; this was the first time I had to put the region code in, was a little surprised to see it. Not a big deal, easy enough, but I'm pretty sure I've been up to date this entire time.

1 Like

Was announced in the old topic thread here Samsung TV Plus for Channels [retired] - #383 by matthuisman

Another Project One-Click update needed for the custom M3U channel settings, epg url changed.

And the default REGIONS changed from us to all.

the default region changed from us to all last week.

Samsung TV Plus for Channels has been updated.
You can either add the docker environment variable, or use the url like this: /playlist.m3u8?regions=us

1 Like

I would like to suggest people look at Samsung India source and consider adding it as it has many English Pay cable channels Not available on any other fast services giving unlimited connections that helps add quite a few pay cable channels lightening the load on the slots as many tve providers limit number of connections. Very helpful especially if you have a lot of clients :fist:t2::clap:t2::+1:t2:

1 Like

Thanks for pointing the way. In an update to bnhf/olivetin:latest (aka bnhf/olivetin:2024.11.08), pushed this morning, the epg URL has been modified. I was already using the environment variable REGIONS, with us as the default -- so I believe the other change is covered.

1 Like