Pluto for Channels

I am advocating for a alternative deployment. When they come up with a Docker solution, I will consider it. I will also consider contributing to their attempt to monetize the solution.

Yessir you did, but she responded to my older post with the old links before any newer methods, so just wanted to make sure she isn't using the old links.

thanks! I switched it. It did freeze on me a couple of times. Thank you all for your help!

1 Like

I’m sorry, I don’t understand, If you want to use Docker, use Docker. That’s what maddox’s code on GitHub is for, Nocords.xyz is for people who don’t want to use Docker. But the end result is the same, So what are advocating a change to?

I was referring to the discussion of SamsungTV Plus above.

Oh, in that case, using the Docker that @matthuisman created (as a test) passes along the exact same data you'd get, if you just subscribed directly to the URLs themselves: Index of /SamsungTVPlus/

So do whatever you want, both solutions co-exist, and work fine. I'm still not understanding what you're advocating a change to.

1 Like

I misinterpreted your comment about the Docker solution. For whatever reason, I thought you were saying one provided better data than the other. My mistake.

i.mjh.nz is me :slight_smile:
(mjh is my initials)

others playing the same channels shouldn't affect your playback.
It more is probably due to x-discontinuity (ad breaks) in the playlist themselves.
As far as I know - ffmpeg player doesn't really support them
https://trac.ffmpeg.org/ticket/5419
(unless channels has integrated that patch into the ffmpeg they use?)

but if you confirm the other Docker or xcords doesn't have the same issue, then maybe I can look into it some more.

2 Likes

Hi Matt,

I think the core of the problem is that in your all.m3u8 file for PlutoTV, you have:

deviceId=%7BPSID%7D or translated:
deviceId={BPSID}

The problem I believe (I'm definitely no expert on this) is that BPSID has to be unique for each user that accesses the file. When PlutoTV sees the identical deviceId across multiple users when using your file, it blocks them.

https://nocords.xyz gives each user who accesses the file a unique deviceId to prevent the blocks/interruptions. At least that's how I think it works with PlutoTV.

oh right - of course. in my kodi add-on (where most my users are) I replace those with unique ids

thanks for the reply :slight_smile:

PS: Are you generating the m3u8 on every call to replace the ids?
Or using something like Cloudflare Workers?

Yup. I could use CF workers, but it's easier this way to do it on the server. The impact on bandwidth for the m3u files is minimal since they're only updated once per day at most. It's the program guide that really sucks up the bandwidth, but I have those edge cached and refreshed once every 30 minutes.

I've updated our DVR to replace the deviceId= with a unique value as well. Will be in the next build.

5 Likes

waynes-world-game-on

oh, i was going to suggest Channels implements some sort of template tags that get replaced when parsing playlists in Channels itself.

eg deviceID={uuid1}&SID={uuid4}

How have you done it at present?
Just looking for a param called deviceId?

Yea it looks for deviceId and sid and replaces them with uuid1 and uuid4. It could be made more generic.

maybe just keep with what Pluto uses then?
%7BPSID%7D / {PSID} = replace with uuid1

instead of looking for deviceID and SID just look for %7BPSID%7D / {PSID} and replace that?

Gotcha. I didn't realize the convention was coming from them.

awesome, also note: %7BPSID%7D = {PSID} (I had an extra B in the url decoded earlier)

so in my add-on, I just do
url = channel['url'].replace('%7BPSID%7D', device_id).replace('{PSID}', device_id)
just in-case it's not url encoded for some reason.

Ive also just updated my Pluto lists to go back to using the Pluto urls (not Samsung urls)
So once Channels replaces %7BPSID%7D / {PSID} with uuid1 - it should work better now too.

Also, your generating a single uuid1 and using same one to replace all the urls?
That is wanted so the same "viewing session" is used between channels.
(Vs a unique {PSID} per channel)

1 Like

That's what nocords.xyz does.

1 Like

What you're talking about is a bit over my head so excuse the dumb question.
With the same "viewing session" for all channels, does that cause a problem when recording more than one channel at a time?