thats whats so strange. i haven't touched that code in weeks- and SLM and FC use the same plugin (yt-dlp).
Have you updated yt-dlp recently?
SLM is using an older version.
could be that.
can u run this and send me the output pls?
docker exec fastchannels yt-dlp -v -F --extractor-args "youtube:player_client=web_safari" "https://www.youtube.com/@KittenAcademy/live" 2>&1 |
grep -iE "pot|sign in|bot|403|throttl|JS runtime"
root@nas-1019:~# docker exec fastchannels yt-dlp -v -F --extractor-args "youtube:player_client=web_safari" "https://www.youtube.com/@KittenAcademy/live" 2>&1 | grep -iE "pot|sign in|bot|403|throttl|JS runtime"
[debug] JS runtimes: none
[debug] [youtube] [pot] PO Token Providers: none
[debug] [youtube] [pot] PO Token Cache Providers: memory
[debug] [youtube] [pot] PO Token Cache Spec Providers: webpo
FULL OUTPUT from inside container
# yt-dlp -v -F --extractor-args "youtube:player_client=web_safari" "https://www.youtube.com/@KittenAcademy/live"
[debug] Command-line config: ['-v', '-F', '--extractor-args', 'youtube:player_client=web_safari', 'https://www.youtube.com/@KittenAcademy/live']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version [email protected] from yt-dlp/yt-dlp [821bef0f0]
[debug] Lazy loading extractors is disabled
[debug] Python 3.12.13 (CPython x86_64 64bit) - Linux-4.4.302+-x86_64-with-glibc2.41 (OpenSSL 3.5.6 7 Apr 2026, glibc 2.41)
[debug] exe versions: none
[debug] Optional libraries: Cryptodome-3.23.0, brotli-1.2.0, certifi-2026.05.20, curl_cffi-0.15.0, mutagen-1.47.0, requests-2.34.2, sqlite3-3.46.1, urllib3-2.7.0, websockets-16.0, yt_dlp_ejs-0.8.0
[debug] JS runtimes: none
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets, curl_cffi
[debug] Plugin directories: none
[debug] Loaded 1739 extractors
[youtube:tab] Extracting URL: https://www.youtube.com/@KittenAcademy/live
[youtube:tab] @KittenAcademy/live: Downloading webpage
[debug] [youtube] [pot] PO Token Providers: none
[debug] [youtube] [pot] PO Token Cache Providers: memory
[debug] [youtube] [pot] PO Token Cache Spec Providers: webpo
[debug] [youtube] [jsc] JS Challenge Providers: bun (unavailable), deno (unavailable), node (unavailable), quickjs (unavailable)
[youtube] Extracting URL: https://www.youtube.com/watch?v=T4XZmMPQ9Kw
[youtube] T4XZmMPQ9Kw: Downloading webpage
[debug] [youtube] Forcing "main" player JS variant for player 445213fb
original url = /s/player/445213fb/player_es6.vflset/en_US/base.js
WARNING: [youtube] T4XZmMPQ9Kw: n challenge solving failed: Some formats may be missing. Ensure you have a supported JavaScript runtime and challenge solver script distribution installed. Review any warnings presented before this message. For more details, refer to https://github.com/yt-dlp/yt-dlp/wiki/EJS
[debug] [youtube] T4XZmMPQ9Kw: Detected experiment to bind GVS PO Token to video ID for web_safari client
ERROR: [youtube] T4XZmMPQ9Kw: No video formats found!; please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 1726, in wrapper
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 1882, in __extract_info
return self.process_ie_result(ie_result, download, extra_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 1941, in process_ie_result
ie_result = self.process_video_result(ie_result, download=download)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 2954, in process_video_result
self.raise_no_formats(info_dict)
File "/usr/local/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 1191, in raise_no_formats
raise ExtractorError(msg, video_id=info['id'], ie=info['extractor'],
yt_dlp.utils.ExtractorError: [youtube] T4XZmMPQ9Kw: No video formats found!; please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
Is this related to the YT issue that @babsonnexus had issues with earlier this year?
The issue I'm referring to was with PLM/SLM...
Pretty sure it's related to the JS Challenge solving @babsonnexus had to incorporate in SLM
[debug] [youtube] [jsc] JS Challenge Providers: bun (unavailable), deno (unavailable), node (unavailable), quickjs (unavailable)
WARNING: [youtube] T4XZmMPQ9Kw: n challenge solving failed: Some formats may be missing. Ensure you have a supported JavaScript runtime and challenge solver script distribution installed. Review any warnings presented before this message. For more details, refer to https://github.com/yt-dlp/yt-dlp/wiki/EJS
Could be as the developer he has something in his that we didn't get when we pulled the image 
Do you guys sign in with your YouTube account with Fastchannels and yt-dlp or is it anonymous?

It's a Custom Channel, no credentials like FrndlyTV
i.e. No bun, deno, node or quickjs available
And here's the same channel in CDVR using SLM that's working
bingo thats it. will fix. So weird that it was working before with no issues.
Anyway, @babsonnexus .. stealing your code sucka!
...
even easier, i just needed to upgrade the version of node in the image it appears.
Thanks for looking into it and finding a fix.
Sorry for the extra pushes today.
V4.4.6 pushed
- Upgraded Node to V24 inside container to fix YT-DLP for Youtube stream detector
Thanks. I be tubin' again.
in other news, Kaloopy is back too...
@KineticMan Update on my Custom YT Channels issue...
I can Detect the channel and also "Preview Stream" while on the Edit Custom Channel page...
Observation 1: I cannot play via the built-in player on the Channels or Guide pages...I get this new error:
Shaka error 1002 (NETWORK.HTTP_ERROR): Shaka Error 1002. manifest or segment request failed; check HTTP status, CORS, and network filtering Details: ["https://rr2---sn-i5f5ppuxa-ioas.googlevideo.com/videoplayback/id/CJVBX7KI5nU.8/itag/96/source/yt_live_broadcast/expire/1781426055/ei/JhMuavG3PO31sfIP5YfboAI/ip/72.253.16.202/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D137/rqh/1/hls_chunk_host/rr2---sn-i5f5ppuxa-ioas.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/playlist_duration/30/manifest_duration/30/ss/1/bui/ARmQxEUESNFU7Zw5Xz-z5fxmk05TLqEIdv-pdcqcmXJcsVdH-0b40goE4FmPKVzB3-nzlJu7NYUWwsbS/spc/SQ-umg_9my6
Observation 2: I can play via the "Watch Fullscreen".
Observation 3: I cannot play via the Open in New Tab... the new tab opens but it just spins the Loading
So I'm curious how it works on the Stream Preview page:
Luck...
They share simliar codepaths, but slightly different. I've been meaning to combine them. I'll probably have to proxy the youtube stuff to get it to work consistently. will work on next week.
@KineticMan Feature Request: Search both Source Channel and EPG
On the Guide page, Is there the possibility to have the Search button searching both the Channels and the EPG?
Reason - Let's say I'm searching for Star Trek, currently it only searches the EPG... but it would miss all the dedicated Star Trek channels...
Currently, there are 7 dedicated Star Trek channels (available on the Channels tab), but on the Guide tab, it lists only 4 dedicated channels.
Another is let's say I'm interested in Las Vegas news... If I search in the Guide tab, I see a lot of Vegas but none of the news channels show up, and you can see them via the Channels tab...
I understand I can use the Channels tab, but I really like the Guide as I can see what is actually showing...
Hope this makes sense.
Thanks.
@KineticMan Feature Request: On the Guide page, remember previous searches...
Kinda like Youtube, the search box remembers previous searches, it may have a cap if necessary.
Along with this, is a means to clear all previous searches, and/or an option to delete one of the previous searches.
I've had Pluto For Channels running for some time now, and just today found Fast Channels. I don't have Fast Channels fully configured yet, but I'm guessing once I've done so I won't need Pluto For Channels anymore. Is that correct?
Also, I note that Fast Channels seems to be asking for some Pluto credentials but I don't think I ever put in any credentials into Pluto For Channels. I checked my P4C server today and there are spaces to input credentials but they are blank. Can someone clarify the P4C credentials situation to me?




