You most likely will need to use the https link you found.
https://your-link-here.m3u8
But this is getting off-track for this Topic.
You most likely will need to use the https link you found.
https://your-link-here.m3u8
But this is getting off-track for this Topic.
Tried that but I agree that we're off topic. I won't address it any more in this thread.
I think Roku just went all DRM- investigating. Anyone else having issues there?
Edit- false alarm but exposed a bug. Getting update out today hopefully. Roku may be unavailable until update fyi.
i'm still seeing the this old house roku channel and its streaming - so at least something hasn't gone drm
Seeing some channels are DRM and some are not. All BBC Channels and Cinevault are DRM, America's Funniest Videos, Brit box are not. Will keep checking.
Ran an audit, looks like almost half are DRM:
Every time I attempt to run an audit on the Roku Channels, it crashes out after 20 consecutive errors.
2026-03-22 08:39:25,729 WARNING app.scrapers.roku: [roku] resolve 924a9ed81b5f641455956ea49837d6c5 failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:25,730 WARNING app.worker: [audit] resolve failed for All Reality: [roku] playback request failed for 924a9ed81b5f641455956ea49837d6c5: [roku] channel not found (404): 924a9ed81b5f641455956ea49837d6c5
2026-03-22 08:39:25,891 WARNING app.scrapers.roku: [roku] resolve 28f080847cc30553c07d622f32d75148 failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:25,891 WARNING app.worker: [audit] resolve failed for Kanal D Drama: [roku] playback request failed for 28f080847cc30553c07d622f32d75148: [roku] channel not found (404): 28f080847cc30553c07d622f32d75148
2026-03-22 08:39:26,134 WARNING app.scrapers.roku: [roku] resolve c5b76a0244cfd04369cc91d1b1df073b failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:26,134 WARNING app.worker: [audit] resolve failed for Paramount+: [roku] playback request failed for c5b76a0244cfd04369cc91d1b1df073b: [roku] channel not found (404): c5b76a0244cfd04369cc91d1b1df073b
2026-03-22 08:39:26,353 WARNING app.scrapers.roku: [roku] resolve e4fee2cfa7f76fe139f29661f2c4faca failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:26,353 WARNING app.worker: [audit] resolve failed for Paramount+: [roku] playback request failed for e4fee2cfa7f76fe139f29661f2c4faca: [roku] channel not found (404): e4fee2cfa7f76fe139f29661f2c4faca
2026-03-22 08:39:26,728 WARNING app.scrapers.roku: [roku] resolve 404fb3eabd60b97970d2818a02085cca failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:26,728 WARNING app.worker: [audit] resolve failed for BET+: [roku] playback request failed for 404fb3eabd60b97970d2818a02085cca: [roku] channel not found (404): 404fb3eabd60b97970d2818a02085cca
2026-03-22 08:39:26,930 WARNING app.scrapers.roku: [roku] resolve b479644ade35ebeb4e40a0b837b0cf38 failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:26,930 WARNING app.worker: [audit] resolve failed for BET+: [roku] playback request failed for b479644ade35ebeb4e40a0b837b0cf38: [roku] channel not found (404): b479644ade35ebeb4e40a0b837b0cf38
2026-03-22 08:39:27,191 WARNING app.scrapers.roku: [roku] resolve 5fe1985db42bbeb7956e64dd388b3fb0 failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:27,192 WARNING app.worker: [audit] resolve failed for FlixLatino: [roku] playback request failed for 5fe1985db42bbeb7956e64dd388b3fb0: [roku] channel not found (404): 5fe1985db42bbeb7956e64dd388b3fb0
2026-03-22 08:39:27,638 WARNING app.scrapers.roku: [roku] resolve aed88adcada400e0ea6ed621100b01e5 failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:27,638 WARNING app.worker: [audit] resolve failed for Inside Outside House and Garden: [roku] playback request failed for aed88adcada400e0ea6ed621100b01e5: [roku] channel not found (404): aed88adcada400e0ea6ed621100b01e5
2026-03-22 08:39:28,031 WARNING app.scrapers.roku: [roku] resolve 2a01d73722e80d1e34eccbea32d90c2c failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:28,032 WARNING app.worker: [audit] resolve failed for Dove Channel: [roku] playback request failed for 2a01d73722e80d1e34eccbea32d90c2c: [roku] channel not found (404): 2a01d73722e80d1e34eccbea32d90c2c
2026-03-22 08:39:28,232 WARNING app.scrapers.roku: [roku] resolve 1ea82fc720b522b91f9cc5d2031b27d5 failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:28,233 WARNING app.worker: [audit] resolve failed for REELZ+: [roku] playback request failed for 1ea82fc720b522b91f9cc5d2031b27d5: [roku] channel not found (404): 1ea82fc720b522b91f9cc5d2031b27d5
2026-03-22 08:39:29,950 WARNING app.scrapers.roku: [roku] resolve af930ee1b8139a9a45f542d3f622deba failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:29,950 WARNING app.worker: [audit] resolve failed for Acorn TV: [roku] playback request failed for af930ee1b8139a9a45f542d3f622deba: [roku] channel not found (404): af930ee1b8139a9a45f542d3f622deba
2026-03-22 08:39:30,388 WARNING app.scrapers.roku: [roku] resolve 3df80083619d74d6dbd4a9f8634c6499 failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:30,389 WARNING app.worker: [audit] resolve failed for Vix Premium (fka Vix+): [roku] playback request failed for 3df80083619d74d6dbd4a9f8634c6499: [roku] channel not found (404): 3df80083619d74d6dbd4a9f8634c6499
2026-03-22 08:39:30,748 WARNING app.scrapers.roku: [roku] resolve cf90364b0d4bfe61f174410768242271 failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:30,749 WARNING app.worker: [audit] resolve failed for Demand Africa: [roku] playback request failed for cf90364b0d4bfe61f174410768242271: [roku] channel not found (404): cf90364b0d4bfe61f174410768242271
2026-03-22 08:39:31,190 WARNING app.scrapers.roku: [roku] resolve d029ed1993086247927c167273c8a67a failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:31,190 WARNING app.worker: [audit] resolve failed for Discovery+: [roku] playback request failed for d029ed1993086247927c167273c8a67a: [roku] channel not found (404): d029ed1993086247927c167273c8a67a
2026-03-22 08:39:33,684 WARNING app.scrapers.roku: [roku] resolve 741ab02548ca3e55975f9121c24cc38e failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:33,684 WARNING app.worker: [audit] resolve failed for Discovery+: [roku] playback request failed for 741ab02548ca3e55975f9121c24cc38e: [roku] channel not found (404): 741ab02548ca3e55975f9121c24cc38e
2026-03-22 08:39:34,088 WARNING app.scrapers.roku: [roku] resolve 9627a4220ed8700fb498851dd2a3e454 failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:34,089 WARNING app.worker: [audit] resolve failed for Max: [roku] playback request failed for 9627a4220ed8700fb498851dd2a3e454: [roku] channel not found (404): 9627a4220ed8700fb498851dd2a3e454
2026-03-22 08:39:34,268 WARNING app.scrapers.roku: [roku] resolve e57998743662aaafdbd3231059e20b44 failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:34,269 WARNING app.worker: [audit] resolve failed for AllBlk: [roku] playback request failed for e57998743662aaafdbd3231059e20b44: [roku] channel not found (404): e57998743662aaafdbd3231059e20b44
2026-03-22 08:39:34,634 WARNING app.scrapers.roku: [roku] resolve 401bd31538a2019a3c0d1c933f09d0ab failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:34,634 WARNING app.worker: [audit] resolve failed for crunchyroll: [roku] playback request failed for 401bd31538a2019a3c0d1c933f09d0ab: [roku] channel not found (404): 401bd31538a2019a3c0d1c933f09d0ab
2026-03-22 08:39:34,819 WARNING app.scrapers.roku: [roku] resolve 6dc4391c2c0f0e9ffb75451f6322400b failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:34,819 WARNING app.worker: [audit] resolve failed for Fox Nation: [roku] playback request failed for 6dc4391c2c0f0e9ffb75451f6322400b: [roku] channel not found (404): 6dc4391c2c0f0e9ffb75451f6322400b
2026-03-22 08:39:34,997 WARNING app.scrapers.roku: [roku] resolve 2fa657460bdeae7627bd9c5cfd0063e4 failed stage=content play_id_cache=False selector_cache=False content_lookup=True
2026-03-22 08:39:34,997 WARNING app.worker: [audit] resolve failed for Passionflix: [roku] playback request failed for 2fa657460bdeae7627bd9c5cfd0063e4: [roku] channel not found (404): 2fa657460bdeae7627bd9c5cfd0063e4
2026-03-22 08:39:34,997 ERROR app.worker: [audit] roku: 20 consecutive errors β aborting.
2026-03-22 08:39:35,487 INFO app.worker: [audit] roku: done β total=508 checked=346 flagged=0 dead=0 errors=20
Yep working on that now.
β v2.1.0
Gracenote improvements
Roku
Reliability
Logo cache
Worker
Notice on feeds, a Overlap warning. What is this checking for?
As my feed it warns on does not overlap.
Only 3 channels starting at 1600, so 1600 - 1602.
The other feeds are starting at 2000, and 4000.

Note. All channels in each source are disabled save for the ones i am including in each feed.
So, i assume i can safely ignore this warning?
I should probably check into that. It wonβt hurt anything as Channels wonβt allow duplicates.
Edit on version 2.1.2 Roku should work now
I just started to play with this today. Looks fantastic. 
How do you know when the Stream Audit completes?
@KineticMan
I am attempting to run 2 instances of this on docker (in my test setup first).
(I want to have one instance per CDVR server, and i have 2)
I changed the two port number in the compose for the 2nd instance and the name
services:
fastchannels:
image: ghcr.io/kineticman/fastchannels:latest
container_name: fastchannels2
restart: unless-stopped
ports:
- "5524:5524"
volumes:
- db_data:/data
volumes:
db_data:
But, i notice that the port number change is not honored when the container boots up.
Gunicorn also is always on port 5523
I ran a stream audit using 2.1.0. It was the first time it has made it completely through all 794 channels. 356 remain after weeding out the DRM and dead feeds.
I'll run through them again now that I have updated to 2.1.2.
UPDATE: After a second stream audit, the final count of channels from the Roku source stands at 356.
This is not how it's done. Left of the colon is the host port, to the right is the container port. Should be:
ports:
- 5524:5523
Note the quotes are not needed -- not sure why people use them...
haha you can force overlaps on channels with forcing virtual channels to a number that already exists
It uh creates interesting problems
I have also taken your advice - pared down the list of channels - split the list between 2 m3u's by provider and only using slm for other stuff
Much better
You also need to change the volume name for your second one.
Try this
volumes:
- db_data2:/data
volumes:
db_data2:
And you should also change the service name
Don't both need to be changed? You can't have 2 of the same thing running on the same ports right?
You can have multiple containers using the same port (inside the containers) with bridge networking.
You must map the container port (to the right of the :) to your host OS port (to the left of the :)
Your host OS can only have one container mapped to a specific port.
Thanks yall. Those changes seems to have done it.
Now i know.
A few nitpicky things left...but will save for a bit later...
EDIT: Ok, just one nitpick...
Could you add a option to show/hide disabled Sources on the Sources Page?
Really would like to see a cleaned up page and not have to scroll so much.
Most importantly though, really could use a Backup/Restore function, or some sort Export/Inport user settings.
So that, if something happens, i can just Inport all my enabled/disabled channels and feeds and settings etc. Atm, i am not even sure how to go about backing up changes. Aside from the OS built in system image abilty.
Additionally, for my mothers DVR, she has over 100+ FAST channels enabled/set to FAV.
I have a simple .txt doc of the names of each channel...would be cool is i could just dump the list into FAST and it enable just those channels, or at least, show them in search so that i can enable them. Or read it in as a .csv...
Vs, having to type each one, or enable just those, or add to a feed etc.
Long winded way of me saying....wish there was a way of searching for, or enabling channels in bulk.
Just trying to find a better way to do this that is not so tedious.