AstroSkipper Posted January 23, 2024 Posted January 23, 2024 (edited) YouTube under Windows XP - Downloaders, players and browser support This thread is meant to collect and provide all necessary information about YouTube using in Windows XP. As far as I can see, most information here in MSFN spread over various threads, in many cases rather unstructured and not easy to find. I would like to put an end to that. For months, I have been intensively studying YouTube and its still existing functionality in terms of Windows XP. And I can already say that YouTube is still fully functional under Windows XP. But first, thanks to two members of MSFN who are partly responsible for this, @nicolaasjan and @Reino. What did they do for us? @nicolaasjan provides XP-compatible forks of the most recent youtube-dl and yt-dlp releases which are recommended replacements for the old, depreciated ones or the new ones which are no longer working under Windows XP. On the other hand, @Reino provides XP-compatible (and SSE-compatible!) forks of the well-known tool ffmpeg whose more recent versions actually do not work anymore under Windows XP for years. With these programs, yt-dlp and ffmpeg, it is possible to stream or download YouTube videos, convert them, include subtitles (or lyrics) and so on, all in Windows XP. This is no longer possible with the old, official XP-compatible versions of youtube-dl and yt-dlp, and the new releases of ffmpeg. Last but not least, @cmalex deserves recognition and credit for compiling flavours of CPython 3.8.x/3.9.x and much other things that made the development of new releases such as yt-dlp possible at all. Thanks all for your contributions! More about all that in later posts. Feel free to post here software recommendations, tips, experiences, opinions and so on regarding the topic of this thread! In any case, all about YouTube under Windows XP can be considered on-topic here in this thread. Greetings from Germany, AstroSkipper Edited March 6 by AstroSkipper Update of content 4
AstroSkipper Posted January 23, 2024 Author Posted January 23, 2024 (edited) YouTube Downloaders still working under Windows XP Here are some recommendations for YouTube Downloaders still working under Windows XP (and presumably under Windows Vista, too): yt-dlp for Windows XP with a CPU which is equipped with an instruction set of SSE2 or higher. Credits to @nicolaasjan. youtube-dl for Windows XP with a CPU which is equipped with an instruction set of SSE only. Credits to @nicolaasjan. 3D Youtube Downloader (free of charge). The version I am using is now 1.22.2. Starting with this version or one before, this downloader now uses the yt-dlp provided by @nicolaasjan. YouTube Downloader HD 3.7.0.0 (free of charge). There are two versions, an installer and a portable one. These are the last XP-compatible versions. This downloader does not use yt-dlp or youtube-dl. Youtube-dl GUI 0.4 (free of charge). When calling up the executable youtube-dl-gui.exe the first time, a folder youtube-dlg will be created under Documents and Settings\your username\Application Data where you have to replace the file youtube-dl.exe by @nicolaasjan's XP-compatible yt-dlp file. Be aware to keep the original file name! Allavsoft Video Downloader Converter (commercial). The version I am using is 3.25.3.8409 but there are newer ones like for example 3.26.1.8768. Inside the main folder, you have to replace both files youtube-dl.exe and yt-dlp_x86.exe by @nicolaasjan's XP-compatible ones. Be aware to keep the original file names! ytBATCH for Windows XP - A fork of ytBatch by @AstroSkipper which is a YouTube video and audio downloader script (actually rather a batch script ensemble). And these are by no means all the YouTube Downloaders that still work under Windows XP. So, there is no need to watch YouTube videos inside browsers under Windows XP on weak computers, although this is of course possible, too. Cheers, AstroSkipper Edited Wednesday at 05:06 PM by AstroSkipper Update of content 3
VistaLover Posted January 23, 2024 Posted January 23, 2024 1 hour ago, AstroSkipper said: This is no longer possible with the old, official XP-compatible versions of youtube-dl This is just a technicality, but youtube-dl NEVER "officially" dropped Windows XP SP3 support; the python script itself, to this day, remains compatible even with such an old CPython version as py2.6 and py3.2 (!), though, for best results under XP, CPython 2.7.18 (EoS for that OS) and CPython 3.4.10 (EoS for that OS) should be used... The provided, standalone, Windows executable youtube-dl.exe, has been historically compiled with the py2exe Python module and comes bundled with CPython 3.4.4 32-bit (WinXP SP3, SSE+ compatible). In the case of yt-dl, "official" is open for interpretation, because the team of devs behind https://github.com/ytdl-org/youtube-dl and the last "stable" release https://github.com/ytdl-org/youtube-dl/releases/tag/2021.12.17 retired (read: abandoned the project) a few years ago, but that same repo is under new management currently (ownership transfer) by, sadly, only ONE maintainer, @dirkf, who vowed to keep support for older python versions (and, by association, older WinOSes like XP/Vista ). The new maintainer doesn't believe in a "stable" releases scheme and has instead opted to adopt a "nightly" releases scheme, to be found under: https://github.com/ytdl-org/ytdl-nightly/tags The binaries there are compiled from source code of the original repo, thus I do still consider these releases as "official", i.e. they're NOT FORKS ... In closing, if you'd allow me to be somewhat pedantic , the XP-compatible builds of yt-dlp.exe most kindly released by nicolaasjan to this community wouldn't be a thing if it weren't for cmalex, who compiled himself flavours of CPython 3.8.x/3.9.x that will launch under XP - so, IMHO, he, too, deserves some credit! ... 2
AstroSkipper Posted January 23, 2024 Author Posted January 23, 2024 4 minutes ago, VistaLover said: In closing, if you'd allow me to be somewhat pedantic , the XP-compatible builds of yt-dlp.exe most kindly released by nicolaasjan to this community wouldn't be a thing if it weren't for cmalex, who compiled himself flavours of CPython 3.8.x/3.9.x that will launch under XP - so, IMHO, he, too, deserves some credit! ... You are absolutely right. In any case, @cmalex deserves recognition and credit for compiling flavours of CPython 3.8.x/3.9.x and much other things. 1
sonyu Posted January 23, 2024 Posted January 23, 2024 (edited) will be great to have "play in VLC" option in browser context menu as I've seen some time ago; https://delightlylinux.wordpress.com/2016/04/28/how-to-play-youtube-videos-in-vlc/ sorry if the solution provided here in msfn it's newer / better or more compatible... based on youtube.lua https://github.com/videolan/vlc/blob/master/share/lua/playlist/youtube.lua https://addons.mozilla.org/es/firefox/addon/open-in-vlc/ just seen you mentioned something alike, @AstroSkipper and here is a compilation of frontend alternatives: https://github.com/mendel5/alternative-front-ends?tab=readme-ov-file#youtube Edited January 23, 2024 by sonyu
grey_rat Posted January 24, 2024 Posted January 24, 2024 (edited) For VLC https://code.videolan.org/videolan/vlc/-/blob/master/share/lua/playlist/youtube.lua Extensions ViewTube https://addons.mozilla.org/en-US/firefox/addon/viewtube/ 3DYD http://ys.3dyd.com/help/usage/ SaveFrom.net https://addons.mozilla.org/en-US/firefox/addon/savefromnet-helper/ Easy Youtube Video Downloader Express https://addons.mozilla.org/en-US/firefox/addon/easy-youtube-video-download/ 5.1.13 SponsorBlock https://addons.mozilla.org/firefox/downloads/file/4064410/sponsorblock-5.1.13.xpi YouTube Mobile for desktop https://addons.mozilla.org/en-US/firefox/addon/youtube-mobile-for-desktop/ Edited January 24, 2024 by grey_rat 1
FranceBB Posted January 25, 2024 Posted January 25, 2024 (edited) Not exactly the best solution, but when I wanna download something from YouTube I use JDownloader2 which is running using Java and it's cross platform. It's still updated regularly and it still runs on the latest XP supported version of Java just fine. This is not an accident, but rather a nice coincidence given that JDownloader2 is cross platform and therefore supports all OS capable of running Java, including a wide variety of Linux distro which are running a very old version of Java, which is why it still works perfectly fine on XP at every update. As for the FFMpeg libraries it uses, I'm of course using Reino's fork that he regularly publishes on Doom9 and that have been already mentioned in this thread. As for things I wanna watch on my PC without downloading them, with M108 (the chromium fork), all videos work, including VP9 ones and AV1 ones as they're royalty free codecs whose decoders are included/embedded in chromium however they all run via software decoding due to the nature of the XP compatible versions of chromium. Nonetheless, for anything up to 1920x1080 60p software decoding on a quad core is fine. I don't of course expect it to be playing 4K or 8K footages via software decoding on a puny 4 cores CPU, but realistically most of us probably have a FULL HD 60Hz display anyway, so we're gonna be more than fine for the time being. Edited January 25, 2024 by FranceBB
Reino Posted January 25, 2024 Posted January 25, 2024 (edited) With my ±20 year old pc (AMD Athlon XP 3200+ and ATI Radeon HD 3850 (AGP)) watching Youtube videos in-browser is next to impossible, because of the 100% cpu-utilization. It's just too slow. The videocard however does support hardware video-decoding of H.264 up to 1080p. To watch and/or download Youtube videos I always use (my own) simple Youtube-extractor + the latest still working MPC-HC on WinXP to watch, or - of course - my own WinXP compatible FFmpeg builds to download. My Youtube-extractor is part of an XQuery function module, Xivid, for the command-line tool Xidel (an XML/HTML/JSON parser). It's a simple extractor, in the sense that it doesn't support age-gated-videos. You'd still need youtube-dl / yt-dlp for that. But for "normal" videos, the vast majority I come across, it works absolutely fine and because it doesn't depend on Python it's multitudes faster (on my old system). The extractor uses the Android API call, which means there's no bandwidth-throttling or a need to decrypt signatures. Extracting Xidel 0.9.9.8787 or newer. For WinXP download the "openssl.win32"-variant! Besides 'xidel.exe', don't forget to extract 'cacert.pem' as well. Alternatively you could download one from my host, which are much smaller because I removed the "debug symbols". OpenSSL 3.3.1 dll-files to be able to open and process virtually any https-url nowadays. Put them in the same map as 'xidel.exe', in 'C:\Windows\system32', or somewhere in %PATH%. 'xivid.xqm'. My XQuery function module with the xivid:youtube() function declaration. Watching The latest still working MPC-HC on WinXP and my (non SSE2) cpu. There may be some newer releases than this one that might still work on WinXP, but then you'll need an SSE2 cpu. LAVFiltersXP 0.70.2. Special LAVFilters release where libavformat is compiled with GnuTLS for https-support. There's a newer release, but it instantly crashes on my system. standalone_filters-mpc-be.1.4.6.x86.7z for 'MPCVideoDec.ax', the DXVA1 hardware video-decoder (which LAVFilters lacks). MPC-BE 1.4.6 is the latest official WinXP compatible release. Alternatively you could download standalone_filters-mpc-be.1.4.7.0.x86.(VS2015).7z. This is an unofficial backported WinXP compatible release, which also works fine on my system. From 'MPC-HC.1.7.11.24.x86.7z' extract everything except the "LAVFilters"-map. From 'LAVFiltersXP-0.70.2-beta2-x86.zip' extract - at least - the manifest-file, all dll-files and ax-files to 'MPC-HC.1.7.11.24.x86\LAVFilters'. From 'standalone_filters-mpc-be.1.4.6.x86.7z' extract 'MPCVideoDec.ax' anywhere you want basically. Then finally in MPC-HC: Options --> External Filters --> Add Filter... --> Browse... --> select 'MPCVideoDec.ax' --> tick the "Prefer"-box. This way you can watch most* https progressive-, DASH- and HLS-videostreams with your gpu doing the video-decoding. Downloading My FFmpeg builds obviously. Nothing more to say. Discussion on Doom9 Forum. Command-lines The most basic Xidel-call for a Youtube-video would be... xidel.exe -s --module=xivid.xqm -e "xivid:youtube('https://www.youtube.com/watch?v=dQw4w9WgXcQ')" xidel.exe -s --module=xivid.xqm -e "xivid:youtube('dQw4w9WgXcQ')" ...which returns a JSON with all the different audio- and video formats. The following command I use all the time to watch the 720p (itag 22) progressive video: FOR /F "delims=" %A IN (' xidel -s --module^=xivid.xqm -e "xivid:youtube('dQw4w9WgXcQ')/(formats)()[starts-with(id,'pg')][last()]/url" ') DO @"C:\Program Files\Media\MPC-HC.1.7.11.24.x86\mpc-hc.exe" "%A" /close Update: Youtube doesn't provide the 720p (itag 22, H.264+AAC) container format anymore. Only the 360p (itag 18) variant remains. The following command I now use all the time watch Youtube videos: FOR /F "delims=" %A IN (' xidel -s --module^=xivid.xqm -e "xivid:youtube('dQw4w9WgXcQ')/formats/`\"C:\\Program Files\\Media\\MPC-HC.1.7.11.24.x86\\mpc-hc.exe\" \"{.^(^)[format^='mp4[h264]' and substring-before^(resolution^,'x'^) le 1280][last^(^)]/url}\" /dub \"{.^(^)[format^='webm[opus]'][last^(^)]/url}\" /close`" ') DO @%A Prettified: FOR /F "delims=" %A IN (' xidel -s --module^=xivid.xqm -e " xivid:youtube^('dQw4w9WgXcQ'^)/formats/` \"C:\\Program Files\\Media\\MPC-HC.1.7.11.24.x86\\mpc-hc.exe\" \"{.()[format='mp4[h264]' and substring-before(resolution,'x') le 1280][last()]/url}\" /dub \"{.()[format='webm[opus]'][last()]/url}\" /close ` " ') DO @%A From the JSON generated by the extractor I select the H.264 720p (DASH video only) variant with the highest bitrate (which at the same time is always the one with the highest framerate) and the OPUS (DASH audio only) variant with the highest bitrate. I'll let Xidel generate the (long) string, which in turn the FOR-loop executes as an MPC-HC command. For downloading it's as easy as: FOR /F "delims=" %A IN (' xidel -s --module^=xivid.xqm -e "xivid:youtube('dQw4w9WgXcQ')/formats/`ffmpeg.exe -hide_banner -i \"{.^(^)[format^='mp4[h264]' and substring-before^(resolution^,'x'^) le 1280][last^(^)]/url}\" -i \"{.^(^)[format^='mp4[aac]'][last^(^)]/url}\" -c copy \"Rick Astley - Never Gonna Give You Up ^(Official Music Video^).mp4\"`" ') DO @%A FOR /F "delims=" %A IN (' xidel -s --module^=xivid.xqm -e " xivid:youtube^('dQw4w9WgXcQ'^)/formats/` ffmpeg.exe -hide_banner -i \"{.()[format='mp4[h264]' and substring-before(resolution,'x') le 1280][last()]/url}\" -i \"{.()[format='mp4[aac]'][last()]/url}\" -c copy \"Rick Astley - Never Gonna Give You Up (Official Music Video).mp4\" ` " ') DO @%A Or with 'webm[opus]' instead of 'mp4[aac]' and .mkv instead of .mp4. * LAVFiltersXP 0.70.2 is already pretty old which means that certain videostreams aren't (properly) supported. Youtube livestreams for instance, but also videos from Twitter. Luckily with FFmpeg there's a workaround for that: FOR /F "delims=" %A IN (' xidel -s --module^=xivid.xqm -e "xivid:youtube('###########')/(formats)()[last()]/url" ') DO @ffmpeg.exe -hide_banner -i "%A" -c copy -f nut - | "C:\Program Files\Media\MPC-HC.1.7.11.24.x86\mpc-hc.exe" - /close Edited September 28, 2024 by Reino Update for the fact that Youtube doesn't provide itag 22 anymore. 3
mina7601 Posted January 25, 2024 Posted January 25, 2024 24 minutes ago, Reino said: the latest still working MPC-HC on WinXP to watch Why not use this new version instead? It's much better than the last working XP version!
Reino Posted January 25, 2024 Posted January 25, 2024 Thanks. I didn't know about this one. Sadly I can't use either the MPC-HC, or the LAVFilters release, because here it crashes instantly. Guess it's for SSE2 cpus and newer.
j7n Posted January 25, 2024 Posted January 25, 2024 Recently, about a month ago, YouTube incrased the CPU usage on their pages. It is no longer possible to watch without stutterring on a Conroe CPU. To watch the videos, I only need YouTube-DL from this forum and Media Player Classic. I do not need FFmpeg. Direct watching with new MPC-HC is unrealiable. Seeking is slow. And my computer has a strange problem where the network is lost if certain video applications are active. It almost always happens when trying MPC-HC. Most videos are small enough that they can be downloaded to disk in reasonable time and then watched comfortably, with fast seeking over sponsorships.
grey_rat Posted January 25, 2024 Posted January 25, 2024 Quote With my ±20 year old pc (AMD Athlon XP 3200+ and ATI Radeon HD 3850 (AGP)) watching Youtube videos in-browser is next to impossible, because of the 100% cpu-utilization. It's just too slow. The videocard however does support hardware video-decoding of H.264 up to 1080p. WMP 10 supports DXVA 1. You can run YouTube videos in Fox browsers in Windows Media Player Firefox Plugin 1.0.0.8 (video above), with NVCUVID hardware decoding. I was unable to run DXVA 1 decoding on the GF7050 and Radeon HD2400 in WMP, but it is possible.
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now