Jump to content

Who here has a Youtube-DL compile for WinXP?


Recommended Posts

Posted

Since there now a separate, required build for Windows 7, can you please add a small link in the signature? So far no problems.


Posted
43 minutes ago, j7n said:

Since there now a separate, required build for Windows 7, can you please add a small link in the signature? So far no problems.

Sure, what version do you want to link it to?

yt-dlp_x86_win7.exe, yt-dlp_win7.exe or yt-dlp_win7.zip 

Note, that you can update the .exe files with -U.

Posted

yt-dlp_win7.exe is the usual one. What is the advantage of using yt-dlp_win7.zip with extracted libraries to _internal?

How long does it take to prepare more than a dozen builds for an update?

Posted
3 minutes ago, j7n said:

What is the advantage of using yt-dlp_win7.zip with extracted libraries to _internal?

It doesn't have to unpack the executable to the TEMP directory each time yt-dlp is executed, so it loads a bit faster and doesn't wear your disk that much.

The disadvantage is, that you can't update it with `yt-dlp -U`.

Quote

How long does it take to prepare more than a dozen builds for an update?

Around 20 minutes.

I have to fire up different virtual machines, each with different Python installs.

I only have to build the custom ones for XP, Win7 and Linux_x86. The rest is done by GitHub Actions workflow.

Posted
9 hours ago, nicolaasjan said:

I only have to build the custom ones for XP, Win7 and Linux_x86.
The rest is done by GitHub Actions workflow.

Hi :P ; well, cmalex's py3.11.4 assemblies (one compatible with just XP and one with Vista+) aren't currently being hosted on GitHub (AFAIAA), but they can be ;) ; OTOH, adang1345's py3.13.7 assembly is already hosted on GitHub, and so is 3dyd's custom PyInstaller build used to make the Win7/Vista yt-dlp distributions; it may be possible, at least in theory, to author a modded GA workflow file to point to the custom implementations of CPython+PyInst necessary to package the Win7/Vista builds; e.g., upstream are using their own, custom, build of PyInstaller to create the "official" yt-dlp releases; perhaps a consultation with your "AI friend(s)" :sneaky: (or a question on SO, etc.) could prove beneficial in fully automating even the (currently) manually created release assets :P ; just a thought from a dedicated (hardly intelligent :D) friend of yours...

Best wishes :) !

Posted (edited)
On 10/7/2025 at 5:49 PM, VistaLover said:

it may be possible, at least in theory, to author a modded GA workflow file to point to the custom implementations of CPython+PyInst necessary to package the Win7/Vista builds; e.g., upstream are using their own, custom, build of PyInstaller to create the "official" yt-dlp releases; perhaps a consultation with your "AI friend(s)" :sneaky: (or a question on SO, etc.) could prove beneficial in fully automating even the (currently) manually created release assets

Oh, I don't mind building myself. :cool:

That said, there is a new Python stable release (3.14.0) from adang1345.

Test build for Vista/Win7 (32bit):

yt-dlp_Py3.14.0_x86_Vista.7z :)

As usual, the Brotli dependency is not yet available for Python 3.14...

So, I had to build a wheel myself from source (not easy...).

Here is the 32bit variant, if you want to compile yt-dlp yourself:

brotli-1.1.0-cp314-cp314-win32.whl

Edited by nicolaasjan
Posted
3 hours ago, nicolaasjan said:

So, I had to build a wheel myself from source (not easy...).

Pardon my asking :P, but which type of C compiler was used there? MS Visual Studio 2022 on Win10? :dubbio:

Posted (edited)
On 10/8/2025 at 8:11 PM, nicolaasjan said:

there is a new Python stable release (3.14.0) from adang1345

... Same is true (new bugfix release) for his py3.13.x builds: 

https://github.com/adang1345/PythonVista/tree/master/3.13.8

(seeing that your GitHub "Win7" release assets are compiled with adang1345's py3.13 implementation ;) )

Edited by VistaLover
py3.11 -> py3.13
Posted
8 hours ago, VistaLover said:

Pardon my asking :P, but which type of C compiler was used there? MS Visual Studio 2022 on Win10? :dubbio:

I used this:

https://github.com/mstorsjo/llvm-mingw

The 32bit build was compiled with Python 3.14.0 (x86) from adang1345 on Windows 10 IoT Enterprise LTSC. :sneaky:

The 64bit build was compiled with Python 3.14.0 (x86-64) from adang1345 on Windows 7.

To let Python use this compiler, place a file named `distutils.cfg` (see below) in `.\Lib\distutils` in Python install directory (create folder `distutils`).

[build]
compiler = mingw32

Build Brotli:

Download source tarball and extract.

In source directory run:

python setup.py build_ext --compiler=mingw32 install

Build wheel:

python setup.py build_ext --compiler=mingw32 bdist_wheel

In the directory where the built wheel is, run:

pip install --force-reinstall brotli-1.1.0-cp314-cp314-win32.whl

 

Quote

(seeing that your GitHub "Win7" release assets are compiled with adang1345's py3.11 implementation ;) )

Huh???

.\yt-dlp_win7.exe -v
[debug] Command-line config: ['-v']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out cp1252 (No VT), error cp1252 (No VT), screen cp1252 (No VT)
[debug] yt-dlp version nicolaasjan/yt-dlp@2025.10.05.061237 (win7_exe*)
[debug] Python 3.13.7 (CPython AMD64 64bit) - Windows-7-6.1.7601-SP1 (OpenSSL 3.0.16 11 Feb 2025)
[debug] exe versions: ffmpeg git-2025-10-04-e05f8ac-ffmpeg-windows-build-helpers (fdk,setts), ffprobe git-2025-10-04-e05f8ac-ffmpeg-windows-build-helpers, phantomjs 2.5.0
[debug] Optional libraries: Cryptodome-3.23.0, brotli-1.1.0, certifi-2025.08.03, curl_cffi-0.13.0, 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, curl_cffi
[debug] Extractor Plugins: NSigDeno (YoutubeIE)
[debug] Plugin directories: C:\Users\Nico\AppData\Roaming\yt-dlp\plugins\bgutil-ytdlp-pot-provider\yt_dlp_plugins, C:\Users\Nico\AppData\Roaming\yt-dlp\plugins\yt-dlp-YTNSigDeno\yt_dlp_plugins
[debug] Loaded 1833 extractors

And the next Win7 builds will be Py3.14 based.

Posted
17 hours ago, nicolaasjan said:

Thanks :); they note

Quote

The toolchain defaults to using the Universal CRT and targeting Windows 7. These defaults can be changed in build-mingw-w64.sh though. The Universal CRT is only available out of the box since Windows 10, but can be installed on Vista or newer. For x86, there are also releases that run on msvcrt.dll.

Hopefully, the brotli py3.14 wheel (file brotli-1.1.0-cp314-cp314-win32.whl) you kindly shared :thumbup remains Vista-compatible; though, TBH, I'm not aware of any tests (within the context of yt-dlp or otherwise) I can submit it to :whistle:...

Other than that, thank you for the details of the compilation procedure :worship: ; I agree it's not for the faint-hearted (or those lacking access to recent OS+H/W); when I, regrettably, find that PyPI misses wheels for a specific "module+module version+CPython+architecture" combination, I usually issue: 

python -m pip install module==specific_version

and then let pip do its job in invoking setuptools+wheel to compile from module source; in the meantime, I cross my fingers for things to go as expected :whistle:, which isn't always the case :( ; if the compilation succeeds, then pip will store in its cache a copy of the generated wheel, for easy re-usage; the local path to that wheel is being displayed in the command prompt window, so I always grab a copy from there ;) ; of course, this is for pure Python modules, for ones with C/C++ extensions, a compiler must be made available to CPython (as you detailed yourself); CPython > 3.4 requires VS2015+, not compatible with my current OS :( ...

17 hours ago, nicolaasjan said:
Quote

(seeing that your GitHub "Win7" release assets are compiled with adang1345's py3.11 implementation ;) )

Huh???

The above was meant to be written as: 

... are compiled with adang1345's py3.13 (branch) implementation

so that was a typo/oversight on my part :blushing: ; apologies... Ofc I'm aware you've been using 3.13.7 for the win7 (+Vista) yt-dlp variants, that's why I wrote an update was due to recently released 3.13.:sneaky: ...

17 hours ago, nicolaasjan said:

And the next Win7 builds will be Py3.14 based.

... That's your call, surely, but I'm more of a conservative person myself :P, who doesn't believe "the latest is the greatest"; however, if you're absolutely certain the yt-dlp code is fully compatible with recently released py3.14 (and the CPython itself doesn't come with any major bug), then go for it :) ; personally, I'd stick with the minimum CPython version mandated by yt-dlp, soon to be py3.10 (but it's also nice I can experiment with higher versions here, all thanks to adang1345 :wub: ) ...

Best regards.

Posted (edited)
9 hours ago, VistaLover said:

Other than that, thank you for the details of the compilation procedure :worship: ; I agree it's not for the faint-hearted (or those lacking access to recent OS+H/W); when I, regrettably, find that PyPI misses wheels for a specific "module+module version+CPython+architecture" combination, I usually issue: 

Fortunately, my main system (Linux Mint) didn't have any issue compiling Brotli "automagically" when installing the dependencies for my newly compiled Python 3.14 (altinstall; that is, it is installed without interfering with system Python).

Compiler is shipped with the distro. :)
 

Quote

 

The above was meant to be written as: 

... are compiled with adang1345's py3.13 (branch) implementation

so that was a typo/oversight on my part :blushing: ; apologies...

 

No problem, I was suspecting that already. :lol:

Quote

however, if you're absolutely certain the yt-dlp code is fully compatible with recently released py3.14

It is.

Edited by nicolaasjan

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...