Jump to content

VistaLover

Member
  • Posts

    2,338
  • Joined

  • Last visited

  • Days Won

    102
  • Donations

    0.00 USD 
  • Country

    Greece

Everything posted by VistaLover

  1. ... 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 ...
  2. ... 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"
  3. 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.
  4. 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.
  5. 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 ...
  6. 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!
  7. 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 ...
  8. ... 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 !
  9. 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 ...
  10. 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) ...
  11. ... 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...
  12. 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...
  13. 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 ...
  14. Slight correction: Vista+ only, for quite some time now ... https://github.com/Eclipse-Community/r3dfox
  15. ... 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) :
  16. ; 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 ...
  17. ... 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.).
  18. So did I now: https://developer.paypal.com/tools/sandbox/ so probably NOT what you're after ; if you're limited to using UXP-based browsers (on Windows XP SP3?), then am afraid they're now dead in the water with regards to PayPal; the issue needs to be escalated upstream by users of the "official" UXP browsers (Pale Moon and Basilisk, on Win7SP1+), in the hope upstream can come up with a solution, but the relevant PMForum thread hasn't seen any further activity since July 30th... OT for this thread, but you may also appeal for help to Feodor2 in MyPal's GitHub issue tracker ; if still on XP, you might try how the Supermium browser fares on PayPal these days; might prove your only recourse...
  19. @kuja killer , follow up: Some 2 hours after my previous post, my modem-router had to be restarted (details that necessitated that are OT here), so my ISP assigned a new IP address to my internet connection; whether this is somehow relevant or a sheer coincidence, I have no idea ... Today, after reading your latest reply, I tried to re-access https://www.paypal.com/signin (as I had done yesterday) with the same NM28 copy as before; and guess what? I was hit by the same breakage you reported: I additionally have a page header instructing me to: "Please enable JS and disable any ad blocker" but JS is enabled and uBlock Origin (legacy) completely disabled; as you detailed in your post, sliding the blue button to the right (to "prove you're a human") turns it for half a second into green (with a white tick), but then the "you've been blocked" (in Greek, in my case) page appears... It is then impossible to access the proper sign-in page ... I opened Dev Console (which PayPal detected and did NOT like ) : but nothing stands out there for me... On the same machine (with the same IP address), browsers like r3dfoxESR-115.13.0 (or even the most current, r3dfox-140.0.4) will also be presented with the human verification challenge, but is then successfully passed, after which a redirection takes place to the sought-after sign-in page... So, PayPal have started requiring "a feature" (JS, CSS, both) that is to be found on relatively (more) recent Firefox incarnations, but isn't found currently in UXP browsers (and MyPal); this is based on feature detection, so a SSUAO won't work, as noted... And yes, PayPal are using their "own" captcha: https://geo.ddc.paypal.com/captcha?..... Further researching this, Google have provided an alternative sign-in page, https://www.sandbox.paypal.com/us/home => https://www.sandbox.paypal.com/signin which loads for me straight away in both NM28 and St52; as said already, I don't have valid credentials to test whether one can successfully log-in, hopefully it'll work for you (assuming that signing-in to "www.sandbox.paypal,com" logs you, too, to "www.paypal,com") ... Regards ...
  20. I've also observed this myself; the other day I DLed a BBC-made 30min documentary off their official YT account (videoID=Pxozxj03l18) and though I initially wanted the 720p25 variant (in h264), I went, in the end, for the 1080p25 one (h264, ca. 1600kbps), because 720p25 was a measly 500kbps ... ... They're probably targeting ChromeOS laptops and/or Android-based UHD SmartTVs; little do they care for "legacy" OS/HW setups; and h264 still costs them patent fees, whereas their own VP9 codec (and av01) is royalty-free...
  21. @kuja killer Paypal-related issues have also appeared in the upstream forum: https://forum.palemoon.org/viewtopic.php?f=61&t=32581 https://forum.palemoon.org/viewtopic.php?p=264391#p264391 Mixed reports from various users there, probably depending on their physical location; PayPal are conducting various A/B tests, it seems (read e.g. this PMForum thread ); user at the second link I posted thinks that it's NOT CloudFlare, but a PayPal-specific recaptcha (security check) that is NOT compatible with UXP-based browsers ... Can you try again with a fresh NM28 profile, where you block nothing? FWIW, with my ISP's Greek IP, I can access https://www.paypal.com/signin in NM28 at this very time without issue, but, as I don't have an account with them, can't proceed any further...
  22. ...It wasn't working for him, but now it is : PS: The forum software doesn't send a second (e-mail) notification to thread-subscribed members after one has edited one's original post (for which an initial notification has already been sent) ... Browser profile corruption is always a possibility, so, as others have noted, regular profile back-up and back-up of important info on physical copies is always strongly recommended ... ... Probably NOT ...
  23. ... Your generalised , yet unhelpful , comment about AVs aside, what I actually meant with "berserk" was that the ZIP archive (and contained yt-dlp.exe binary) shared by nicolaasjan previously here was flagged, more specifically the wrapper DLL file "libxt.dll"; I'm sure this is a false positive, yet many AV engines won't "tolerate" well such wrapper DLLs, which hook and alter system file behaviour ; on VT, half (31/67) the engines listed there ALSO flag the archive as "malicious": https://www.virustotal.com/gui/file/6ee52d1561e7ba3fc833eef35673d35b5325b2a5aad4efeeda5a1ae2c08aba41/detection ... but let's NOT turn this into an AV pros & cons discussion; MSFN has a dedicated forum/thread, oftentimes turbulent and cyber-bullied ... I whitelisted the archive and binary, what I wanted to convey was that the binary wouldn't even launch under Vista SP2, let alone perform a video download test ...
  24. ... One should visit nicolaasjan's GitHub repo ; load latest yt-dlp release, https://github.com/nicolaasjan/yt-dlp/releases/latest then expand assets (if not expanded) and there they are : yt-dlp_win7.exe => 64-bit compile, yt-dlp_x86_win7.exe => 32-bit compile, BOTH are built on py3.13, so are good for the next 4 yrs, at least... Win7-compatible py3.13 courtesy of adang1345 ... Well, you didn't go through the GitHub issue I linked to ; there are automated solutions suggested such as this one : https://github.com/grqz/yt-dlp-getpot-jsi/blob/master/README.md @user57: https://www.python.org/downloads/release/python-31018/ is the latest py3.10 release by the PSF (security-only release in source-code form: https://www.python.org/ftp/python/3.10.18/Python-3.10.18.tar.xz ) Let me just say that achieving Vista SP2 (NT 6.0) compatibility should be much easier that targeting XP (NT 5.x); the last Vista compatible version was py3.7 (py3.4 for XP SP3). One should thoroughly comb the py3.10 source code and identify ALL the Vista breaking code the PSF authored after py3.7; these changes should then be reverted or rewritten with "translated" code that is py3.7 compatible; once that task has been completed, the modded source should then be compiled with a suitable compiler (MSVC and/or MSYS2) targeting NT 6.0 and, also, the 32-bit architecture; but this is NOT all ; yt-dlp itself has quite a large number of dependencies, i.e. Python modules; the py3.10 wheels for them to be found on PyPI are made with the official py3.10 in mind, so compatibility with a Vista-py3.10 isn't always a given, especially in the case when the modules contain C/C++ extensions (i.e. DLLs, which, under Windows, have the .pyd file extension); these Python modules have to be recompiled from their sources using the modded py3.10 and the same compiler that compiled py3.10 itself (probably on a Win10 host). Things on XP should be even more difficult because several py3.10 own dependencies, e.g. OpenSSL, have moved away from XP long time ago... https://github.com/adang1345/PythonWin7/blob/master/Notes.md#python-310 and https://github.com/adang1345/PythonWin7/tree/master/patches are adang1345's instructions on how to make py3.10 run on Win7; perhaps they'd be somehow useful for someone wanting to also attain NT 6.0 compatibility ... PS: the yt-dlp devs are adamant on always dropping a Python version once the PSF have dropped security support for that version (they're also keen on using the latest bells and whistles a new Python version comes with ) ; and the PSF always align themselves behind Microsoft when it comes to the Windows OS, so, as a result, only Win10+ is officially supported now ... PS2: Maroc's py3.11 offering previously discussed is what is called a binhack (binary hack): official DLL and EXE binaries are HexEdited and XP-incompatible functions are either stubbed or forwarded to a set of wrappers, mostly One-Core-API and/or Wine DLLs; the end result 1) makes my antivirus solution go completely berserk 2) WON'T even launch under Vista SP2 32-bit, as the wrapper DLLs specifically target NT 5.x system DLLs ...
×
×
  • Create New...