Pluto for Channels

Your DVR server is having DNS problems.
What happens when you
ping cfd-v4-service-channel-stitcher-use1-1.prd.pluto.tv

Check your DVR web UI Support > Troubleshooting to see if any errors there

1 Like

Thank you that fixed it. It would have taken me forever to figure that out! Was having issues last week getting my local FOX station to work via TVE so I was trying to mess with that. Changed the DNS back to the default and now all is good.

1 Like

Any ideas why Pluto for Channels is getting an ssl handshake error during EPG fetching?

Happened last Saturday and this morning, both at 16:00 UTC.
I have it fetch EPG every hour, and these are the only two so far.

2023-11-11T16:00:00.796689575Z Woke at:  Sat Nov 11 08:00:00 PST 2023
2023-11-11T16:00:01.962421512Z [INFO] Grabbing EPG...
2023-11-11T16:00:01.985228365Z https://api.pluto.tv/v2/channels?start=2023-11-11%2008%3A00%3A00.000-0800&stop=2023-11-11%2014%3A00%3A00.000-0800
2023-11-11T16:00:02.008617252Z https://api.pluto.tv/v2/channels?start=2023-11-11%2014%3A00%3A00.000-0800&stop=2023-11-11%2020%3A00%3A00.000-0800
2023-11-11T16:00:02.011646789Z https://api.pluto.tv/v2/channels?start=2023-11-11%2020%3A00%3A00.000-0800&stop=2023-11-12%2002%3A00%3A00.000-0800
2023-11-11T16:00:02.013658477Z https://api.pluto.tv/v2/channels?start=2023-11-12%2002%3A00%3A00.000-0800&stop=2023-11-12%2008%3A00%3A00.000-0800
2023-11-11T16:00:02.603293323Z (node:5525) UnhandledPromiseRejectionWarning: Error: write EPROTO 139727984512328:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:ssl/record/rec_layer_s3.c:1543:SSL alert number 40
2023-11-11T16:00:02.603742529Z     at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:87:16)
2023-11-11T16:00:02.603996248Z (node:5525) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
2023-11-11T16:00:02.604569748Z (node:5525) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
2023-11-11T16:00:04.175606488Z mv: can't rename '*playlist.m3u': No such file or directory
2023-11-11T16:00:04.177293673Z mv: can't rename '*epg.xml': No such file or directory
2023-11-18T16:00:01.013572049Z Woke at:  Sat Nov 18 08:00:01 PST 2023
2023-11-18T16:00:02.337916948Z [INFO] Grabbing EPG...
2023-11-18T16:00:02.361825148Z https://api.pluto.tv/v2/channels?start=2023-11-18%2008%3A00%3A00.000-0800&stop=2023-11-18%2014%3A00%3A00.000-0800
2023-11-18T16:00:02.385614032Z https://api.pluto.tv/v2/channels?start=2023-11-18%2014%3A00%3A00.000-0800&stop=2023-11-18%2020%3A00%3A00.000-0800
2023-11-18T16:00:02.388909854Z https://api.pluto.tv/v2/channels?start=2023-11-18%2020%3A00%3A00.000-0800&stop=2023-11-19%2002%3A00%3A00.000-0800
2023-11-18T16:00:02.391161731Z https://api.pluto.tv/v2/channels?start=2023-11-19%2002%3A00%3A00.000-0800&stop=2023-11-19%2008%3A00%3A00.000-0800
2023-11-18T16:00:02.968809054Z (node:10397) UnhandledPromiseRejectionWarning: Error: write EPROTO 140100715208008:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:ssl/record/rec_layer_s3.c:1543:SSL alert number 40
2023-11-18T16:00:02.969310673Z     at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:87:16)
2023-11-18T16:00:02.969595432Z (node:10397) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
2023-11-18T16:00:02.969904947Z (node:10397) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
2023-11-18T16:00:04.567136281Z mv: can't rename '*playlist.m3u': No such file or directory
2023-11-18T16:00:04.568480339Z mv: can't rename '*epg.xml': No such file or directory

I'm hoping to add pluto-for-channels to Channels. I understand the gist of it is going to be like when I added Frndly.tv, but this doesn't seem to be quite as simple. I went to

https://github.com/maddox/pluto-for-channels

and I've gotta admit it wasn't clear to me exactly how to follow the steps provided. They seem to be fairly general in nature.

I downloaded the "Code" and extracted it, but I don't see what I expected would be an "image". Is it the "package.json" file? Is there somewhere I'm supposed to put it so Docker can find it?

I opened Windows PowerShell and ran

docker run -d --restart unless-stopped --name pluto-for-channels -p 8080:80 johnmaddox/pluto-for-channels

Not surprisingly, it wasn't going to be that simple. I got the response

Unable to find image 'johnmaddox/pluto-for-channels:latest' locally
docker: Error response from daemon: pull access denied for johnmaddox/pluto-for-channels, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.

I don't remember having to log in to Docker to install Frndly.tv, so I'm figuring the "image" has to be somewhere locally where Docker can find it. Right?

Try that?

Or try this -- much easier:

1 Like

I thought that's what I did.

I've been using Docker for Frndlytv for over a year. The biggest issue I had in setting that up was getting USERNAME and PASSWORD syntax correct, lol.

I don't know what is meant by "Copy the link on the right side (docker pull jonmaddox/pluto-for-channels)", and I'm certain that is where I got lost. From the drop-down when clicking on Code, there is a URL with a copy button next to it, but it just links to that page on GitHub.

Is there another link you're referring to?

YOu can also do the non docker version that Hank mentioned. It's easier. I moved from the Maddox one to that.
Andyes, I was referring to that post and the pull.Copy the whole docker pull command and then the docker run command

Follow this. Run from a windows CMD prompt (may need an admin CMD prompt), not powershell.

Before I saw HankLloydRight's reply, I changed the port to the one I use for frndlytv and the pulls were successful.

However, it doesn't seem to have completed properly as at the end of the feedback was

...docker: Error response from daemon: driver failed programming external connectivity on endpoint pluto-for-channels (69595319a2f0969974c347e5d3d3bb98f89bfd1a72c6ced28661c3f46c588254): Bind for 0.0.0.0:8183 failed: port is already allocated.

Does this mean I need to insert the IP address of the host PC?

You can't use the same port that your Frndly docker is using.

Good to know.

Changing the port from 8183 to 8184 cleared up that error, but this time there were no pulls.and the status page (http://127.0.0.1:8184) is not found.

I take that back - the page is found but the links for Playlist and EPG go to "Not Found"

Switch gears and use Hank's method. Very many of us have been down both roads before. Hank's method is 1000x easier to install and maintain.

1 Like

That's what I'll do. Do I have to install jsnode on the host computer? Of is it just a matter of creating a custom channel and using the links provided on https://nocords.xyz/?

Oh, THIS is what I was missing. I was using Powershell AND I didn't run the pull first.
Thanks!

But alas! I still get the Playlist and EPG links to a 404 Not Found page.

Now on to Hanks' method.

1 Like

Yes, this. No extra software is required on your side.

Using the links from nocords, I discovered a new error:

invalid source url: open https://nocords.xyz/pluto/playlist.m3u: The filename, directory name, or volume label syntax is incorrect.

I'm afraid this may be happening because our network at home has been plagued with DNS errors on a daily basis.

Nevermind - it worked the next time I tried it.

It's been a couple years since I last used Pluto and I had no idea it had so many channels!

Anyway - Thanks all!

1 Like

The link you used had a : at the end causing the error

The text file I created to document my efforts didn't have the colon after the m3u, so I think that's something that was added by the error string builder. My experience was pretty consistent with the kind of effects I'm familiar with from our DNS errors. There was just no "Retry" option in the Custom Channel builder and entering everything again worked the second time, thankfully.

BTW - I'm very appreciative of what you've done to make things so much easier for the Channels community. Thanks!

1 Like