VistaLover
MemberContent Type
Profiles
Forums
Events
Everything posted by VistaLover
-
Thank you @Reino, I was searching the upstream issue tracker as you posted your comment, thus I found it is because of: https://github.com/yt-dlp/yt-dlp/issues/14456 Google, as I have written already, are really satanic , their war against downloaders probably now conducted via AI (their own Gemini e.a) and this has been insinuated also elsewhere... A new upstream release has just been made, https://github.com/yt-dlp/yt-dlp/releases/tag/2025.09.26 to tackle the new blockade: What this actually boils down to is even less choice of formats for the end yt-dlp user ; as I have posted, some posts above, "web_safari" yt-client only affords avc1 (h264) video streams (and aac audio ones) ... yt-dlp -vF "BdGH9jgSjkU" [debug] Command-line config: ['-vF', 'BdGH9jgSjkU'] [debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT) [debug] yt-dlp version stable@2025.09.26 from yt-dlp/yt-dlp [12b57d285] (zip) [debug] Python 3.11.13 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.0.16 11 Feb 2025) [debug] exe versions: none [debug] Optional libraries: sqlite3-3.45.1 [debug] Proxy map: {} [debug] Request Handlers: urllib [debug] Plugin directories: none [debug] Loaded 1833 extractors [debug] [youtube] [pot] PO Token Providers: none [debug] [youtube] [pot] PO Token Cache Providers: memory [debug] [youtube] [pot] PO Token Cache Spec Providers: webpo [youtube] Extracting URL: BdGH9jgSjkU [youtube] BdGH9jgSjkU: Downloading webpage [youtube] BdGH9jgSjkU: Downloading tv client config [debug] [youtube] Forcing player 0004de42 in place of player a61444a1 original url = /s/player/a61444a1/player_ias.vflset/en_US/base.js [youtube] BdGH9jgSjkU: Downloading tv player API JSON [youtube] BdGH9jgSjkU: Downloading web safari player API JSON [debug] Loading youtube-nsig.0004de42-main from cache [debug] [youtube] Decrypted nsig 18fyc2Ry_Wo3vwU => jtjJGKc6jKWfiA [debug] [youtube] Decrypted nsig AMU_1p6Z-0u4p5L => yO2NOWs_8Ii3qg [youtube] BdGH9jgSjkU: Downloading m3u8 information [debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto [debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id [info] Available formats for BdGH9jgSjkU: ID EXT RESOLUTION FPS CH | FILESIZE TBR PROTO | VCODEC VBR ACODEC ABR ASR MORE INFO ---------------------------------------------------------------------------------------------------------------------------------- sb3 mhtml 48x27 0 | mhtml | images storyboard sb2 mhtml 80x45 0 | mhtml | images storyboard sb1 mhtml 160x90 0 | mhtml | images storyboard sb0 mhtml 320x180 0 | mhtml | images storyboard 249-drc webm audio only 2 | 7.25MiB 51k https | audio only opus 51k 48k [en] low, DRC, TV, webm_dash 250-drc webm audio only 2 | 8.93MiB 63k https | audio only opus 63k 48k [en] low, DRC, TV, webm_dash 249 webm audio only 2 | 7.21MiB 51k https | audio only opus 51k 48k [en] low, TV, webm_dash 250 webm audio only 2 | 8.92MiB 63k https | audio only opus 63k 48k [en] low, TV, webm_dash 140-drc m4a audio only 2 | 18.26MiB 129k https | audio only mp4a.40.2 129k 44k [en] medium, DRC, TV, m4a_dash 251-drc webm audio only 2 | 15.93MiB 113k https | audio only opus 113k 48k [en] medium, DRC, TV, webm_dash 140 m4a audio only 2 | 18.26MiB 129k https | audio only mp4a.40.2 129k 44k [en] medium, TV, m4a_dash 251 webm audio only 2 | 15.91MiB 113k https | audio only opus 113k 48k [en] medium, TV, webm_dash 91 mp4 256x144 30 | ~ 23.57MiB 167k m3u8 | avc1.4D400C mp4a.40.5 [en] Untested, WEB-S 160 mp4 256x144 30 | 4.40MiB 31k https | avc1.4d400c 31k video only 144p, TV, mp4_dash 278 webm 256x144 30 | 7.91MiB 56k https | vp9 56k video only 144p, TV, webm_dash 394 mp4 256x144 30 | 5.66MiB 40k https | av01.0.00M.08 40k video only 144p, TV, mp4_dash 92 mp4 426x240 30 | ~ 43.94MiB 312k m3u8 | avc1.4D4015 mp4a.40.5 [en] Untested, WEB-S 133 mp4 426x240 30 | 9.57MiB 68k https | avc1.4d4015 68k video only 240p, TV, mp4_dash 242 webm 426x240 30 | 13.14MiB 93k https | vp9 93k video only 240p, TV, webm_dash 395 mp4 426x240 30 | 9.68MiB 69k https | av01.0.00M.08 69k video only 240p, TV, mp4_dash 93 mp4 640x360 30 | ~ 97.41MiB 691k m3u8 | avc1.4D401E mp4a.40.2 [en] Untested, WEB-S 134 mp4 640x360 30 | 18.95MiB 134k https | avc1.4d401e 134k video only 360p, TV, mp4_dash 18 mp4 640x360 30 2 | 61.07MiB 433k https | avc1.42001E mp4a.40.2 44k [en] 360p, TV 243 webm 640x360 30 | 23.95MiB 170k https | vp9 170k video only 360p, TV, webm_dash 396 mp4 640x360 30 | 20.46MiB 145k https | av01.0.01M.08 145k video only 360p, TV, mp4_dash 94 mp4 854x480 30 | ~150.81MiB 1069k m3u8 | avc1.4D401F mp4a.40.2 [en] Untested, WEB-S 135 mp4 854x480 30 | 30.51MiB 216k https | avc1.4d401f 216k video only 480p, TV, mp4_dash 244 webm 854x480 30 | 41.38MiB 293k https | vp9 293k video only 480p, TV, webm_dash 397 mp4 854x480 30 | 33.93MiB 241k https | av01.0.04M.08 241k video only 480p, TV, mp4_dash 136 mp4 1280x720 30 | 107.76MiB 764k https | avc1.4d401f 764k video only 720p, TV, mp4_dash 247 webm 1280x720 30 | 81.43MiB 578k https | vp9 578k video only 720p, TV, webm_dash 300 mp4 1280x720 60 | ~537.81MiB 3814k m3u8 | avc1.4D4020 mp4a.40.2 [en] Untested, WEB-S 298 mp4 1280x720 60 | 192.41MiB 1365k https | avc1.4d4020 1365k video only 720p60, TV, mp4_dash 302 webm 1280x720 60 | 135.96MiB 964k https | vp9 964k video only 720p60, TV, webm_dash 398 mp4 1280x720 60 | 98.26MiB 697k https | av01.0.08M.08 697k video only 720p60, TV, mp4_dash 301 mp4 1920x1080 60 | ~883.96MiB 6268k m3u8 | avc1.64002A mp4a.40.2 [en] Untested, WEB-S 299 mp4 1920x1080 60 | 357.68MiB 2537k https | avc1.64002a 2537k video only 1080p60, TV, mp4_dash 303 webm 1920x1080 60 | 202.85MiB 1439k https | vp9 1439k video only 1080p60, TV, webm_dash 399 mp4 1920x1080 60 | 165.16MiB 1171k https | av01.0.09M.08 1171k video only 1080p60, TV, mp4_dash 308 webm 2560x1440 60 | 685.79MiB 4864k https | vp9 4864k video only 1440p60, TV, webm_dash 400 mp4 2560x1440 60 | 437.55MiB 3103k https | av01.0.12M.08 3103k video only 1440p60, TV, mp4_dash 315 webm 3840x2160 60 | 1.23GiB 8929k https | vp9 8929k video only 2160p60, TV, webm_dash 401 mp4 3840x2160 60 | 813.80MiB 5772k https | av01.0.13M.08 5772k video only 2160p60, TV, mp4_dash FWIW, format 299 seems to download now OK with yt-dlp-2025.09.26 : [youtube] Extracting URL: BdGH9jgSjkU [youtube] BdGH9jgSjkU: Downloading webpage [youtube] BdGH9jgSjkU: Downloading tv client config [youtube] BdGH9jgSjkU: Downloading tv player API JSON [youtube] BdGH9jgSjkU: Downloading web safari player API JSON [youtube] BdGH9jgSjkU: Downloading m3u8 information [info] BdGH9jgSjkU: Downloading 1 format(s): 299 [download] Destination: Destroying Asteroid YR4 ?? Bummer for Hycean Worlds ?? W ater on Ryugu [BdGH9jgSjkU].mp4 [download] 34.8% of 357.68MiB at 556.87KiB/s ETA 07:08 Explanation of the issue: https://github.com/yt-dlp/yt-dlp/issues/14456#issuecomment-3339355268 ... and the end is nearer ...
-
... Can confirm: yt-dlp -f 299+140 -N 4 "BdGH9jgSjkU" [youtube] Extracting URL: BdGH9jgSjkU [youtube] BdGH9jgSjkU: Downloading webpage [youtube] BdGH9jgSjkU: Downloading tv simply player API JSON [youtube] BdGH9jgSjkU: Downloading tv client config [youtube] BdGH9jgSjkU: Downloading tv player API JSON [info] BdGH9jgSjkU: Downloading 1 format(s): 299+140 [download] Resuming download at byte 5626260 [download] Destination: Destroying Asteroid YR4 ?? Bummer for Hycean Worlds ?? Water on Ryugu [BdGH9jgSjkU].f299.mp4 [download] 4.5% of 338.63MiB at 328.72KiB/s ETA 16:47 ERROR: unable to download video data: HTTP Error 403: Forbidden ... but for me it was ca. 15 MiB (maybe because of the -N 4 flag?) ... EDIT: And the download speed before reaching the 403 mark is being extremely throttled, ca. 50 KiB/s (for default -N 1) ...
-
... I'm sorry I have to say this , but once the hack currently implemented by upstream stops working (and it will stop ), for XP/Vista[/Win7] users, for which the scheduled workaround, deno, isn't compatible, "Apple-device" (iOS+web_safari) type of YouTube (HLS) streams will be the ONLY accessible options, at least until Google restricts them further with a POT implementation; the log below was generated with yesterday's Vista build of yours , it provides a glimpse of how things would look when "the hack" has been broken and the deno-enabling PR merged: yt-dlp_x86 --extractor-args "youtube:player_client=ios,web_safari" -vF "O5TS2CbBhKo" [debug] Command-line config: ['--extractor-args', 'youtube:player_client=ios,web_safari', '-vF', 'O5TS2CbBhKo'] [debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT) [debug] yt-dlp version local@2025.09.25 [4429fd045] (win_x86_exe) [debug] Python 3.11.9 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.5.2 5 Aug 2025) [debug] exe versions: none [debug] Optional libraries: Cryptodome-3.23.0, brotli-1.1.0, certifi-2025.08.03, mutagen-1.47.0, requests-2.32.5, sqlite3-3.45.1, urllib3-2.5.0, websockets-15.0.1 [debug] Proxy map: {} [debug] Request Handlers: urllib, requests, websockets [debug] Plugin directories: none [debug] Loaded 1833 extractors [debug] [youtube] [pot] PO Token Providers: none [debug] [youtube] [pot] PO Token Cache Providers: memory [debug] [youtube] [pot] PO Token Cache Spec Providers: webpo [youtube] Extracting URL: O5TS2CbBhKo [youtube] O5TS2CbBhKo: Downloading webpage [debug] [youtube] Forcing "main" player JS variant for player 0004de42 original url = /s/player/a61444a1/player_ias.vflset/en_US/base.js [youtube] O5TS2CbBhKo: Downloading ios player API JSON [youtube] O5TS2CbBhKo: Downloading web safari player API JSON [debug] [youtube] O5TS2CbBhKo: ios client https formats require a GVS PO Token which was not provided. They will be skipped as they may yield HTTP Error 403. You can manually pass a GVS PO Token for this client with --extractor-args "youtube:po_token=ios.gvs+XXX". For more information, refer to https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide . To enable these broken formats anyway, pass --extractor-args "youtube:formats=missing_pot" [debug] [youtube] Extracting signature function 0004de42-main-107 [debug] Loading youtube-sigfuncs.0004de42-main-107 from cache [debug] Loading youtube-nsig.0004de42-main from cache [debug] [youtube] Decrypted nsig Nc-7Qm-M-NmbBoH => S5jQA8mpxn7KDw WARNING: [youtube] O5TS2CbBhKo: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details [youtube] O5TS2CbBhKo: Downloading m3u8 information [youtube] O5TS2CbBhKo: Downloading m3u8 information [debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto [debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id [info] Available formats for O5TS2CbBhKo: ID EXT RESOLUTION FPS CH | FILESIZE TBR PROTO | VCODEC VBR ACODEC ASR MORE INFO ---------------------------------------------------------------------------------------------------------------------- sb3 mhtml 48x27 0 | mhtml | images storyboard sb2 mhtml 80x45 1 | mhtml | images storyboard sb1 mhtml 160x90 1 | mhtml | images storyboard sb0 mhtml 320x180 1 | mhtml | images storyboard 233 mp4 audio only | m3u8 | audio only unknown Untested, Default, low, IOS 234 mp4 audio only | m3u8 | audio only unknown Untested, Default, high, IOS 602 mp4 256x144 12 | ~ 2.55MiB 89k m3u8 | vp09.00.10.08 89k video only Untested, IOS 91 mp4 256x144 24 | ~ 5.55MiB 193k m3u8 | avc1.4D400C mp4a.40.5 WEB-S 269 mp4 256x144 24 | ~ 5.55MiB 193k m3u8 | avc1.4D400C 193k video only Untested, IOS 603 mp4 256x144 24 | ~ 5.06MiB 176k m3u8 | vp09.00.11.08 176k video only Untested, IOS 92 mp4 426x240 24 | ~ 10.22MiB 356k m3u8 | avc1.4D4015 mp4a.40.5 WEB-S 229 mp4 426x240 24 | ~ 10.22MiB 356k m3u8 | avc1.4D4015 356k video only Untested, IOS 604 mp4 426x240 24 | ~ 8.23MiB 286k m3u8 | vp09.00.20.08 286k video only Untested, IOS 93 mp4 640x360 24 | ~ 23.51MiB 818k m3u8 | avc1.4D401E mp4a.40.2 WEB-S 230 mp4 640x360 24 | ~ 23.51MiB 818k m3u8 | avc1.4D401E 818k video only Untested, IOS 18 mp4 640x360 24 2 | ? 11.63MiB 405k https | avc1.42001E mp4a.40.2 22k 360p, WEB-S 605 mp4 640x360 24 | ~ 14.13MiB 492k m3u8 | vp09.00.21.08 492k video only Untested, IOS 94 mp4 854x480 24 | ~ 41.82MiB 1456k m3u8 | avc1.4D401E mp4a.40.2 WEB-S 231 mp4 854x480 24 | ~ 41.82MiB 1456k m3u8 | avc1.4D401E 1456k video only Untested, IOS 606 mp4 854x480 24 | ~ 22.32MiB 777k m3u8 | vp09.00.30.08 777k video only Untested, IOS 95 mp4 1280x720 24 | ~ 72.92MiB 2538k m3u8 | avc1.64001F mp4a.40.2 WEB-S 232 mp4 1280x720 24 | ~ 72.92MiB 2538k m3u8 | avc1.64001F 2538k video only Untested, IOS 609 mp4 1280x720 24 | ~ 33.23MiB 1157k m3u8 | vp09.00.31.08 1157k video only Untested, IOS 96 mp4 1920x1080 24 | ~138.27MiB 4813k m3u8 | avc1.640028 mp4a.40.2 WEB-S 270 mp4 1920x1080 24 | ~138.27MiB 4813k m3u8 | avc1.640028 4813k video only Untested, IOS 614 mp4 1920x1080 24 | ~ 50.15MiB 1746k m3u8 | vp09.00.40.08 1746k video only Untested, IOS NB: I'm not even sure 4K video streams are being made available for either iOS or Safari ; opus audio is also unavailable; and the web_safari HLS streams are NOT parsed by default, they have to be explicitly requested via the '--extractor-args "youtube:player_client=web_safari"' cmdline flag (or equivalent config setting); personally, I'd hope the POT-less iOS streams remain accessible in the XP/Vista yt-dlp variants, though I realise this wish/expectation could be, simply, "a lot to ask for..." Best wishes!
-
... A very recent example for me was when I was pointed, by a G-Search result, to https://www.gnu.org/ while using r3dfox-140.0.4-win32 on my Vista SP2 x86 OS; I was quite miffed to be "greeted" by an (unexpected) 403 error : The default browser UA here is: Mozilla/5.0 (Windows NT 6.0; rv:140.0) Gecko/20100101 Firefox/140.0 r3dfox/140.0.4 so I'm not sure whether they object to the OS slice (Windows NT 6.0) or to the r3dfox slice (r3dfox/140.0.4); all I know is I just had to spoof FirefoxESR-140 on Win10/11: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0 and I was immediately in...
-
... Well, after yt-player 2b83d2e0-main, Google are now serving 377ca75b-main, which is equally BAD ; but @nicolaasjan, I just made, what I think is, an important discovery, at least where a "no-Deno' yt-dlp setup is concerned; it would appear my efforts to restore iOS format support in yt-dlp were not in vain; iOS formats ARE NOT IMPACTED by the inability of the native JSInterp to handle yt-player 2b83d2e0-main and later; I just used your 2025.08.20.60440 build (compiled with py3.9 and the last to support iOS formats without supplying a POT string) and here's the outcome: yt-dlp --extractor-args "youtube:player_client=ios" -vF "O5TS2CbBhKo" [debug] Command-line config: ['--ffmpeg-location', '<redacted>\\FFmpeg', '--downloader-args', 'ffmpeg:-v 8 -stats', '--extractor-args', 'youtube:player_client=ios', '-vF', 'O5TS2CbBhKo'] Deprecated Feature: Support for Python version 3.9 has been deprecated. Please update to Python3.10 or above [debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT) [debug] yt-dlp version nicolaasjan/yt-dlp@2025.08.20.060440 (win32_dir) [debug] Python 3.9.13 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 1.1.1w 11 Sep 2023) [debug] exe versions: ffmpeg n6.1-dev-2615-N-112499-ga76b409 (setts), ffprobe n6.1-dev-2615-N-112499-ga76b409 [debug] Optional libraries: Cryptodome-3.23.0, brotli-1.1.0, certifi-2025.08.03, mutagen-1.47.0, requests-2.32.4, sqlite3-3.37.2, urllib3-2.5.0, websockets-15.0.1 [debug] Proxy map: {} [debug] Request Handlers: urllib, requests, websockets [debug] Plugin directories: none [debug] Loaded 1839 extractors [debug] [youtube] [pot] PO Token Providers: none [debug] [youtube] [pot] PO Token Cache Providers: memory [debug] [youtube] [pot] PO Token Cache Spec Providers: webpo [youtube] Extracting URL: O5TS2CbBhKo [youtube] O5TS2CbBhKo: Downloading webpage [youtube] O5TS2CbBhKo: Downloading ios player API JSON [debug] [youtube] O5TS2CbBhKo: ios client https formats require a GVS PO Token which was not provided. They will be skipped as they may yield HTTP Error 403. You can manually pass a GVS PO Token for this client with --extractor-args "youtube:po_token=ios.gvs+XXX". For more information, refer to https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide . To enable these broken formats anyway, pass --extractor-args "youtube:formats=missing_pot" [youtube] O5TS2CbBhKo: Downloading m3u8 information [debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto [debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id [info] Available formats for O5TS2CbBhKo: ID EXT RESOLUTION FPS | FILESIZE TBR PROTO | VCODEC VBR ACODEC MORE INFO --------------------------------------------------------------------------------------------------------------- sb3 mhtml 48x27 0 | mhtml | images storyboard sb2 mhtml 80x45 1 | mhtml | images storyboard sb1 mhtml 160x90 1 | mhtml | images storyboard sb0 mhtml 320x180 1 | mhtml | images storyboard 233 mp4 audio only | m3u8 | audio only unknown Untested, Default, low, IOS 234 mp4 audio only | m3u8 | audio only unknown Untested, Default, high, IOS 602 mp4 256x144 12 | ~ 2.55MiB 89k m3u8 | vp09.00.10.08 89k video only Untested, IOS 269 mp4 256x144 24 | ~ 5.55MiB 193k m3u8 | avc1.4D400C 193k video only Untested, IOS 603 mp4 256x144 24 | ~ 5.06MiB 176k m3u8 | vp09.00.11.08 176k video only Untested, IOS 229 mp4 426x240 24 | ~ 10.22MiB 356k m3u8 | avc1.4D4015 356k video only Untested, IOS 604 mp4 426x240 24 | ~ 8.23MiB 286k m3u8 | vp09.00.20.08 286k video only Untested, IOS 230 mp4 640x360 24 | ~ 23.51MiB 818k m3u8 | avc1.4D401E 818k video only Untested, IOS 605 mp4 640x360 24 | ~ 14.13MiB 492k m3u8 | vp09.00.21.08 492k video only Untested, IOS 231 mp4 854x480 24 | ~ 41.82MiB 1456k m3u8 | avc1.4D401E 1456k video only Untested, IOS 606 mp4 854x480 24 | ~ 22.32MiB 777k m3u8 | vp09.00.30.08 777k video only Untested, IOS 232 mp4 1280x720 24 | ~ 72.92MiB 2538k m3u8 | avc1.64001F 2538k video only Untested, IOS 609 mp4 1280x720 24 | ~ 33.23MiB 1157k m3u8 | vp09.00.31.08 1157k video only Untested, IOS 270 mp4 1920x1080 24 | ~138.27MiB 4813k m3u8 | avc1.640028 4813k video only Untested, IOS 614 mp4 1920x1080 24 | ~ 50.15MiB 1746k m3u8 | vp09.00.40.08 1746k video only Untested, IOS ... and: yt-dlp --extractor-args "youtube:player_client=ios" -vf 234 -N 2 "O5TS2CbBhKo" [debug] Command-line config: ['--ffmpeg-location', '<redacted>\\FFmpeg', '--downloader-args', 'ffmpeg:-v 8 -stats', '--extractor-args', 'youtube:player_client=ios', '-vf', '234', '-N', '2', 'O5TS2CbBhKo'] Deprecated Feature: Support for Python version 3.9 has been deprecated. Please update to Python 3.10 or above [debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT) [debug] yt-dlp version nicolaasjan/yt-dlp@2025.08.20.060440 (win32_dir) [debug] Python 3.9.13 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 1.1.1w 11 Sep 2023) [debug] exe versions: ffmpeg n6.1-dev-2615-N-112499-ga76b409 (setts), ffprobe n6.1-dev-2615-N-112499-ga76b409 [debug] Optional libraries: Cryptodome-3.23.0, brotli-1.1.0, certifi-2025.08.03, mutagen-1.47.0, requests-2.32.4, sqlite3-3.37.2, urllib3-2.5.0, websockets-15.0.1 [debug] Proxy map: {} [debug] Request Handlers: urllib, requests, websockets [debug] Plugin directories: none [debug] Loaded 1839 extractors [debug] [youtube] [pot] PO Token Providers: none [debug] [youtube] [pot] PO Token Cache Providers: memory [debug] [youtube] [pot] PO Token Cache Spec Providers: webpo [youtube] Extracting URL: O5TS2CbBhKo [youtube] O5TS2CbBhKo: Downloading webpage [youtube] O5TS2CbBhKo: Downloading ios player API JSON [debug] [youtube] O5TS2CbBhKo: ios client https formats require a GVS PO Token which was not provided. They will be skipped as they may yield HTTP Error 403. You can manually pass a GVS PO Token for this client with --extractor-args "youtube:po_token=ios.gvs+XXX". For more information, refer to https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide . To enable these broken formats anyway, pass --extractor-args "youtube:formats=missing_pot" [youtube] O5TS2CbBhKo: Downloading m3u8 information [debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto [debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id [info] Testing format 234 [download] Sleeping 6.00 seconds as required by the site... [hlsnative] Downloading m3u8 manifest [hlsnative] Total fragments: 45 [download] Destination: <redacted>\yt-dlp_py39_x86_Vista_onedir\tmpk84x9e_f.tmp [debug] File locking is not supported. Proceeding without locking [download] 100% of 85.49KiB in 00:00:00 at 322.60KiB/s [info] O5TS2CbBhKo: Downloading 1 format(s): 234 [debug] Invoking hlsnative downloader on "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1758778311/ei/Z3_UaMSQCbqJsvQP9fWLqAI/ip/46.12.130.133/id/3b94d2d826c184aa/itag/234/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/goi/133/sgoap/clen%3D3899667%3Bdur%3D240.907%3Bgir%3Dyes%3Bitag%3D140%3Blmt%3D1746948952157345/rqh/1/hls_chunk_host/rr1---sn-4vguioxu-n3bz.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1758756711,/mh/yJ/mm/31,29/mn/sn-4vguioxu-n3bz,sn-nv47znel/ms/au,rdu/mv/m/mvi/1/pl/18/rms/au,au/initcwndbps/1085000/bui/ATw7iSUOzEWQ6PX6VYYXLkiO7dzFE3xfmcHfZoFK_8S7hMjX1ycDlaPakTSxUuOy0Qdqy7c6PbpJMvb6/spc/hcYD5W3kgO0onbxgfMF8TXKcbK3UkBVFobHYr7hkRDzJ46gEuEdvlNnyX7juBw6M/vprv/1/playlist_type/DVR/dover/13/txp/5318224/mt/1758756313/fvip/4/short_key/1/keepalive/yes/fexp/51552689,51565116,51565681,51580968/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,goi,sgoap,rqh,xpc,bui,spc,vprv,playlist_type/sig/AJfQdSswRQIhAKM-l416Kpd36plAWO6JIVM79VLGBfbD_7oO__YVX9NfAiBMbZJDeQvoNol-G_1XYy9SoBez9b9X2HvWTwAUVb_h3Q%3D%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pl,rms,initcwndbps/lsig/APaTxxMwRgIhAPQ4OhatAi1gQBDxujrZ_djlRX9gpWtt3d-a_QNog5AeAiEA9Q8QhO5Ua_aP270AbFi5qbD8TG2jzWVVIh9XSyBz5Vo%3D/playlist/index.m3u8" [hlsnative] Downloading m3u8 manifest [hlsnative] Total fragments: 45 [download] Destination: Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo].mp4 [download] 100% of 3.75MiB in 00:00:04 at 811.59KiB/s [debug] ffprobe command line: <redacted>\FFmpeg\ffprobe -hide_banner -show_format -show_streams -print_format json "file:Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo].mp4"
-
Read previous posts in this thread; Google have ruined everything for "legacy" WinOSes (XP/Vista), though Win7 x64 might still stand a chance in the future ... Again, you'd have found your answers if you had read previous posts : i.e. the builds linked in the signature target specifically XP SP3 (32-bit); though the linked Vista builds (e.g. here) should also work on Win7+ ...
-
... Well, isn't this the norm lately? Bad news from everywhere ... But if it involves yt-dlp/youtube-dl, then it must surely come from most satanic Google ... During the last years, "they"'ve been mercilessly throwing in the direction of the popular YT-downloaders whatever they could devise to thwart their normal operation ; proprietary HTML5 player blobs with encrypted signature (n-sig), (lately) streams protected with PO Tokens, various manipulations of signed-in cookies, irreversible breakage of the "hack" to download age-gated clips without being signed-in, very intense IP blocking client-side, using their proprietary streaming protocol called SABR, even full-blown DRM on (TV) streams was trialed some weeks ago (plus other things I forget) ... All this time, the yt-dlp devs tried the best they had in their arsenal to combat Google's anti-download agenda; up until now, the n-sig decrypting "issue" had been successfully dealt with with frequent updates on the yt-dlp side (as soon as a new yt-player showed up), using for decryption what is called a Native JS Interpreter (pure-Pyrhon-based); successful decryption of n-sig is vital these days, because it's an "all or nothing case"; many months ago, YT would let you download at significantly throttled speeds without a decrypted n-sig, but currently you're plainly being denied any download ... The Native JS Interpreter worked fine until (and including) yt-player 0004de42 ; then, yt-player 2b83d2e0 has started to propagate across YT CDNs: https://github.com/yt-dlp/yt-dlp/issues/14400 I have to rely on the expertise of the yt-dlp devs, but, most sadly, it appears this new yt-player is a new kind of a formidable beast that is no match for the Python-based JSinterp ... At the moment, a stop-gap solution has been implemented, https://github.com/yt-dlp/yt-dlp/pull/14398 but, as it's noted, ... hence: https://github.com/yt-dlp/yt-dlp/issues/14404 I do remember well that in the past, in the case of an unsolvable signature, PhantomJS would kick-in; it didn't work in all cases, the 32-bit executable requires Vista+ and the project has now become an "abandonware", thus having been rejected, for "security" reasons, by the overwhelming majority of the yt-dlp "fanbois" (most of them already on Win11) ... I haven't closely followed yt-dlp development ever since they dropped py3.7 support, but has PhantomJS already been dropped as a JSInterp fallback inside the yt-dlp code? In any case, the proposed "solution" by the yt-dlp team isn't suitable for the retrocomputing (Windows) communities whichever way you look at it ; deno is built on recent versions of Node JS and, as such, requires Win10+; the standalone Windows executable they provide is ONLY 64-bit ; this means: a) 32-bit OSes are unsupported (unless someone can compile deno from source as a Windows x86 binary) b) every Windows OS below 10 will be unsupported (that will include Win8.1, that official yt-dlp still supports); this is the part that infuriates me the most : our "brave" retrocomputing heros have gone to great lengths to backport recent CPython versions to XP+Vista (cmalex , literally from the front line ), Vista+Win7 (Vladimir Andreevich), Win7+ (Aohan Dang), just so that XP/Vista/Win7 users can continue to use yt-dlp, but most evil Google , with just one strike, will nullify all those combined efforts ; because how good would yt-dlp/youtube-dl be if it can't fetch YouTube ? Yes, the upstream original app, youtube-dl, that never had a JSInterp fallback (namely PhantomJS) to begin with, in the last months relied mainly on yt-dlp "solutions" to fix its broken JSInterp, whenever the case arose ... Given that youtube-dl caters specifically to older CPython versions (hence, older OSes capable of running said older CPython versions), its predicament is more pronounced: https://github.com/ytdl-org/youtube-dl/issues/33186 Since every open-source app/project out there seems to support almost every Linux distro (a hyperbole, perhaps, but you get the drift ), it's legacy Windows OS users, again, that will be screwed over ... So full of wrath right now... FWIW, yt-player 2b83d2e0-main has just arrived in my neck of the woods : yt-dl -vF "hS4uoPz_A00" [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['--ffmpeg-location', '.\\FFmpeg', '--external-downloader-args', '-v 8 -stats', '-vF', 'hS4uoPz_A00'] [debug] Encodings: locale cp1253, fs mbcs, out cp737, pref cp1253 [debug] youtube-dl version 2025.06.29 (single file build) [debug] ** This version was built from the latest master code at https://github.com/ytdl-org/youtube-dl. [debug] ** For support, visit the main site. [debug] Python 3.4.4 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 - OpenSSL 1.0.2d 9 Jul 2015 [debug] exe versions: ffmpeg n6.1-dev-2615-N-112499-ga76b409, ffprobe n6.1-dev-2615-N-112499-ga76b409, phantomjs 2.1.1, rtmpdump 2.4 [debug] Proxy map: {} [youtube] hS4uoPz_A00: Downloading webpage [youtube] hS4uoPz_A00: Downloading TVHTML5 API JSON [youtube] hS4uoPz_A00: Downloading player 2b83d2e0-main WARNING: [youtube] Falling back to generic n function search ERROR: Unable to extract nsig function code (caused by RegexNotFoundError('Unable to extract Initial JS player n function name; please report this issue on https://github.com/ytdl-org/youtube-dl/issues , using the appropriate issue template. Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose option and include the complete output.',)); please report this issue on https://github.com/ytdl-org/youtube-dl/issues , using the appropriate issue template. Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose option and include the complete output. Traceback (most recent call last): File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1856, in _decrypt_nsig File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1968, in _extract_n_function_code File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1971, in _extract_n_function_code_jsi File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1948, in _extract_n_function_name File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1892, in generic_n_function_search File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\common.py", line 1093, in _search_regex youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player n function name; please report this issue on https://github.com/ytdl-org/youtube-dl/issues , using the appropriate issue template. Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose option and include the complete output. Traceback (most recent call last): File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1856, in _decrypt_nsig File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1968, in _extract_n_function_code File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1971, in _extract_n_function_code_jsi File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1948, in _extract_n_function_name File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1892, in generic_n_function_search File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\common.py", line 1093, in _search_regex youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player n function name; please report this issue on https://github.com/ytdl-org/youtube-dl/issues , using the appropriate issue template. Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose option and include the complete output. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\YoutubeDL.py", line 886, in wrapper File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\YoutubeDL.py", line 982, in __extract_info File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\common.py", line 573, in extract File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 2480, in _real_extract File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 2006, in _unthrottle_format_urls File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1833, in inner File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1825, in inner File "D:\a\ytdl-nightly\ytdl-nightly\youtube_dl\extractor\youtube.py", line 1858, in _decrypt_nsig youtube_dl.utils.ExtractorError: Unable to extract nsig function code (caused by RegexNotFoundError('Unable to extract Initial JS player n function name; please report this issue on https://github.com/ytdl-org/youtube-dl/issues , using the appropriate issue template. Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose option and include the complete output.',)); please report this issue on https://github.com/ytdl-org/youtube-dl/issues , using the appropriate issue template. Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose option and include the complete output. Commiserations...
-
... So, this one has been compiled with @vladimir-andreevich's CPython-3.11.9-win32, Vista-compatible, implementation; very nice ... Tip1: v3.11.9 has been compiled with the OpenSSL-3.0.13 dependency (files libcrypto-3.dll+libssl-3.dll); if one downloads python-3.12.10-embed-win32.zip , files libcrypto-3.dll+libssl-3.dll are of version 3.0.16; these are interchangeable with the v3.0.13 files, so one can have CPython-3.11.9 with the updated OpenSSL-3.0.16 dependency ... Tip2: If one copies files _ssl.pyd+libcrypto-3.dll+libssl-3.dll from inside cmalex's py3.11.4 (for XP) distribution and overwrites existing files (of same name) inside Vladimir's 3.11.9 distribution, one can have CPython-3.11.9 with the updated OpenSSL-3.5.2 dependency ...
-
... But why double plus signs in the "test iOS HLS streams" block? @@ -3579,6 +3581,10 @@ class YoutubeIE(YoutubeBaseInfoExtractor): if missing_pot: f['format_note'] = join_nonempty(f.get('format_note'), 'MISSING POT', delim=' ') f['source_preference'] -= 20 ++ # XXX: Check if IOS HLS formats are affected by PO token enforcement; temporary ++ # See https://github.com/yt-dlp/yt-dlp/issues/13511 ++ if proto == 'hls' and client_name == 'ios': ++ f['__needs_testing'] = True itags[itag].add(key) ... Not quite ; I do have a quite old by now (ca. 2016) "portable" installation of a native Windows 32-bit compiler called "media-autobuild_suite" lying around on an external HDD somewhere (that compiler was used until ca. 2018 to compile non-free custom FFmpeg builds), which comes with many MSYS2 utilities, including diff; then I do have a portable installation of GitPortable, with the portable package frozen at v2.11.1-devtest.1 ; that was the last that had a dedicated portable launcher for the CLI version, all versions after that have only one launcher, for the GUI version; I never bothered to update Git itself inside that past v2.22.0-32-bit ... Thanks for that ; has this been properly documented somewhere, or was it a "trial-and-error" discovery? Last info I had about ceasing NT 6.0 support was this: https://github.com/git-for-windows/git/releases/tag/v2.36.0.windows.1 Actually, the software I used to create the patch file I uploaded here is a much older but very simple app, part of DiffUtils for Windows ; the cmd I used was: diff -u -b "_video.py.a" "_video.py.b" > "_video.py.patch"
-
That link worked OK , so thanks , but I'm afraid new "_video.py.diff" ISN'T what I meant in my previous post ; isn't how the (whole) diff should look, but it just contains the segment/lines of your original "_video.py.diff" (for which the link now 404s) that I would modify, to make the code appear as it was before upstream commit 895e762 ; do you now get it? In your second "_video.py.diff", you left out the segment for "testing" the iOS HLS streams (which 895e762 also removed) and this part is indispensable; Windows lacks a native diff app, so I usually employ a Text Editor to modify source; for your sake, I installed a diff.exe Windows port and modifying the latest upstream version of file "_video.py", this is the patch I came up with: --- _video.py.a 2025-09-23 20:56:26.965800000 +0300 +++ _video.py.b 2025-09-23 21:16:39.283800000 +0300 @@ -257,7 +257,7 @@ '401': {'ext': 'mp4', 'height': 2160, 'format_note': 'DASH video', 'vcodec': 'av01.0.12M.08'}, } _SUBTITLE_FORMATS = ('json3', 'srv1', 'srv2', 'srv3', 'ttml', 'srt', 'vtt') - _DEFAULT_CLIENTS = ('tv_simply', 'tv', 'web') + _DEFAULT_CLIENTS = ('tv_simply', 'tv', 'ios', 'web') _DEFAULT_AUTHED_CLIENTS = ('tv', 'web_safari', 'web') # Premium does not require POT (except for subtitles) _DEFAULT_PREMIUM_CLIENTS = ('tv', 'web_creator', 'web') @@ -3284,9 +3284,11 @@ f'{video_id}: {client_name} client {proto} formats require a GVS PO Token which was not provided. ' 'They will be skipped as they may yield HTTP Error 403. ' f'You can manually pass a GVS PO Token for this client with --extractor-args "youtube:po_token={client_name}.gvs+XXX". ' - f'For more information, refer to {PO_TOKEN_GUIDE_URL}') + f'For more information, refer to {PO_TOKEN_GUIDE_URL} . ' + 'To enable these broken formats anyway, pass --extractor-args "youtube:formats=missing_pot"') # Only raise a warning for non-default clients, to not confuse users. + # iOS HLS formats still work without PO Token, so we don't need to warn about them. if client_name in (*self._DEFAULT_CLIENTS, *self._DEFAULT_AUTHED_CLIENTS): self.write_debug(msg, only_once=True) else: @@ -3579,6 +3581,10 @@ if missing_pot: f['format_note'] = join_nonempty(f.get('format_note'), 'MISSING POT', delim=' ') f['source_preference'] -= 20 + # XXX: Check if IOS HLS formats are affected by PO token enforcement; temporary + # See https://github.com/yt-dlp/yt-dlp/issues/13511 + if proto == 'hls' and client_name == 'ios': + f['__needs_testing'] = True itags[itag].add(key) @@ -4389,6 +4395,7 @@ if upload_date and live_status not in ('is_live', 'post_live', 'is_upcoming'): # Newly uploaded videos' HLS formats are potentially problematic and need to be checked + # XXX: This is redundant for as long as we are already checking all IOS HLS formats upload_datetime = datetime_from_str(upload_date).replace(tzinfo=dt.timezone.utc) if upload_datetime >= datetime_from_str('today-2days'): for fmt in info['formats']: I hope it's now clear to you ... Kind regards.
-
=> ...
-
Initial tests with a patched "2025.09.17.84413" yt-dlp version (the zip import "yt-dlp" file was patched locally) look promising ; testing was done with a "bare bones" setup, with no optional Python modules and no FFmpeg : yt-dlp --extractor-args "youtube:player_client=ios" -vF "O5TS2CbBhKo" [debug] Command-line config: ['--extractor-args', 'youtube:player_client=ios', '-vF', 'O5TS2CbBhKo'] [debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT) [debug] yt-dlp version nicolaasjan/yt-dlp@2025.09.17.084413 [e123a48f1] (zip) [debug] Python 3.11.13 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.0.16 11 Feb 2025) [debug] exe versions: none [debug] Optional libraries: sqlite3-3.45.1 [debug] Proxy map: {} [debug] Request Handlers: urllib [debug] Plugin directories: none [debug] Loaded 1833 extractors [debug] [youtube] [pot] PO Token Providers: none [debug] [youtube] [pot] PO Token Cache Providers: memory [debug] [youtube] [pot] PO Token Cache Spec Providers: webpo [youtube] Extracting URL: O5TS2CbBhKo [youtube] O5TS2CbBhKo: Downloading webpage [youtube] O5TS2CbBhKo: Downloading ios player API JSON WARNING: [youtube] O5TS2CbBhKo: ios client https formats require a GVS PO Token which was not provided. They will be skipped as they may yield HTTP Error 403. You can manually pass a GVS PO Token for this client with --extractor-args "youtube:po_token=iosgvs+XXX". For more information, refer to https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide . To enable these broken formats anyway, pass --extractor-args "youtube:formats=missing_pot" [youtube] O5TS2CbBhKo: Downloading m3u8 information [debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto [debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id [info] Available formats for O5TS2CbBhKo: ID EXT RESOLUTION FPS | FILESIZE TBR PROTO | VCODEC VBR ACODEC MORE INFO --------------------------------------------------------------------------------------------------------------- sb3 mhtml 48x27 0 | mhtml | images storyboard sb2 mhtml 80x45 1 | mhtml | images storyboard sb1 mhtml 160x90 1 | mhtml | images storyboard sb0 mhtml 320x180 1 | mhtml | images storyboard 233 mp4 audio only | m3u8 | audio only unknown Untested, Default, low, IOS 234 mp4 audio only | m3u8 | audio only unknown Untested, Default, high, IOS 602 mp4 256x144 12 | ~ 2.55MiB 89k m3u8 | vp09.00.10.08 89k video only Untested, IOS 269 mp4 256x144 24 | ~ 5.55MiB 193k m3u8 | avc1.4D400C 193k video only Untested, IOS 603 mp4 256x144 24 | ~ 5.06MiB 176k m3u8 | vp09.00.11.08 176k video only Untested, IOS 229 mp4 426x240 24 | ~ 10.22MiB 356k m3u8 | avc1.4D4015 356k video only Untested, IOS 604 mp4 426x240 24 | ~ 8.23MiB 286k m3u8 | vp09.00.20.08 286k video only Untested, IOS 230 mp4 640x360 24 | ~ 23.51MiB 818k m3u8 | avc1.4D401E 818k video only Untested, IOS 605 mp4 640x360 24 | ~ 14.13MiB 492k m3u8 | vp09.00.21.08 492k video only Untested, IOS 231 mp4 854x480 24 | ~ 41.82MiB 1456k m3u8 | avc1.4D401E 1456k video only Untested, IOS 606 mp4 854x480 24 | ~ 22.32MiB 777k m3u8 | vp09.00.30.08 777k video only Untested, IOS 232 mp4 1280x720 24 | ~ 72.92MiB 2538k m3u8 | avc1.64001F 2538k video only Untested, IOS 609 mp4 1280x720 24 | ~ 33.23MiB 1157k m3u8 | vp09.00.31.08 1157k video only Untested, IOS 270 mp4 1920x1080 24 | ~138.27MiB 4813k m3u8 | avc1.640028 4813k video only Untested, IOS 614 mp4 1920x1080 24 | ~ 50.15MiB 1746k m3u8 | vp09.00.40.08 1746k video only Untested, IOS and actual download: yt-dlp --extractor-args "youtube:player_client=ios" -f 234 "O5TS2CbBhKo" [youtube] Extracting URL: O5TS2CbBhKo [youtube] O5TS2CbBhKo: Downloading webpage [youtube] O5TS2CbBhKo: Downloading ios player API JSON WARNING: [youtube] O5TS2CbBhKo: ios client https formats require a GVS PO Token which was not provided. They will be skipped as they may yield HTTP Error 403. You can manually pass a GVS PO Token for this client with --extractor-args "youtube:po_token=iosgvs+XXX". For more information, refer to https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide . To enable these broken formats anyway, pass --extractor-args "youtube:formats=missing_pot" [youtube] O5TS2CbBhKo: Downloading m3u8 information [info] Testing format 234 [info] O5TS2CbBhKo: Downloading 1 format(s): 234 [hlsnative] Downloading m3u8 manifest [hlsnative] Total fragments: 45 [download] Destination: Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo].mp4 [download] 100% of 3.75MiB in 00:00:12 at 309.95KiB/s WARNING: O5TS2CbBhKo: Possible MPEG-TS in MP4 container or malformed AAC timestamps. Install ffmpeg to fix this automatically Best regards.
-
Greetings ; let me just say that I'm not in a position to make any demands on you; I hope my previous post didn't come off as that (a demand) ; I just picked up from the observation @Reino made previously and, as a courtesy to him, I suggested a way for him to continue fetching iOS (i.e. HLS) YT streams without the need to hunt for and extract POT strings from a browser (or some other way) ; I have no personal interest on this, other than the stated dislike of available (download) options having been removed ... With that out of the way , my Python-fu is certainly worse than yours ; I've now seen that file "_video.py" has been further modified by upstream since 895e762, as can be seen here, so now it isn't just a matter of partially reverting that commit, as I had (foolishly) suggested before... Upstream have changed priorities of yt_clients in 3bd9154, so now iOS would have to be added as third? Let's hope this doesn't break things... In your downloaded "_video.py.diff" patch, I would personally stick closer to how things were on 895e762 , so, instead of: f'For more information, refer to {PO_TOKEN_GUIDE_URL}') + 'To enable these broken formats anyway, pass --extractor-args "youtube:formats=missing_pot"') I would go with: f'You can manually pass a GVS PO Token for this client with --extractor-args "youtube:po_token={client_name}.gvs+XXX". ' - f'For more information, refer to {PO_TOKEN_GUIDE_URL}') + f'For more information, refer to {PO_TOKEN_GUIDE_URL} . ' + 'To enable these broken formats anyway, pass --extractor-args "youtube:formats=missing_pot"') # Only raise a warning for non-default clients, to not confuse users. + # iOS HLS formats still work without PO Token, so we don't need to warn about them. if client_name in (*self._DEFAULT_CLIENTS, *self._DEFAULT_AUTHED_CLIENTS): However, as the English say, "the proof is in the pudding", so the patched code should be (compiled and) tested first for inadvertent "malfunctions" ... Thanks already ...
-
Dearest @nicolaasjan, your latest Vista-compatible "yt-dlp.exe" binary offering (available at this link), of v2025.09.17.084413 and compiled with cmalex's py3.11.4_x86 assembly, still contains the psapi.dll file, which is, actually, not required in the Vista SP2 variant: (I have a PyInstaller plugin for 7-zip, thus the extractor can open (Read Mode, only) PyInstaller-created Windows executables, so that's how I know ) In a nutshell, to move from the XP variant of py3.11.4, https://mega.nz/folder/jst2WJ5B#sknEpEBamwPomx8UULWuMA/file/igNWhbCb to the Vista variant, one must: 1. Delete all XP-targetting DLL wrappers, i.e. files KERNELxp.dll, ntext.dll, PSAPI.DLL, WS2_xx.dll 2. Overwrite the XP-targetting files python311.dll, _socket.pyd, _overlapped.pyd with their Vista variants inside the "vista" dir. 3. Several other files inside the original archive I find are not needed for normal operations, e.g. libgcc_s_sjlj-1.dll, libwinpthread-1.dll, msvcr100.dll, _freeze_module.exe, _testembed.exe 4. What's only missing for a successful python.exe launch on Vista SP2 is file vcruntime140.dll (if MSVC++2022 isn't already installed); a fully updated Vista SP2 install (up to Vista's EoL) shouldn't need any of the Win10UCRT files, either ("api-ms-win-*.dll", ucrtbase.dll) ... What still puzzles me though, and this is a question for @cmalex to answer, if/when at all possible , is why v3.11.4 was chosen as the py3.11 port to XP/Vista+ ; 3.11.4 is a now deprecated and insecure py3.11 version; the PSF released the last bug-fix release in the form of v3.11.9 (the last for which official binaries were provided), while the latest security-fix release, in source-form only, is v3.11.13; now that I think of it, cmalex's py3.10.18 fork is a more "secure" assembly, since 3.10.18 is currently the latest security-fix release (in source-form only) of the 3.10 branch... Thank you both immensely for your on-going efforts towards keeping legacy WinOSes (XP/Vista) standing strong in 2025 and beyond!
-
I can confirm that the IOS formats still work to this day without supplying a PO Token string, at least for non-live YT content: yt-dlp --extractor-args "youtube:player_client=ios" -vf 270+234 -N 6 "O5TS2CbBhKo" [debug] Command-line config: ['--ffmpeg-location', '<redacted>\\youtube-dl\\FFmpeg', '--downloader-args', 'ffmpeg:-v 8 -stats', '--extractor-args', 'youtube:player_client=ios', '-vf', '270+234', '-N', '6', 'O5TS2CbBhKo'] Deprecated Feature: Support for Python version 3.9 has been deprecated. Please update to Python 3.10 or above [debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT) [debug] yt-dlp version nicolaasjan/yt-dlp@2025.08.20.060440 (win32_dir) [debug] Python 3.9.13 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 1.1.1w 11 Sep 2023) [debug] exe versions: ffmpeg n6.1-dev-2615-N-112499-ga76b409 (setts), ffprobe n6.1-dev-2615-N-112499-ga76b409 [debug] Optional libraries: Cryptodome-3.23.0, brotli-1.1.0, certifi-2025.08.03, mutagen-1.47.0, requests-2.32.4, sqlite3-3.37.2, urllib3-2.5.0, websockets-15.0.1 [debug] Proxy map: {} [debug] Request Handlers: urllib, requests, websockets [debug] Plugin directories: none [debug] Loaded 1839 extractors [debug] [youtube] [pot] PO Token Providers: none [debug] [youtube] [pot] PO Token Cache Providers: memory [debug] [youtube] [pot] PO Token Cache Spec Providers: webpo [youtube] Extracting URL: O5TS2CbBhKo [youtube] O5TS2CbBhKo: Downloading webpage [youtube] O5TS2CbBhKo: Downloading ios player API JSON [debug] [youtube] O5TS2CbBhKo: ios client https formats require a GVS PO Token which was not provided. They will be skipped as they may yield HTTP Error 403. You can manually pass a GVS PO Token for this client with --extractor-args "youtube:po_token=ios.gvs+XXX". For more information, refer to https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide . To enable these broken formats anyway, pass --extractor-args "youtube:formats=missing_pot" [youtube] O5TS2CbBhKo: Downloading m3u8 information [debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto [debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id [info] Testing format 270 [download] Sleeping 6.00 seconds as required by the site... [hlsnative] Downloading m3u8 manifest [hlsnative] Total fragments: 45 [download] Destination: <redacted>\2025.08.20.60440[VistaEoL]\yt-dlp_py39_x86_Vista_onedir\tmpefmf2acs.tmp [debug] File locking is not supported. Proceeding without locking [download] 100% of 684.80KiB in 00:00:03 at 190.65KiB/s [info] Testing format 234 [hlsnative] Downloading m3u8 manifest [hlsnative] Total fragments: 45 [download] Destination: <redacted>\2025.08.20.60440[VistaEoL]\yt-dlp_py39_x86_Vista_onedir\tmpklhwl68j.tmp [download] 100% of 85.49KiB in 00:00:00 at 240.81KiB/s [info] O5TS2CbBhKo: Downloading 1 format(s): 270+234 [debug] Invoking hlsnative downloader on "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1758487269/ei/hQ7QaPO9LYWahcIPjPHD0QM/ip/redacted/id/3b94d2d826c184aa/itag/270/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgovp/clen%3D70853892%3Bdur%3D240.833%3Bgir%3Dyes%3Bitag%3D137%3Blmt%3D1746948976091491/rqh/1/hls_chunk_host/rr3---sn-4vguioxu-n3bl.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1758465669,/mh/yJ/mm/31,29/mn/sn-4vguioxu-n3bl,sn-nv47lnsr/ms/au,rdu/mv/m/mvi/3/pl/18/rms/au,au/initcwndbps/1235000/bui/ATw7iSV_YS72GHNfobiXeJrmuWQRFLz3FoDYouFmm2Q9wIreg41H4rztQjVAmpYzwLmz_VnwsxtPkDaO/spc/hcYD5XitMHHlZg_xF73VMUq2RrPkDtQdXPmkW8Hhn2SLNLZwydZk-Dmz07CrUTO7/vprv/1/playlist_type/DVR/dover/13/txp/5319224/mt/1758465242/fvip/4/short_key/1/keepalive/yes/fexp/51552689,51565115,51565681,51580968/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgovp,rqh,xpc,bui,spc,vprv,playlist_type/sig/AJfQdSswRQIhALhXdXZkAmE7g4Z4_EgcYMniOkFycU5zuN3mEWILkAbPAiASJbP8PiIRLGXkmasLAYlV3cGalnknZdkAcTafLg0YAg%3D%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pl,rms,initcwndbps/lsig/APaTxxMwRQIhAJ8DVEKSmJcwfp_UhLuA5TWdA76-8hLfzmwlCDAft8HjAiAiremKIHE528NiUf2bzY1vHmTE6qTE09cnwnt18SlVNw%3D%3D/playlist/index.m3u8" [hlsnative] Downloading m3u8 manifest [hlsnative] Total fragments: 45 [download] Destination: Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo].f270.mp4 [download] 100% of 69.69MiB in 00:01:29 at 795.36KiB/s [debug] Invoking hlsnative downloader on "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1758487269/ei/hQ7QaPO9LYWahcIPjPHD0QM/ip/redacted/id/3b94d2d826c184aa/itag/234/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/goi/133/sgoap/clen%3D3899667%3Bdur%3D240.907%3Bgir%3Dyes%3Bitag%3D140%3Blmt%3D1746948952157345/rqh/1/hls_chunk_host/rr3---sn-4vguioxu-n3bl.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1758465669,/mh/yJ/mm/31,29/mn/sn-4vguioxu-n3bl,sn-nv47lnsr/ms/au,rdu/mv/m/mvi/3/pl/18/rms/au,au/initcwndbps/1235000/bui/ATw7iSV_YS72GHNfobiXeJrmuWQRFLz3FoDYouFmm2Q9wIreg41H4rztQjVAmpYzwLmz_VnwsxtPkDaO/spc/hcYD5XitMHHlZg_xF73VMUq2RrPkDtQdXPmkW8Hhn2SLNLZwydZk-Dmz07CrUTO7/vprv/1/playlist_type/DVR/dover/13/txp/5318224/mt/1758465242/fvip/4/short_key/1/keepalive/yes/fexp/51552689,51565115,51565681,51580968/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,goi,sgoap,rqh,xpc,bui,spc,vprv,playlist_type/sig/AJfQdSswRQIgdPOwtK4mbupwqiZ8pv2k9eOssn0NAajOdnMgB6ALDoACIQCadC6_b_5p64mwprXLRObgdNlTj2TQyIoBklDsdnPP9w%3D%3D/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pl,rms,initcwndbps/lsig/APaTxxMwRgIhAN16Z2-BpuDH8V9O3omjAFdhR7QMOi3pZAE4cBURjoE1AiEA-cqkk5eJf1-9TIR-1FPMUC1sIYujyXNiqgg8uYFr9Dc%3D/playlist/index.m3u8" [hlsnative] Downloading m3u8 manifest [hlsnative] Total fragments: 45 [download] Destination: Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo].f234.mp4 [download] 100% of 3.75MiB in 00:00:05 at 758.19KiB/s [debug] ffmpeg command line: <redacted>\FFmpeg\ffprobe -show_streams "file:Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo].f234.mp4" [Merger] Merging formats into "Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo].mp4" [debug] ffmpeg command line: <redacted>\FFmpeg\ffmpeg -y-loglevel repeat+info -i "file:Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo].f270.mp4" -i "file:Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo].f234.mp4" -c copy -map 0:v:0 -map 1:a:0 -bsf:a:0 aac_adtstoasc -movflags +faststart "file:Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo].temp.mp4" Deleting original file Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo]. f270.mp4 (pass -k to keep) Deleting original file Love and Money - Halleluiah Man (HQ Audio) [O5TS2CbBhKo]. f234.mp4 (pass -k to keep) ... whereas in more recent yt-dlp versions, the IOS formats are skipped without supplying a PO Token string: [debug] Command-line config: ['--ffmpeg-location', '<redacted>\\FFmpeg', '--downloader-args', 'ffmpeg:-v 8 -stats', '--extractor-args', 'youtube:player_client=ios', '-vf', '270+234', '-N', '6', 'O5TS2CbBhKo'] [debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT) [debug] yt-dlp version nicolaasjan/yt-dlp@2025.09.17.084413 (win_x86_dir) [debug] Python 3.11.4 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.5.2 5 Aug 2025) [debug] exe versions: ffmpeg n6.1-dev-2615-N-112499-ga76b409 (setts), ffprobe n6.1-dev-2615-N-112499-ga76b409 [debug] Optional libraries: Cryptodome-3.23.0, brotli-1.1.0, certifi-2025.08.03, mutagen-1.47.0, requests-2.32.5, sqlite3-3.50.4, urllib3-2.5.0, websockets-15.0.1 [debug] Proxy map: {} [debug] Request Handlers: urllib, requests, websockets [debug] Plugin directories: none [debug] Loaded 1833 extractors [debug] [youtube] [pot] PO Token Providers: none [debug] [youtube] [pot] PO Token Cache Providers: memory [debug] [youtube] [pot] PO Token Cache Spec Providers: webpo [youtube] Extracting URL: O5TS2CbBhKo [youtube] O5TS2CbBhKo: Downloading webpage [youtube] O5TS2CbBhKo: Downloading ios player API JSON WARNING: [youtube] O5TS2CbBhKo: ios client https formats require a GVS PO Token which was not provided. They will be skipped as they may yield HTTP Error 403. You can manually pass a GVS PO Token for this client with --extractor-args "youtube:po_token=ios.gvs+XXX". For more information, refer to https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide WARNING: [youtube] O5TS2CbBhKo: ios client hls formats require a GVS PO Token which was not provided. They will be skipped as they may yield HTTP Error 403. You can manually pass a GVS PO Token for this client with --extractor-args "youtube:po_token=ios.gvs+XXX". For more information, refer to https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide WARNING: Only images are available for download. use --list-formats to see them [debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto [debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id ERROR: [youtube] O5TS2CbBhKo: Requested format is not available. Use --list-formats for a list of available formats Traceback (most recent call last): File "yt_dlp\YoutubeDL.py", line 1668, in wrapper File "yt_dlp\YoutubeDL.py", line 1824, in __extract_info File "yt_dlp\YoutubeDL.py", line 1883, in process_ie_result File "yt_dlp\YoutubeDL.py", line 3023, in process_video_result yt_dlp.utils.ExtractorError: [youtube] O5TS2CbBhKo: Requested format is not available. Use --list-formats for a list of available formats I'm a proponent of the "The more the merrier" adage , so perhaps @nicolaasjan could partially revert the upstream commit 895e762 (e.g. re-instate the IOS player_client into the default set (reverting GvsPoTokenPolicy to False), but also keep the new tv_simply client - affords ONLY dash formats), to keep his esteemed compatriot (and, possibly, others) happier? This modification (shouldn't be that hard, I feel) can be revisited if/when YT actually, completely, block IOS format download without a POT; just my 2 eurocents, ofc ...
-
... No, they don't ; Discourse are serving a browser-feature detection script (believe it or not, this is actually the recommended way to probe a browser engine, rather than blindly block it based on its UA string) and they're looking for these features: https://arkshine.github.io/discourse-features-test/ (NB: Their announcement was recently edited to also cover "import maps" (Cr89+, Fx108+)) In a nutshell, they're dropping support for Win7/8.1 , where the last Cr and Fx supported versions are 109 and 115esr, respectively... ... Please do ; the posted custom filter blocks Discourse's browser-checking script, so your browser (FxESR-115) will be served the full-blown variant of the Discourse-based forum of interest; please be aware that while this hack currently works, it's not future proof; in, say, 6 months' time, one of the browser features they're checking for might end up in production, hence one (or more) forum function might break, to some extent ... That's the way to go , though it doesn't offer any additional clue as to why all but one of your existing logins were mysteriously removed ... Glad to know and... you're welcome ... Saluti !
-
First, welcome to the MSFN forums ; I take it you are using FirefoxESR-115, now on v115.27.0esr, supposedly to be EoL'ed on Win7/8.1 with the next, last, release v115.28.0esr ... Do you, by any chance, have uBlock Origin installed in your FxESR-115 profile? If yes, there's a way you can continue accessing the full version of Discourse-based forums in FxESR-115; read this post ; basically, you'd have to create below custom filter: ! Discourse-based forums ||*/browser-detect-$script,important uBO -> dashboard -> My Filters -> add above code -> Apply changes (header of tab) -> exit dashboard then delete discourse-forum cookies (for good measure) and reload the forum page... Can you please be more specific? Which version is that exactly? Help -> About r3dfox -> ? r3dfox has recently moved into a new GitHub repo, with new Releases section ... I'll assume you currently are in v140.0.4 (not the latest, BTW) ... Did you just transplant/migrate your full FxESR-115 profile to r3dfox-140 ? Although r3dfox is Firefox-based, such big jumps between major versions are prone to profile corruption ... I would advise you start from a clean redfox profile and then, progressively, tailor it to your own needs (settings, extensions, importing bookmarks from FxESR-115, etc.) ... In FxESR-115, load about:logins (Password Manager); click the 3-dot-button (top-right) and you should see a context option to "Export Passwords"; this will save ALL your login credentials to a CSV file; via a similar, but now reverse, procedure, you can import this CSV file to r3dfox and have all your passwords restored! (Take good care of that CSV file, as it contains the passwords in unencrypted, human-readable, form). Best regards ...
-
Hello Reino (OT, but I'm really missing your Vista-compatible FFmpeg compiles ) While your OpenSSL binaries (archive "openssl-3.5.2-win32-shared-xpmod-sse.7z") may very well be XP+ compatible , they don't work out-of-the box as CPython dependency by swapping the already existing DLLs (of openssl v3.1.0-dev) inside cmalex's CPython assemblies with them; he's been using the same (quite deprecated and now rather insecure ) v3.1.0-dev DLLs in his 3.8.13, 3.9.13, 3.10.8 and 3.11.4 CPython offerings, but the thing is the libcrypto-3.dll and libssl-3.dll inside CPython work in conjunction with two Python DLLs, files "_ssl.pyd" and (possibly) "_hashlib.pyd"; the existing .pyd files are incompatible with your own openssl DLLs ... BTW, I'm on Vista SP2 32-bit, so I'm using cmalex's Vista-compatible 3.11.4 assembly; with the original v3.1.0-dev DLLs: python Python 3.11.4 (heads/My3.11.4-dirty:1c368b1ab42, Aug 24 2025, 19:29:33) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import ssl >>> ssl.OPENSSL_VERSION 'OpenSSL 3.1.0-dev ' >>> ^Z <redacted>\3.11.4\cmalex\Python3114-32_Vista> Overwrite them with your own v3.5.2 DLLs and... python Python 3.11.4 (heads/My3.11.4-dirty:1c368b1ab42, Aug 24 2025, 19:29:33) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import ssl Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<redacted>\3.11.4\cmalex\Python3114-32_Vista>\Lib\ssl.py", line 100, in <module> import _ssl # if we can't import it, let the error propagate ^^^^^^^^^^^ ImportError: DLL load failed while importing _ssl: The specified procedure could not be found. >>> ssl.OPENSSL_VERSION Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'ssl' is not defined >>> ^Z <redacted>\3.11.4\cmalex\Python3114-32_Vista> I guess newer versions of "_ssl.pyd" and "_hashlib.pyd" must be provided for openssl-3.5.2 compatibility ... @nicolaasjan openssl-3.1.0-dev inside cmalex's assemblies (both 3.10.18 and 3.11.4, both XP/Vista variants) can be updated to a slightly more recent version, openssl-3.1.2, by using the OpenSSL-3.1.2 DLLs cmalex had compiled in the past for another of his projects, ProxyMII; link below: https://mega.nz/folder/68dj2YTY#As2w31IO4Smr7gy6p1ciSg/file/Pl9yzapZ Proof: python Python 3.11.4 (heads/My3.11.4-dirty:1c368b1ab42, Aug 24 2025, 19:29:33) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import ssl >>> ssl.OPENSSL_VERSION 'OpenSSL 3.1.2 1 Aug 2023' >>> ^Z <redacted>\3.11.4\cmalex\Python3114-32_Vista> NB: When using the Vista variants of py3.10.18/3.11.4 to compile yt-dlp_x86.exe for Vista, none of the wrapper DLLs (kernelxp.dll, ntext.dll, psapi.dll) are needed; because your resultant yt-dlp.exe binaries (for Vista) still contain file "psapi.dll", redundant on Vista ; come to think of it, I don't think file "ws2_xx.dll" is needed on Vista either, but I'm not dead certain; only cmalex can vouch for that ... Many thanks and praise to both cmalex and nicolaasjan for... keeping the torch lit (i.e. yt-dlp accessible on Win<8.1) ...
-
... Initial post deleted; apologies, but I misunderstood ; I later realised what was asked for was the CPython (3.11.4) assembly itself used to compile the yt-dlp.exe binary linked in nicolaasjan's forum signature...
-
My Browser Builds (Part 5)
VistaLover replied to roytam1's topic in Browsers working on Older NT-Family OSes
I've made the uBO-legacy custom filter even more generic, because I've come across Discourse-based forums where the browser detecting script wasn't served from within an "assets" subfolder ; so, the version I'm currently using is: ! Discourse-based forums ||*/browser-detect-$script,important The now broken userscript just told Discourse's browser-feature-detection script that "CSS aspect-ratio (Fx-89+)" IS supported in UXP-based browsers; maybe Discourse are now looking for something new entirely or, besides CSS aspect-ratio, for additional (recent) features that the userscript (and, alas, UXP) doesn't support... A very savvy person would have to dissect the new version of Discourse's script, identify what new things they search for now and author a new userscript... Discourse, in March, issued the following announcement: https://meta.discourse.org/t/dropping-ios-15-other-old-browsers-in-july-2025/358131 so it's probably one or more of the new requirements there that broke things; FWIW, relative color syntax & subgrid aren't supported in UXP, probably the same applies to import-maps ... Recent upstream forum thread about Discourse's shenanigans : https://forum.palemoon.org/viewtopic.php?f=70&t=32600 Last post there is from Aug 13th, though... -
My Browser Builds (Part 5)
VistaLover replied to roytam1's topic in Browsers working on Older NT-Family OSes
Different builds exist based on the capacities/age of the processor (CPU) on the machine the browser build is to be launched; if your CPU is archaic and doesn't support the SSE instructions set, use the -ia32 variant (sometimes referred to as "-nosse"); if your CPU is somewhat newer and does support SSE (but not SSE2), use the -sse variant; if your CPU does support SSE2 (and later), then you should use the "normal" build, whose filename ends in just "-xpmod.7z"... PS: Not relevant for XP users, but if you're on Win7+ x64 OS and want to use roytam1's NM28_x64 fork (you may have your reasons ), there's a fourth (64-bit, only) build variant that's meant for CPUs supporting AVX2 ; filename ending in "-w7plus-avx2.7z"... So, now you know ... -
My Browser Builds (Part 5)
VistaLover replied to roytam1's topic in Browsers working on Older NT-Family OSes
Slight correction: Vista+ only, for quite some time now ... https://github.com/Eclipse-Community/r3dfox -
... My local AV solution, after a Custom Scan of the executable (yt-dlp.exe), found NO threats (red rectangle in Greek, haven't had time to consult VT) :
-
; is that py3.9-based (so will get deprecated in October ) ? Can you at least upload manually to GitHub, where it'll be more visible and with a permanent link? Thanks ... (OT: I have serious issues with my landline since Aug 19th, my tel. number isn't working at all and my ADSL+ internet access is quite fickle; my ISP don't really know what's goin' on, they said I have to give them time until Sep 3rd (!) for them to identify the true nature of the problems ... ) Sometime later today, hopefully, I'll further comment on your previous post ...
-
... Probably not, so let me summarise the gist of what @j7n was talking about in his recent posts: 1. The H.264 codec is probably the best choice when you're about to playback video on a system with low H/W resources (weak CPU, low-end GPU) and a legacy OS like Win7 SP1; the decoder is natively supported by the OS (not the case in XP SP3) and via implementations like WMF/MSE, an MP4 video can be played back within a compatible browser with hardware acceleration and hardware decoding (not the same things); most Win7-era graphics cards have H.264 decoding support built-in, so even when the MP4 video is being played back in a standalone media player, video decoding is performed by the GPU, not CPU... 2. Google have recently started producing their h.264 (aka avc1) youtube encodes at very low video bitrates, even for "high" resolutions, such as 720p/1080p; thus, while the h.264 YT encodes should be preferred for downloading (because they need less computer resources to be played back once downloaded), the stingy bitrate results in sub-optimal visual experiences (blurry moving images, video artifacts of various sorts, etc.). 3. OTOH, Google continue to produce their VP9 YT encodes at exceptional bitrates, especially for the FHD/UHD resolutions (>=720p); these are large files to download, to begin with, but, once downloaded, playback on low-end machines puts a heavy toll on the CPU, because VP9 is being software-decoded; I've not researched this properly, but graphics cards with integrated, native, VP9 decoding support (aka VP9 hardware decoding) only came in the later 2010s, as part of mostly Win10 machines... TL;DR: To have the best visual experience, j7n has to fetch the VP9 YT encodes, but these are detrimental to his under-resourced machine (mostly the CPU is being utilised for video playback, resulting in excess heat and energy consumption, etc.).