FastChannels - FAST Channels aggregator/manager

FYI
https://tv.voa24.news/monitor.html

Yep. That plays on my TV.

Not getting anything in the CSPAN channels. Currently, some are offline for the night, but the others are Shaka error 1001 for me. I didn't take note of the shaka errors for the others before they went off-air, but just remember that I didn't get any video.

Just found out about FastChannels. Great job!

Excuse my ignorance here, but what are the proper settings for the FastChannels Server and the Channels DVR?

  • Is the FastChannels Server the same as my current Channels server, but with a different port , 5523? I assume "yes" because that is the address being used for setup page, etc.
  • Just enter my current Channels IP address and port 8089 for the ChannelsDVR setting? I tried that and the Test Connection did not work.

I am using Portainer and created the stack there. Channels is hosted on a Synology NAS.
Thanks!

Is there a way to sort stations so they show up in a particular order in Channels? For instance, on Pluto, I have 21 stations enabled. I want the 4 Star Trek channels to be at the top, then everything else can be whatever station it gets assigned. The only way I've found is to manually set the channel numbers in Star Trek from 10000 - 10003, then set the override channel start with to 10004. It works, and I don't mind doing it that way, just thought I'd ask if there was a better/easier solution that I'm overlooking.

hey-

Yea, I think a couple options:

  1. Edit the channel number inside FastChannels to show lineup like you want
  2. Or, inside CDVR, you could set it to Ignore ChanNum From M3u (inside custom channel setting on admin portal) then editing the channums in there.

edit... I realize the tv-channum in admin/channels only affects the Default feed. It's time for me to refresh the Feeds editor modal - i've never liked it. I'll spend some time there to make it more user friendly.

1 Like

My favorite way to customize the display order of channels in my Guide and On Now sections is via Channel Collections:

Welcome! There are two different addresses being asked for, so let's untangle them:

FastChannels Server URL β€” this is the address of whatever machine is running the FastChannels container itself, port 5523. If you deployed the stack on the same Synology that runs Channels DVR, then yes β€” same IP as your Channels server, just port 5523 (e.g. http://192.168.1.x:5523). FastChannels is its own server, not part of Channels DVR β€” this is just where your clients (and Channels DVR) reach it.

Channels DVR Server URL β€” this is your Channels DVR server: http://192.168.1.x:8089. Make sure to include the http://.

On the failing Test Connection: that test runs from inside the FastChannels container, and on Synology a Docker container often can't reach its own host via the LAN IP. Since your DVR and FastChannels are on the same NAS, try http://172.17.0.1:8089 instead (that's the Docker host gateway address) β€” that fixes it for most same-machine setups. If that still fails, check that Synology's firewall isn't blocking port 8089 from the Docker subnet, and confirm the DVR itself answers by opening http://:8089 from another device on your network.

fyi I added Philo to new version.

Ok thanks. All the URL's are working. Once we gather channels from all the sources how do we utilize in ChannelsDVR? Do we just add Fast Channels as a new source under Custom Channels or what? If there is a step by step guide just paste link here.

The first post has a nice little quick start guide. But essentially, you want to create some feeds. Think like News, Movies, Sports. Then just simply hit Add To ChannelsDVR button and it auto configures for you!

Having trouble getting Philo working. I configure the source, scrape and it pops up new channels added. I go through and enable/disable all the channels, then create a feed. Feed shows 0 channels enabled. Dashboard shows Philo 0 channels. I go back to channels, filter for Philo and see enabled channels. Feed still shows 0. I just turned Philo off and will try again in a little while.

Philo is DRM - do you have the PrismCast configured? And make sure under Feeds, click the PrismCast drop down to get the feed from there.

I had to make them separate

1 Like

Installed this and it's great. Having a lot of fun with it.

My apologies if this is answered elsewhere, but there are a lot of posts and when searching I couldn't find anything that mentioned the guide since an update note in March.

My guide data is a bit of a mess. There will be things listed in the channel grid that clearly belong to the channel and things that don't. A show might have the wrong info in the grid. but then the right info in the menu bar when it plays, or the right info might be listed as "Up Next."

Weirdly (to me) the problem appears to maybe be just with the gracenote channels (on something like Tubi or Pluto where FastChannels creates a separate gracenote feed)..

Is there any good way to try resolve those guide issues? I was under the impression gracenote would be better than just a scrape, so it seems like I want to make it work where possible.

Two basic questions here:

When I edit a feed, do I have to re-add to channels? Does it flow automatically, or can I force a refresh?

I just ran an audit last night, but today I have missing guide data on a few channels, and poorly mapped guide data (clearly the wrong station). How do I fix this?

Really cool tool (coming from Pluto for Docker, and a bit overwhelmed by the content choices)

That’s strange. Do you have the guide auto updating hourly? And what device? I noticed on my Firesticks when I make a m3u change, sometimes I have to do clear data/cache.

AppleTV is usually instant.

Do you mean re-add to CDvR? If so, it is β€œautomatic” but on CDVRs time. We usually recommend doing a delete/recreate database.

Awesome, you are so quick on turning around this stuff it is amazing and honestly makes me a little scared to ask for something but is greatly appreciated.

In this case, I did load up the new Philo DRM source, picking a few channels and ran into a stumbling block. I'm looking at debugging the issue to try and figure out if it is FastChannels or Prismcast issue so I grabbed a few snapshots of the logs and figured I would share them. In this case the Amazon DRM channels are still working in the latest release, but when I load up a Philo channel, like Paramount, the stream plays for about 1 minute fails, reconnects and repeats indefinitely. What I'm trying to figure out is if it is the proxied stream through FastChannels or Prismcast. I planned to tweak some settings to see if I can resolve this but figured worth sharing. I apologize I don't have my clocks synced on this but here are the logs I'm seeing from FastChannels:

2026-07-18 11:14:15,303 INFO     app.scrapers.philo: [philo] resolve Q2hhbm5lbDo2MDg1NDg4OTk2NDg0Mzg0Njc β†’ dashURL (license=yes)
2026-07-18 11:16:01,041 INFO     app.scrapers.philo: [philo] resolve Q2hhbm5lbDo2MDg1NDg4OTk2NDg0Mzg0ODQ β†’ dashURL (license=yes)
2026-07-18 11:18:37,250 INFO     app.scrapers.philo: [philo] resolve Q2hhbm5lbDo2MDg1NDg4OTk2NDg0Mzg0Njc β†’ dashURL (license=yes)
2026-07-18 11:23:32,521 INFO     app.scrapers.philo: [philo] resolve Q2hhbm5lbDo2MDg1NDg4OTk2NDg0Mzk2MjY β†’ dashURL (license=yes)
2026-07-18 11:29:14,518 INFO     app.scrapers.philo: [philo] resolve Q2hhbm5lbDo2MDg1NDg4OTk2NDg0Mzg0ODQ β†’ dashURL (license=yes)
2026-07-18 11:33:43,531 INFO     app.scrapers.philo: [philo] resolve Q2hhbm5lbDo2MDg1NDg4OTk2NDg0Mzg0ODQ β†’ dashURL (license=yes)

and then the Prismcast log for the same segment of time shows this:

[2026/07/18 04:33:46.673 PM] [0.1-k8up9v] Streaming http://127.0.0.1:5523/watch/4937: 0.1, keyboardFullscreen, FFmpeg [H264]. Tuned in 3.8s (direct).
[2026/07/18 04:34:15.179 PM] [WARN] [0.1-k8up9v] Playback buffering - recovering via source reload.
[2026/07/18 04:34:19.282 PM] [0.1-k8up9v] Recovered in 4.1s via source reload.
[2026/07/18 04:34:21.181 PM] [WARN] [0.1-k8up9v] Detected 10 consecutive undersized segments (10KB) - capture pipeline may have stalled.
[2026/07/18 04:34:23.077 PM] [0.1-k8up9v] Tab replacement complete. New capture started with segment continuity.
[2026/07/18 04:34:23.077 PM] [0.1-k8up9v] Recovered in 1.9s via tab replacement.
[2026/07/18 04:34:53.182 PM] [WARN] [0.1-k8up9v] Playback buffering - recovering via source reload.
[2026/07/18 04:34:57.182 PM] [WARN] [0.1-k8up9v] Detected 10 consecutive undersized segments (32KB) - capture pipeline may have stalled.
[2026/07/18 04:34:59.143 PM] [0.1-k8up9v] Tab replacement complete. New capture started with segment continuity.
[2026/07/18 04:34:59.143 PM] [0.1-k8up9v] Recovered in 2.0s via tab replacement.
[2026/07/18 04:35:29.185 PM] [WARN] [0.1-k8up9v] Playback buffering - recovering via source reload.
[2026/07/18 04:35:33.186 PM] [WARN] [0.1-k8up9v] Detected 10 consecutive undersized segments (27KB) - capture pipeline may have stalled.
[2026/07/18 04:35:35.293 PM] [0.1-k8up9v] Tab replacement complete. New capture started with segment continuity.
[2026/07/18 04:35:35.293 PM] [0.1-k8up9v] Recovered in 2.1s via tab replacement.
[2026/07/18 04:36:05.188 PM] [WARN] [0.1-k8up9v] Playback buffering - recovering via source reload.
[2026/07/18 04:36:09.188 PM] [WARN] [0.1-k8up9v] Detected 10 consecutive undersized segments (25KB) - capture pipeline may have stalled.
[2026/07/18 04:36:11.085 PM] [0.1-k8up9v] Tab replacement complete. New capture started with segment continuity.
[2026/07/18 04:36:11.085 PM] [0.1-k8up9v] Recovered in 1.9s via tab replacement.
[2026/07/18 04:36:41.189 PM] [WARN] [0.1-k8up9v] Playback buffering - recovering via source reload.
[2026/07/18 04:36:45.294 PM] [0.1-k8up9v] Recovered in 4.1s via source reload.
[2026/07/18 04:36:51.189 PM] [WARN] [0.1-k8up9v] Playback buffering - recovering via page navigation.
[2026/07/18 04:36:52.226 PM] [0.1-k8up9v] Recovered in 1.0s via page navigation.
[2026/07/18 04:36:59.613 PM] [0.1-k8up9v] Stream ended after 3m 17s. Recoveries: 7 (1x page navigation, 2x source reload, 4x tab replacement), avg 2.4s.

I'll let you know if I resolve the issue by making some adjustments. Thank you again for the quick turn around on this.

Great. Another thing I don't understand. Tried to deploy prismcast this morning using Portainer and get an error. Posted in the prismcast thread. No idea why it's telling me ports aren't available. Only thing I have running other than Portainer is FastChannels.

Failure
Failed to deploy a stack: compose up operation failed: Error response from daemon: ports are not available: exposing port TCP 0.0.0.0:5900 -> 127.0.0.1:0: listen tcp 0.0.0.0:5900: bind: address already in use

Just to jump in here because I recall experiencing this. By default if your machine running Docker (likely Linux since using Portainer) probably has VNC already running on physical machine and thus when mapping 5900 to 5900 for container it complains (default VNC port). For me I didn't use that port, far easier to use the 6080 web port version of this and more portable so simply exclude the 5900 mapping and it should work.