Jump to content

Who here has a Youtube-DL compile for WinXP?


Recommended Posts

Posted
11 hours ago, genieautravail said:

pip3 install pypiwin32==219

That fails... :(

C:\WINDOWS\system32>pip3 install pypiwin32==219
Collecting pypiwin32==219
  Downloading pypiwin32-219.zip (4.8 MB)
     ---------------------------------------- 4.8/4.8 MB 34.5 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  Š exit code: 1
  ?-> [7 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\DOCUME~1\Nico\LOCALS~1\Temp\pip-install-dc5wwsp0\pypiwin32_
2eeea55aa29a49828086cc1e996b6441\setup.py", line 121
          print "Building pywin32", pywin32_version
                ^
      SyntaxError: Missing parentheses in call to 'print'. Did you mean print("B
uilding pywin32", pywin32_version)?
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem wit
h pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
?-> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

And then after that, installing PyInstaller 3.2.1 also fails because of that missing module...


Posted

i do not know python 
however if i interpret it right it says it cant install that "packet" called "pypiwin32" version "219" ?

if so not the compiler told you a problem, then the installer of that pypiwin32 failed 

 


whatever name it can be given "packet" "plugin" "addon" "extra piece to pyhton software" "pypiwin32 v219" 


https://pypi.org/project/pywin32/

only in case if i suspected right, if not im happy to see the comments and being correct to the right thing

Posted (edited)

@nicolaasjan

Try with :

pip3 install pypiwin32==220

Or

pip3 install pypiwin32==223

I successfully installed pypiwin32 219 on Python 3.4.4 five months ago for compiling a Python project with Pyinstaller 3.2.1 that doesn't use the SSE2 instructions set.

For Python 3.8 or 3.9, probably that a more recent build need to be installed. :dubbio:

Regards

 

 

Edited by genieautravail
Posted (edited)
14 hours ago, nicolaasjan said:

installing PyInstaller 3.2.1 also fails because of that missing module

9 hours ago, genieautravail said:

I successfully installed pypiwin32 219 on Python 3.4.4 five months ago for compiling a Python project with Pyinstaller 3.2.1 ...

... According to: 

https://pypi.org/project/pyinstaller/3.2.1/

( "Programming Language" in the sidebar), pyinstaller==3.2.1

hasn't been tested to work on py>3.5 :dubbio:...

Quote

Works out-of-the-box with any Python version 2.7 / 3.3-3.5.

Edited by VistaLover
Posted (edited)
5 hours ago, genieautravail said:

pip3 install pypiwin32==223

I got a bit further with this one.

But when trying to compile yt-dlp, I get:

C:\Documents and Settings\Nico\Desktop\yt-dlp_source>py -m bundle.pyinstaller --onefile
Traceback (most recent call last):
  File "C:\Python39\Lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Python39\Lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Documents and Settings\Annelies\Bureaublad\yt-dlp_source\bundle\pyinstaller.py", line 11, in <module>
    from PyInstaller.__main__ import run as run_pyinstaller
  File "C:\Python39\lib\site-packages\PyInstaller\__main__.py", line 21, in <module>
    import PyInstaller.building.build_main
  File "C:\Python39\lib\site-packages\PyInstaller\building\build_main.py", line 32, in <module>
    from ..depend import bindepend
  File "C:\Python39\lib\site-packages\PyInstaller\depend\bindepend.py", line 38, in <module>
    from ..utils.win32.winmanifest import RT_MANIFEST
  File "C:\Python39\lib\site-packages\PyInstaller\utils\win32\winmanifest.py", line 97, in <module>
    from PyInstaller.utils.win32 import winresource
  File "C:\Python39\lib\site-packages\PyInstaller\utils\win32\winresource.py", line 21, in <module>
    import win32api
ImportError: DLL load failed while importing win32api: The specified module could not be found.

I think I'm about to give up trying to build an SSE version...

`pip list` says I have these packages installed now:

altgraph                  0.17.3
Brotli                    1.1.0
certifi                   2024.8.30
charset-normalizer        3.3.0
future                    1.0.0
idna                      3.4
mutagen                   1.47.0
pefile                    2023.2.7
pip                       24.2
pycryptodomex             3.21.0
PyInstaller               3.2.1
pyinstaller-hooks-contrib 2023.1
pypiwin32                 223
pywin32                   307
pywin32-ctypes            0.2.2
requests                  2.32.3
setuptools                75.1.0
urllib3                   2.2.3
websockets                13.1
wheel                     0.44.0

(dependency curl_cffi would not install on XP)

Edited by nicolaasjan
Posted
20 minutes ago, genieautravail said:

@VistaLover

If you don't try, you don't know... :)

Salut :) ; since you are the party interested, i.e. the one in possession of an SSE-only CPU, you can "try;) yourself whether the following route leads to somewhere:

The CPython (py3.9) implementation used by nicolaasjan is a fork and recompile of a py3.9.x release by @cmalex , targeting his SSE-only processor; do note that this compile has special configuration that deviates slightly from the PSF's one, as I had discovered in the past myself when messing with it (e.g. pip wouldn't successfully install some modules, while the installation would be fine with the PSF compile). 

You don't need a yt-dlp_x86.exe binary per se; you can try to install yt-dlp as a Python module 

python -m pip install yt-dlp

using the py3.9-win32-sse library; the above command will attempt to co-install all necessary dependencies; however, some of these contain binary parts (C/C++ extensions, they're the files with ".pyd" extension) that have been precompiled as wheel packages by their authors, not specifically targeting < SSE2 CPUs... As cmalex has done himself with some python modules he was after, these had to be also (forked/)recompiled locally on his target machine, to ensure no SSE2 instructions sneak in the compiled code; this only complicates things further (i.e. when python modules have to be compiled from source rather than installed via wheels); a similar approach would be to "try" and run yt-dlp directly as a python script, using, of course, the aforementioned py3.9-win32-sse compilation; again, the "requirements" must have been successfully installed, which is the real question here...

(rant mode ON) 
Python coders of this era have no consideration at all :thumbdown for backwards compatibility; they'd like to only code in Python 3.20, if they could get their hands on it now, supposedly because it makes their lives "easier"; with the official PSF stance being "we only support what Microsoft supports", this practically means that Python projects will soon ONLY run under Win[10/]11, on H/W compatible with these OSes only :realmad: ; to add insult to injury, with Win11 being 64-bit only, I have trouble already finding 32-bit compiles for many of the (open source) programs I want :( ...

If it weren't for dirkf, who decided to go against the tide and tries single-handedly to keep youtube-dl code compatible with older Python versions (thus able to run on older Windows, too), things would've been already dead for XP/Vista[/Win7] yt-dl users...
(rant mode OFF)

Posted

"ImportError: DLL load failed while importing win32api: The specified module could not be found."

that one sounds of interests 

because if its right what it says it has searched for a module (aka a dll or similiar) not a missing function (that may resides in that youtube downloader code)

as i said i dont know python so i cant say exactly - but if its the other way around (for example it did not find the function) that description message is wrong


but as i know python is a challenger to java - and java is rather a script/engine like language
that means if a certain version build in some new functions or changed things up you bond to that engine - therefore it breaks up

it got an advantage however since its a script "that should solve a piece of code" that code can get a different interpretation 
then that function can just be replaced with one function that works


with the backwards compatibility i have a bit of a different meaning to vistalover

you can write a code that works for all os (in this case just normal opcodes)
then both works - and its "like" a end of story

the way this gotten is a bit weird it sounds like 1 guy tryed to go against many people code (what he probaly has hard to win over)
while if all just made normal opcodes that would not even have been a problem

it makes it sound like its hard to make it backwards compatible - but rather its oposite 
in this case it might be right if you make the right "if´s" 


but if it gone the other way around (just making normal opcodes) neither future nor the backwardsguy "diskf" would have any problems
and that way it would not be harder for anyone either

 

 

in sence of a company backwards compatibility is a good thing - because it means more buyers, as it has a wide range of users that can buy that product

Posted (edited)
On 10/8/2024 at 8:13 AM, reboot12 said:

I use nightly build version 2024.08.07 and no any errors.

i don't understand how you get so lucky. But some times i can download some video to with out error. Most of time i have error 403, on git many people have same error.

Quote
C:\Users\S75\Downloads\Youtube dl>youtube-dl https://www.youtube.com/watch?v=nhPaWIeULKk
[youtube] nhPaWIeULKk: Downloading webpage
[youtube] nhPaWIeULKk: Downloading player 2b2385a0
[dashsegments] Total fragments: 11
[download] Destination: Gorillaz - Stylo (Official Video)-nhPaWIeULKk.f137.mp4
[download]   9.1% of ~110.00MiB at 17.04MiB/s ETA 00:05   [download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 2 (attempt 1 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 2 (attempt 2 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 2 (attempt 3 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 2 (attempt 4 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 2 (attempt 5 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 2 (attempt 6 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 2 (attempt 7 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 2 (attempt 8 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 2 (attempt 9 of 10)...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 2 (attempt 10 of 10)...

[download] Skipping fragment 11...
[download] 100% of 10.00MiB in 00:05
[dashsegments] Total fragments: 1
[download] Destination: Gorillaz - Stylo (Official Video)-nhPaWIeULKk.m4a.f140.m4a

ERROR: giving up after 10 fragment retries

 

Edited by S75
Posted
16 hours ago, VistaLover said:

The CPython (py3.9)

You tell about This  ?

 

16 hours ago, VistaLover said:

targeting his SSE-only processor

what exactly file do i need for sse processor? 

 

Снимок экрана 2024-10-10 161605.png

python.jpg

Posted
5 hours ago, S75 said:

i don't understand how you get so lucky.

It was still working at the end of August. Today I checked and there is actually a 403 error.

Posted

SSE dont sound to bad for me to be honest, at some point a CPU would probaly just be to slow to handle the job - here it might could be solved but

is it that SSL that was written in SSE ? 

if so it is certainly possible to write that one to normal opcodes 

 

then you probaly need to understand that XMM logic and transfer it to normal opcodes (emulators of elder retro games do so for example). since it would be a hash then nobody would reconize a differenz

Posted

@S75, @reboot12 

Most evil/satanic Google :realmad: have got the upper hand now, it appears; you can read about it here :( ; "potoken" is the name of their latest anti-downloader measure :angry: ; the WEB client fully enforces it now, so youtube-dl from back in August now gets the door :( ...

I had better success with reboot12's video posing as a different device, not yet fully potoken-ed :P : 

youtube-dl -f 136+140 "nhPaWIeULKk" --user-agent "Mozilla/5.0 (Android 14)" =>

[youtube] nhPaWIeULKk: Downloading webpage
[youtube] nhPaWIeULKk: Downloading API JSON
WARNING: You have requested multiple formats but ffmpeg or avconv are not installed. The formats won't be merged.
[dashsegments] Total fragments: 3
[download] Destination: Gorillaz - Stylo (Official Video)-nhPaWIeULKk.f136.mp4
[download] 100% of 28.23MiB in 00:24
[dashsegments] Total fragments: 1
[download] Destination: Gorillaz - Stylo (Official Video)-nhPaWIeULKk.m4a.f140.m4a
[download] 100% of 4.67MiB in 00:05

(yes, I know about the missing ffmpeg.exe; this was just a test download with only the yt-dl v2024.08.07 nightly binary...)

Posted

@VistaLover that looks greet. Will you do any test or other beta version of youtube-dl with this method? May be you need write about this feature in youtube-dl git pull request to add this implementation to fix it :zzz:

Posted
6 hours ago, S75 said:

@VistaLover that looks greet. Will you do any test or other beta version of youtube-dl with this method? May be you need write about this feature in youtube-dl git pull request to add this implementation to fix it :zzz:

They are already aware of the user-agent workaround.

You can read all about it in this issue.

But, as @dirkf states:

Quote

The mobile UA isn't working with playlist pages and tabs. You should be able to work (further) around this by getting the playlist JSON normally and then getting the videos with the mobile UA.

 

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

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