FastChannels - FAST Channels aggregator/manager

This is true, but in the latest version of the Fubo VLC bridge I added scraping as well and it pulls 7 days worth of data. My implementation is no where near as elegant as it is here, as it is all GraceNote or all scraped data. That being said, for the richer data and 7 days @KineticMan is welcome to see the endpoints used, the way I scraped/combined data, and modify for his code. Or not. Up to him.

Also the gracenote mapping for FastChannels for Fubo is incomplete as of now. Once the Fubo portion of FastChannels matures I suspect that the VLC bridge will not be needed by most anymore. I will continue to support it for others as an alternative for those who like to keep their sources separate, but I suspect most will switch over to FastChannels in the long term.

1 Like

I'll take a look at your implementation and see I can borrow some inspiration.

I'm grateful for all the other community developers who started all these projects. FastChannels wasn't intended to kill any of that spirit, but simply to consolidate the scrapers so that new users could enjoy them easier.

4 Likes

in in effort to avoid guide issues, i'm using
streamlink manager as a go between between the different tv projects.
I've got a lot of the channels mapped so it is only a question of what source i will use.
Fastchannels has helped a lot in my case. I can have multiple sources without running extra dockers.
I've been working on getting the custom feeds down to a good size.

2 Likes

This is such a great tool! Shrunk my Docker containers to generate m3u/epgs from 3 to just this now. Much cleaner pipeline now.

I have an HDHomeRun also added as a source in CDVR. It would be nice if we could add the HDHomeRun as a source in Fast Channels and then we could just present the one single source in CDVR.

To be fair, it's all transparent to anyone watching, it's just a matter of preference to me in the backend.

The only other thing that eventually might be nice is to run audits in parallel. Takes like over an hour+ to run audits on the defaultly enables sources. If we could do 2x-3x at a time, that would shrink drastically. I am sure it would depend on underlying hardware but I have 4 cores in an Intel i9 carved up for that Docker VM on Proxmox and it barely registers it's doing anything even when running the audits.

Awesome job!

I've never played with HdHomerun API before. sounds like a fun thing to look into.

Also, I agree on the stream audits. The caveat is an early design decision to use SQLite has led me to use job queuing to prevent DB lock issues. It'd be a major rework, but agreed it'd be nice to speed that up. Good thing is, once u audit a source, you shouldn't have to ever again or at least very rarely.

Maybe implementing Postgres as a database can help with that?

Ya ya ya I know. You wanna refactor?? :joy:

Seriously it’s been on the roadmap for a long time. Just scared to break migrating users.

On a somewhat unrelated note, I had to migrate my jellyfin server to postgres due to...SQLite database locking :rofl::joy:

I think migration could be possible with a tool like pgloader. Either that or make it optional instead of mandatory. Of course, that'll probably be a lil too much work to take care of two databases

I'm using a project with postgres and it was challenging to get it going.
I already have one progra running an embeded version.
If one doesn't go to crazy with all the ads, i think the system works great.
I would have to put the embed version on a different port.
Love what you have done with this tool.

Yep, HDHomeRun is actually nice for the OTA channel. Pretty seamless with CDVR.
For what it's worth here's my URLs for the HDHomeRun. When I added it to CDVR I just used the auto-discover on the network (same VLAN/Subnet) feature within CDVR.

[HDHomeRun M3U URL:]http://<<hdhomerun_ip>>:8089/devices/10AAFADE/channels.m3u?format=ts&codec=copy
[HDHomeRun EPG URL:]http://<<hdhomerun_ip>>:8089/devices/10AAFADE/guide/xmltv?duration=1209600

I am sure the part between "/devices/" and "/guide" is unique to each one but I am sure the API (I assume) would return the right one depending on the query.

Totally understand the SQLite vs Something Else. I am sure there's a whole host of improvements on the To-Do list. You are doing a great job with this one!

1 Like

Well whenever it happens, please make it optional as sqlite is working perfectly for me. Perhaps adding postgres as a non-default option then folks who want to use it can just export config backup > change compose to enable postgres > restore backup (vs building and maintaining migration paths)

1 Like

Thanks, FrndlyTV is much better since the 4.1.0 release.

I get more errors related to login from Matts FrndlyTV container.
Only 1 login retry out of 12 FC test recordings since updating to 4.10.

I set up FastChannels the other day. I'm impressed with the well designed interface and very low CPU demand on my N100 Windows mini PC. I spun up a Ubuntu Server VM under Hyper-V and that's super easy to do using all the defaults for Ubuntu Server. I started off simple with only Plex and will add others now that I understand the impact on my system.

I did discover A minor bug. When I used the add to Channels DVR feature the Starting channel I configued was not used for either of the new sources. Also the redownload guide data times should be reviewed, one was set for an hour and I left that alone and the other was set for once a day and I changed it to every two hours.

I did not see an update feature. Is this simply a docker update and what is the command? Is there a way to avoid interfering with recording when upgrading? It would be super if there was a single button upgrade and/or scheduled check with automatic ugrade.

Thank you for this great add on!

Morris

welcome morris.

"I did discover A minor bug. When I used the add to Channels DVR feature the Starting channel I configued was not used for either of the new sources. "

  • the m3u does pass along the start number you have configured for the feed. by chance, do you have a conflicting number range on CDVR? Also, look at the source config on CDVR - does it say "Prefer channel-number from M3u" or is it set to ignore? If you want to use FastChannels chnum, you'll want to make sure Prefer is selected.

" the redownload guide data times should be reviewed, one was set for an hour and I left that alone and the other was set for once a day and I changed it to every two hours."

  • its kind of a hack how I manually add these sources to CDVR with their hidden API. I'll see if I can configure that better.

" Is this simply a docker update and what is the command?"

  • yes. Porttainer is highly recommended, but a simple CLI command is docker compose pull && docker compose up -d

Thank you,

There was no channel overlap. It was nice hitting the button to add the two sources yet it's super simple to do it myself. Possibly rather than hoping a undocumented API will work and not change is to provide the links and you already do this and let the user add the sources them self.

Portainer is a great container manager yet I don't see the need as I'm only running one container on this box.

You provide great support :slight_smile:

I do recommend users use the Auto Add to CDVR feature from Feeds so this function works "Auto-refresh guide data hourly" , but it's totally up to user if they want to or not.

FastChannels version 4.4.0 pushed:

  • Added an Adult Swim marathon channel scraper.
  • Added HDHomeRun local tuner integration with channel discovery, MPEG-TS playback, rich XMLTV guide data, OTA categorization, and optional Gracenote routing. Not sure what for, but was fun to add.
  • Reworked Fubo EPG ingestion for broader channel coverage, seven-day schedules, richer metadata, and Gracenote mappings.
  • Added browser-specific stream handling and proxy support for Fubo, Pluto, Roku, and Tubi.
  • Grouped Admin Sources into FAST, Premium, Specialty, and DRM sections.
  • Improved guide navigation by initially aligning it to the previous half-hour boundary.

Bug Fixes

  • Fixed custom channels receiving overdue-scrape and false “at risk” statuses.
  • Fixed playback and previews across Safari/iOS, Chrome, and multiple streaming providers.
  • Fixed Channels DVR registration for Gracenote-disabled and MPEG-TS sources, with clearer errors.
  • Fixed Plex music programming being incorrectly categorized as movies.
  • Fixed feed names containing apostrophes breaking UI actions.

Performance and Reliability

  • More work on optimizing memory usage
  • Streamed Fubo segments incrementally instead of buffering complete segments in memory.
  • Kept normal M3U playback direct while limiting expensive proxying to browser paths that require it.

How to update?

  • Porttainer recommended
  • CLI - from your repo directory, type docker compose pull && docker compose up -d
5 Likes

@KineticMan - Running 4.4.0
Not sure if it's something you can look into...but quite a few of the Adult Swim is showing "Shaka error 4042: playback failed". Like Black Jesus, Rick and Morty...
They will play fullscreen so it's not a priority, but just wondering if it's something fixable?
Hmm... now both not showing fullscreen... but Eric Andre show is doing the same error, but it does play fullscreen

Hmm.. works fine for me on Chrome on desktop, and Safari on iOS. What device are you seeing that on?

Desktop Win11, using Brave Browser

Just tried Edge... doesn't work either... no longer have Chrome, although Brave is Chrome adjacent