Non-Docker source for PlutoTV and Stirr m3u playlists and EPG

Hello everyone,

I've created a little PHP project (repo) that can replace the need to have a local Docker instance for PlutoTV and Stirr.

It's very simple. For PlutoTV, the project runs a slightly modified version of the pluto-for-channels script by @maddox in nodejs on my web server (thanks @maddox and the dev team!) .

Then my PHP script just replaces the deviceID and sid URL parameters with uniquely generated UUIDs upon each page load. So every use/access of the playlist.m3u file from the website is unique.

This should prevent any conflicts, dropouts, and disconnects that other online/public m3u files may have caused which do not have unique URL parameters in the stream URLs.

You can access the resulting m3u and EPG files here: https://nocords.xyz/

Where we're going, we don't need 'cords'

These links should work exactly the same as the files created by the local Docker instance.
The underlying m3u and epg files are automatically updated on the backend every three hours.

If you would like to use custom channel numbering instead of the default, use this link instead, say if you wanted to start Pluto channel numbers at 5000:

For Stirr, the stirr-for-channels GO repo by @robbiet480 runs in the background every 30 minutes and uses the 'national' STATION-ID. Those links are here:

The github repo is here: GitHub - HankLloydRight/pluto-for-channels-php: A server side PHP implementation of the pluto-for-channels Docker repo

Let me know if you have any questions or comments. Thank you.

53 Likes
Pluto For Dummies
Pluto for Channels
To Docker or not to Docker? (Pros and Cons)
Hosting directories for additional channels?
Win10 Startup as Service - DVR and PlutoTV Docker
Custom Channels Master List *Update 5/12/23*
ADBTuner: A "channel tuning" application for networked Google TV / Android TV devices
Samsung TV Plus for Channels [retired]
Accuweather Channel
Guide for Dummies
Pluto M3U playlist/EPG source without running your own docker container
Stirr for Channels
Pluto TV and Stirr
Is commercial detection possible with Pluto TVE?
HDHomerun?
Pluto Guide info not updating
Request Pluto TV added to TV Everywhere, and Channels
Pluto setup issues
Can no longer access rasp pi dvr server
Issues with Pluto and Docker in TrueNAS linux VM
Latest on Streaming Services TVE availability
Free Ad supported channels?
Integrate Pluto TV into Channels
Integrate Pluto TV into Channels
Integrate Pluto TV into Channels
Using m3u for Pluto T
Docker Hub not working, trying to add Pluto TV
How do I add Pluto channels to Channels DVR Server?
Pluto program guide
Stirr for Channels
What is the easiest way to get a TV to talk to channels?
Pluto for Channels
Pluto for Channels
Pluto and Plex channels not updating
Pluto Guide is by hour, not program, so I cannot Record entire program
Thanks for the Pi
How do I install Docker on my Mac to use with Pluto
Pluto for Channels
All of my Sources show 0 Channels all of the sudden
Working non-Docker solution for Pluto & Plex custom channels?
Ability to import Pluto TV, Xumo, Roku TV, channels to tv guide
DVRDrive
Any way to access Pluto through channels?
Pluto for Channels
Pluto for Channels
Pluto for Channels
Channels DVR broke when adding Custom Channels
Pluto Holiday Channels added
Pluto For Dummies
Pluto TV
Pluto TV added recently 3 new channels
Total cost?
Pluto Holiday Channels added

Thank you so much!

2 Likes

Also to note: while the pluto-for-channels project was created as a container, there is nothing stopping a user from using it as the basis to extract the base program and run it locally. IIRC, it's nothing more than a node.js app.

3 Likes

Great contribution to the community! Is there going to be a cost for you in providing this? If so, are you going to have a method of accepting donations for those want to express their appreciation?

2 Likes

Hi, thanks for your feedback.

There's no cost to providing these links. IRL I run a few large websites and a dozen or so AWS instances, so this just lives within that infrastructure. No donations are necessary, but I really appreciate the offer!

If at some point the bandwidth becomes a significant cost factor, I may ask for donations, but I don't expect thousands of people to use this (but it would be cool if they did!).

Over the years I've benefited A LOT from open-source projects and services provided for free, so I'm happy for a change to be able to give back to not just this community, but the overall open-source movement.

22 Likes

Does the .m3u file update often? Should we copy that locally or run it from the URL?

Thank you for this!

The PlutoTV playlist.m3u file (this web link: https://nocords.xyz/pluto/playlist.m3u ) updates every time the file is downloaded**. You can just put that URL into the Channels admin and it will (a) always be up to date and (b) unique from every other instance.

The underlying .m3u file generated by the pluto-for-channels script is updated every three hours (same as the Docker instance does).

** While the filename is playlist.m3u, it's actually a dynamic PHP program in the background that generates a unique file every time it is downloaded or accessed.

3 Likes

Gotcha! So the .m3u file is dynamic as well. Thanks.

3 Likes

Thanks - Looks like it works

However, I always have issues creating Passes for recuring airings.
They seem not to work - Only a direct Record using the Guide works.

Any clues on how to fix this?

Thanks

Romain

Wow. Thanks. That was easy as pie. I kinda think that Channels is a premium service, these should already set up

5 Likes

Hi Romain,
I'm a bit new to Channels so I can't really tell you why that doesn't work.
Does creating Passes for recurring airings work with the Pluto-for-Docker m3u file but not for the nocords.xyz links?

4 Likes

There are guide limitations with Pluto, including episode IDs that are not unique. As a result, recording from Pluto may produce unexpected results. I think some of the channels have better data than others, so your experience may vary quite a bit depending on the channel.

3 Likes

You're welcome.
I'm sure they could, but probably don't for legal reasons.

2 Likes

I used DVR Channels in the past with locast and creating a PASS worked just fine

Now with Pluto, I would expect the same thing but apparently the way PASS works is not compatible with current EPG information (That PASS is using to identify a New program to record)...

Only a daily look at the Guide and press record works --- Not really user friendly ...

I actually went in the advanced mode for an individual PASS and saw there is a way to put different search strings for it... Will continue to see if I can find a solution there :wink: Stay tuned

1 Like

It has been mentioned before.
GIGO (Garbage In Garbage Out)
The Pluto EPG data coming from Pluto lacks a lot.

3 Likes

Ok, I've got GO running on the server, should have a non-Docker Stirr version up by tomorrow!

6 Likes

Ok, I did get Stirr to work for the "national" station ID.

I'll make a new thread for Stirr tomorrow. But for now if anyone wants to try it out tonight:

Start here (same as the Docker output) with Station ID, Channel count, Program count, and Last Update: https://nocords.xyz/

Direct links:
Playlist.m3u: https://nocords.xyz/stirr/playlist.m3u
epg.xml: https://nocords.xyz/stirr/epg.xml

This was quick and dirty and could change tomorrow based on feedback. But please feel free to try it out and report back any issues. Thanks.

5 Likes

Thank you for setting these up for our use!

1 Like

I already dumped Docker in favor of this. Pluto and Stirr was the only thing I was using Docker for so it was a no brainer.

1 Like

Great. Me too. :grinning:

PLEASE let me know if you have any issues with these m3u files -- i.e. disconnects, dropouts, etc.