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

nocords.xyz also updated. thanks for the quick fix!

3 Likes

Just checked and apparently PASS is working now :wink::+1:

Still under previous 1.28 version

2 Likes

Just updated to 1.2.9 but still see the version did not change in the (http://127.0.0.1:8080/) view

I guess this is normal right given the address you are using
Or did you forget to update that upon update ?
Thx

image

1 Like

That page points to the URLs from the Docker version you have installed on that same server. Hank’s non-Docker method uses different URLs from nocords.xyz

These sources have been working pretty well, so thanks again for making them! I'm encouraging everyone I know using Channels to get on board with them, too.

You had me at "twelve bucks". Keep up the good work.

1 Like

Thank you. Enjoy!

Just donated via PayPal. Thanks for providing this service!

2 Likes

Hi folks,

Two small requests -- if you are using the ?cb=[handle] URL parameters on the Pluto and Stirr links (discussed up-thread), please remove them, so the edge caching will work better. Please use the original base links (with no URL parameters) posted on the https://nocords.xyz website and in the first post.

Second, there's one user out there who has the Pluto Playlist file setting as: "https://nocords.xyz/pluto/playlist.m3u " <<<-- notice the space on the end. This is causing the server to respond with a "404" error and you're not getting any Pluto M3U updates. This user appears to be in the SF Bay area (possibly Santa Clara) and is an sbcglobal.net subscriber. Please adjust your settings to remove that extra space.
Thank you.

1 Like

Just a quick update. I've enabled edge caching with Cloudflare so that will relieve the bulk of the bandwidth requirements on the origin server. But we lose the ability to give you feedback on the main nocords.xyz site of the last time you accessed the M3U and EPG file (helpful to diagnose data issues). The real-time map is no longer an accurate representation of traffic, so I've removed those things.

But if you are curious of the last time the files were refreshed in the edge cache, I've included this data in the https response headers (you can use curl, chrome inspector, or your tool of choice to view the response headers).

Look for the headers that begin with x-channels,like so:

x-channels-pluto-m3u: Tue, 02 Nov 2021 15:03:08 -0400
x-channels-pluto-epg: Tue, 02 Nov 2021 15:03:09 -0400
x-channels-stirr-m3u: Tue, 02 Nov 2021 15:03:09 -0400
x-channels-stirr-epg: Tue, 02 Nov 2021 14:40:09 -0400

This shows the last time the edge cache pulled the source files from the origin server. If you want to see the times these files were last refreshed on the origin server, that info is still on the https://nocords.xyz home page.

The source files are regenerated every 30 minutes, and the edge cache has a max age of 30 minutes. So in an absolute worst case scenario, you might get data that's no more than one hour old.

5 Likes

you can use CF's API to purge the cache after you change files :slight_smile:
This is what I do for nearly all my content.
After generating new files, I call the CF API to clear the cache on those files so the next request to them will get the files.

def purge_urls(urls):
    def chunks(l, n):
        for i in range(0, len(l), n):
            yield l[i:i + n]

    for chunk in chunks(urls, 30):
        print('Cache Purge: {}'.format(chunk))
        r = requests.post('https://api.cloudflare.com/client/v4/zones/{}/purge_cache'.format(CF_ZONE_ID), headers={'X-Auth-Email': CF_EMAIL, 'X-Auth-Key': CF_KEY}, json={'files': chunk})
        assert r.json()['success'] == True
1 Like

Sure, I could do that, but what I have now also does what we need pretty well. The edge cache is automatically refreshed every 30 minutes (or until someone hits the URLs after the edge cache expires). This way, the files people access are always no more than 60 minutes old (worst case scenario). And nobody needs updates more frequently than that, and the ChannelsDVR server only allows updates every hour.

1 Like

what a cool solution, i had never looked at pluto or stirr before this

I note the stirr channels all are in the 9000 range

The pluto channels unfortunately seem to be in the same ranges as my hdhomerun prime channels - is that expected? is there an easy for me to say put all puto channels in the 8000 range?

1 Like

Yes, via this setting:

1 Like

Well that was easy, thanks!

I note that the pluto EPG starts right after the the stirr EPG ends.
What happens if stirr adds more channels - does that just get appended after the current set of stirr+pluto?

And i set refresh to daily given the bandwidth messages... is that ok?

Thanks, but you can select whatever EPG refresh setting you want. We've solved the EPG bandwidth issues. :slight_smile:

Also, later today I'm going to look into allowing people to assign their own custom starting channel number for Pluto and Stirr. No promises, but I think it's doable. Stay tuned.

6 Likes

Setting starting channel number for each provider would be most welcome. I hope it works!

1 Like

EDIT: It's now working with both PlutoTV and STirr!

Well, that was a fail. I can easily change the channel numbers in the M3U file and it works great.
But when I do that (and leave the epg.xml file alone), it farks up the guide. It appears that previous channel assignments are not cleared out. I now have three sets of PlutoTV channels in the guide with really odd channel numbers (only one set being the custom numbers I assigned). Also, the correct custom channel numbers ranges are all HD channels, and the orphaned ones are non-HD (using the Guide filter).

Maybe this is asking too much (it sure is!), but having an option in the "Custom Channels--Source--Options--Starting Channel #" setting would be awesome, and just let ChannelsDVR manipulate the channel numbers internally.

But if people want to try it themselves for PlutoTV, use this link for the M3U URL:

https://nocords.xyz/pluto/custom.php?start=10

(starts PlutoTV channels at 10). Use at your own risk. :slight_smile:

1 Like

Under Guide Database in the webUI:

CleanShot 2021-11-07 at 08.28.15

1 Like

Great, I missed that there! Thanks.