FastChannels - FAST Channels aggregator/manager

On the Sources tab I just did a Force Complete Refresh and Audit All Sources.
No change. Mostly Vidaa (52) channels have been disabled, some Distro (12).

And while waiting for Audit All Sources to finish, I noticed when a source audit is in progress or completes you don't see a summary of what channels are dead, drm or had errors. Looking at the log doesn't show which channels had errors.

correct, it'd be too noisy to summarize the entire audit. it should show the summary in every source though (if you click stream audit)

I don't see that on sources


I don't mind looking for the errors in the log, but they're not there (only DRM and Dead are).

Audit button.. I know you know that button

I suspect you have something funny with your feed that's excluding that particular channel. Try the new "pin" function ... from admin/channels, select that channel you're trying to add then click the folder icon on right hand side then add that channel to a feed.

OK I know that button works. I was doing as Audit All and was hoping to see the errors show in the log.
Scraping Distro found 2 errors, but what channels are in error?

2026-04-29 18:25:32,995 INFO     app.routes.tasks: Enqueued stream audit for distro (include_inactive=False)
2026-04-29 18:25:33,537 INFO     app.worker: [audit] distro: checking 552 channels…
2026-04-29 18:26:04,022 INFO     app.worker: [audit] distro: 25/552 β€” checked=25 flagged=0 dead=0 errors=0 skipped_403=0
2026-04-29 18:26:23,890 INFO     app.worker: [audit] distro: 50/552 β€” checked=50 flagged=0 dead=0 errors=0 skipped_403=0
2026-04-29 18:26:53,257 INFO     app.worker: [audit] distro: 75/552 β€” checked=74 flagged=0 dead=0 errors=1 skipped_403=0
2026-04-29 18:27:21,923 INFO     app.worker: [audit] distro: 100/552 β€” checked=99 flagged=0 dead=0 errors=1 skipped_403=0
2026-04-29 18:28:03,819 INFO     app.worker: [audit] distro: 125/552 β€” checked=124 flagged=0 dead=0 errors=1 skipped_403=0
2026-04-29 18:28:27,536 INFO     app.worker: [audit] distro: 150/552 β€” checked=149 flagged=0 dead=0 errors=1 skipped_403=0
2026-04-29 18:29:00,111 INFO     app.worker: [audit] distro: 175/552 β€” checked=174 flagged=0 dead=0 errors=1 skipped_403=0
2026-04-29 18:29:26,902 INFO     app.worker: [audit] distro: 200/552 β€” checked=199 flagged=0 dead=0 errors=1 skipped_403=0
2026-04-29 18:29:54,593 INFO     app.worker: [audit] distro: 225/552 β€” checked=224 flagged=0 dead=0 errors=1 skipped_403=0
2026-04-29 18:30:16,798 INFO     app.worker: [audit] distro: 250/552 β€” checked=249 flagged=0 dead=0 errors=1 skipped_403=0
2026-04-29 18:30:38,048 INFO     app.worker: [audit] distro: 275/552 β€” checked=274 flagged=0 dead=0 errors=1 skipped_403=0
2026-04-29 18:31:35,766 INFO     app.worker: [audit] distro: 325/552 β€” checked=323 flagged=0 dead=0 errors=2 skipped_403=0
2026-04-29 18:32:05,349 INFO     app.worker: [audit] distro: 350/552 β€” checked=348 flagged=0 dead=0 errors=2 skipped_403=0
2026-04-29 18:32:38,604 INFO     app.worker: [audit] distro: 375/552 β€” checked=373 flagged=0 dead=0 errors=2 skipped_403=0
2026-04-29 18:33:04,288 INFO     app.worker: [audit] distro: 400/552 β€” checked=398 flagged=0 dead=0 errors=2 skipped_403=0
2026-04-29 18:33:32,755 INFO     app.worker: [audit] distro: 425/552 β€” checked=423 flagged=0 dead=0 errors=2 skipped_403=0
2026-04-29 18:34:01,007 INFO     app.worker: [audit] distro: 450/552 β€” checked=448 flagged=0 dead=0 errors=2 skipped_403=0
2026-04-29 18:34:23,898 INFO     app.worker: [audit] distro: 475/552 β€” checked=473 flagged=0 dead=0 errors=2 skipped_403=0
2026-04-29 18:34:44,333 INFO     app.worker: [audit] distro: 500/552 β€” checked=498 flagged=0 dead=0 errors=2 skipped_403=0
2026-04-29 18:35:12,257 INFO     app.worker: [audit] distro: 525/552 β€” checked=523 flagged=0 dead=0 errors=2 skipped_403=0
2026-04-29 18:35:14,762 INFO     app.worker: [audit] dead stream: Cirque du Soleil  (confirmed by scraper)
2026-04-29 18:35:37,386 INFO     app.worker: [audit] distro: 550/552 β€” checked=547 flagged=0 dead=1 errors=2 skipped_403=0
2026-04-29 18:35:40,085 INFO     app.worker: [audit] distro: done β€” total=552 checked=549 flagged=0 dead=1 errors=2 skipped_403=0

again, click the audit button to see the audit report. it should show you the errors from the audit?

OK, I thought you meant to run the audit again.
Now I can see it displays the results of the last run.
:man_facepalming:

brave_screenshot (3)

Cirque du soleil still playing for me, no change on the raw url

Your apsattv Distro Cirque du Soleil channel works for me in VLC.

The US region Roku, Plex and Vidaa Cirque du Soleil channels work for me in VLC.
The US region Distro Cirque du Soleil channel doesn't work for me in VLC (502 BAD GATEWAY)

VLC log
http debug: outgoing request: GET /play/distro/US:139100.m3u8 HTTP/1.1 Host: 192.168.1.4:5523 Accept: */* Accept-Language: en_US User-Agent: VLC/3.0.23 LibVLC/3.0.23 Range: bytes=0- 
http debug: incoming response: HTTP/1.1 502 BAD GATEWAY Server: gunicorn Date: Thu, 30 Apr 2026 05:38:55 GMT Connection: close Content-Type: text/html; charset=utf-8 Content-Length: 161 
access error: HTTP 502 error
http debug: connection failed
http debug: querying proxy for http://192.168.1.4:5523/play/distro/US:139100.m3u8
http debug: no proxy
http debug: http: server='192.168.1.4' port=5523 file='/play/distro/US:139100.m3u8'
main debug: net: connecting to 192.168.1.4 port 5523
main debug: connection succeeded (socket = 3604)
http debug: sending request: GET /play/distro/US:139100.m3u8 HTTP/1.0 Host: 192.168.1.4:5523 User-Agent: VLC/3.0.23 LibVLC/3.0.23 Icy-MetaData: 1 
http debug: HTTP answer code 502
http error: error: HTTP/1.0 502 BAD GATEWAY

Is there anyway to override channels that do not have a category? This seems to be a big problem on Pluto.

EDIT: I opened the m3u in a text editor and these all seem to be under the category "Pluto Tv"

This also seems to be happening with Samsung for the category "Samsung TV Plus".

Yes- just click the Category name and it'll allow you to override.

Side note- it looks like it's the non-US regions that it's happening to on your setup. I'll look to see if I can improve that automatically.

I tried to click on the line of dashes and nothing happened. I did a look through of the other sources and I did not see any missing categories. It is just Pluto and Samsung.

Why do I get fewer channels in the feed than the total number of channels when I didn't make any selections? It says 813 channels but in the m3u there are 530, and TiviMate shows exactly 530 channels.

1 Like

your screenshot clearly shows 530 channels in the Standard M3U output-- the other M3U output (Gracenote) has 283 ... 530 + 283 = 813

:wink:

1 Like

How do I get all Pluto channels in one m3u?

you are right - i overlooked that being able to manually select a category IF it came over blank. i'll fix that bug!

in regards to missing categories, looks like categories for other regions in Pluto is sparse. but i'll make a good faith effort to improve that.

1 Like

You could in theory turn off Gracenote for all Pluto channels, then they'd all fall into the Standard bucket.

1 Like

For the best possible metadata, with the best available artwork, you're better off keeping Pluto served via two M3Us: one Gracenote, and one non-Gracenote (for the channels not covered by the first.)

Then, create one Channel Collection that combines both M3U outputs into one list in your Channels client. M3Us from combined Channel Collections can be shared with other apps too:

1 Like

I've checked that and the channel in question is in both of the feeds I've created. I assume channels can exist in multiple feeds.

I do notice that all of my feeds show a number of channels but the M3U shows fewer. I have a feed with all Pluto Channels and the Feed shows 531 channels but the M3U shows 251. If I open the M3U in a text editor sure enough it doesn't have all the entries.

I originally deduplicated before removing a bunch of redundant sources. Pluto was the one that remained but maybe not for all.