AstroSkipper Posted April 22, 2025 Author Posted April 22, 2025 (edited) A night's sleep always brings new ideas to light. The 7-Zip commands for extracting can be simplified to remain completely relative in the path information such as I already did in the whole ytBATCH for Windows XP script ensemble. I will implement this in the next release. Sometimes, things are that simple. Edited April 23, 2025 by AstroSkipper Update of content 3
Cixert Posted April 23, 2025 Posted April 23, 2025 On 1/23/2024 at 10:29 PM, AstroSkipper said: ytBATCH for Windows XP 1.5 - 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 Thanks for the corrections, it's a pleasure. In the quote, you can see that version 1.5 is announced instead of version 1.6. I'll try your modifications to see how it works now. I use FAT32 as the system directory, without special permissions in drive D:\ I don't have any operating system on C:. I use that partition for system startup files and also as a shared program installation drive (it's not assigned as the system's default path). Since I have multiple operating systems, most programs are portable, so I don't have to install them on all of my operating systems. Also, many viruses attack C: directly, so I avoid them. Additionally, many programs store junk in C:, and this way I detect it quickly. In the case of ytBATCH, I followed the standard installation "D:\Archivos de programa" (the default path in Spanish for Program Files). So far I have not encountered any program that caused problems because it had D:\ as the drive. 1
AstroSkipper Posted April 23, 2025 Author Posted April 23, 2025 3 hours ago, Cixert said: In the quote, you can see that version 1.5 is announced instead of version 1.6. Thanks for replying! This is just a leftover and has now been edited by me. But the other announcements are correct and point to the most recent version. 3
Lirk Posted May 8, 2025 Posted May 8, 2025 On 4/19/2025 at 9:16 PM, AstroSkipper said: I have updated the YouTube files in the last XP-compatible PotPlayer version some days ago, taken from the most recent PotPlayer release. It works like a charm. No problems with cookies or anything else here. BTW, this last XP-compatible, slightly older PotPlayer is still the best media player under Windows XP, IMHO. PotPlayer works too unstable, it too often gives "Server Error" messages. So, now I am using YT-DLP with MPC-HC (from YOUTUBE-DL-PLAYBACK.zip), also available with YOUTUBE-DL for SSE CPUs. It also sometimes gives "Certificates Error" messages, but this can be ignored.
j7n Posted July 19, 2025 Posted July 19, 2025 Going to the YouTube site has become almost pointless because of the inability to comment. This issue may seem like it has gone away, but it's just encountered somewhat more rarely. If I look from another account,the comment isn't there, and I choose to edit a shadowbanned comment, it says "error" in red type and the comment disappears. Trying to get it to stick takes a long time (while waiting on the site on an old PC) and is usually unsuccessful. Removal of key words or their obfuscation with Greek letters or periods doesn't work. The site's search feature is horrible, feeding the same titles repeatedly, and the performance is of course down at the bottom. I suspect that watching on YouTube-DL is one contributing factor for the censorship. The system considers me a spammer who hasn't watched anything. Another factor is the controversy level of the topic, like politics, war, nationalism, nutrition, drugs, viruses, gender, and such. Comments seem less likely to stick there.
NotHereToPlayGames Posted July 19, 2025 Posted July 19, 2025 (edited) 8 hours ago, j7n said: Going to the YouTube site has become almost pointless because of the inability to comment. Sounds like an oddly "modern" metric to gauge a web site's usability. Not for me, but yeah, "to each their own". Edited July 19, 2025 by NotHereToPlayGames
j7n Posted July 19, 2025 Posted July 19, 2025 Suppose you come to this forum and read something that sends your proverbial blood pressure up: that your favorite web browser sucks, feeds Chinese hackers and using WinXP is a threat to national security. You write a moderate rebuttal and everyone ignores it because they really can't see it. The AI has decided that using old software is unacceptable. You come back after a week, write something again including the word "boot.ίnί" and get a silly error. You remove all sensitive words, then obfuscate the word "sυcκs" and it still doesn't work. Would you really come back and continue to read some BS without being able to respond? I would just use a search engine in case I had a problem to solve and not read everything.
NotHereToPlayGames Posted July 19, 2025 Posted July 19, 2025 (edited) 3 hours ago, j7n said: "sυcκs" There are some good AI-blocking lists for uBlock. Unsure if they would remove what you are encountering. Me? I haven't used them. I just use custom style sheets to hide the dumb AI content. But I also use custom style sheets to also hide YouTube "comments". So we are clearly two birds of a different feather. Edited July 20, 2025 by NotHereToPlayGames
raddy Posted July 20, 2025 Posted July 20, 2025 On 7/19/2025 at 6:34 AM, j7n said: If I look from another account,the comment isn't there, If you sort comments by newest, you can see all "banned" messages.
j7n Posted July 20, 2025 Posted July 20, 2025 No, they don't show up in this case. If I skim the other writeups, I can see how they should have triggered the "safety police" but apparently did not, which is not fair.
AstroSkipper Posted December 30, 2025 Author Posted December 30, 2025 (edited) @nicolaasjan changed the download link to his Windows XP release of yt-dlp. Moreover, it is no longer provided as a ZIP file but an executable one. Therefore, the yt-dlp update module inside my ytBATCH versions doesn't work anymore. I have already fixed that and am in testing phase. Additionally, I made further changes and implemented new features. When all is finished, I will release ytBATCH for Windows XP 1.7. Cheers, AstroSkipper Edited December 30, 2025 by AstroSkipper Update of content 1
nicolaasjan Posted December 31, 2025 Posted December 31, 2025 16 hours ago, AstroSkipper said: @nicolaasjan changed the download link to his Windows XP release of yt-dlp. Moreover, it is no longer provided as a ZIP file but an executable one. Therefore, the yt-dlp update module inside my ytBATCH versions doesn't work anymore. Huh? They are like this for quite some time now: 🤔 https://github.com/nicolaasjan/yt-dlp/releases/latest/download/yt-dlp_x86_winXP.exe https://github.com/nicolaasjan/yt-dlp/releases/latest/download/yt-dlp_x86_winXP.zip 2
AstroSkipper Posted December 31, 2025 Author Posted December 31, 2025 10 hours ago, nicolaasjan said: Huh? They are like this for quite some time now: 🤔 https://github.com/nicolaasjan/yt-dlp/releases/latest/download/yt-dlp_x86_winXP.exe https://github.com/nicolaasjan/yt-dlp/releases/latest/download/yt-dlp_x86_winXP.zip The old download link I used in my ytBATCH releases was https://github.com/nicolaasjan/yt-dlp/releases/latest/download/yt-dlp_x86_Windows-XP.zip which is no longer working. As you can see, at some point you changed the file name of the ZIP archive. For me. no problem. I have already rewritten the yt-dlp update module for the upcoming release of ytBATCH. 2
user57 Posted Friday at 05:24 PM Posted Friday at 05:24 PM // h265 --enable-libvpx --enable-libx265 --enable-libaom // new image formats --enable-libwebp --enable-libjxl do ffmpeg handle these well in xp ? what with the LAV filters - guys, we would need people what make a list what works with this one BUT lav is a classical "programming engine" windows 10/ect. users are using in their programs to play h265 but its a engine written for windows10/ect. later on it get to DX11/CUDA ect. - where cuda at best has a few support but to really handle this controlment what comes afterwards we would need the handling for the cuda in ring0 it wont work with a limited function set that is provived in XP so either libde265 or maybe a reverted x265 would make the right decoding progress, cpu power wise you dont need that hardware acceleration (grafic card wise) for a decoder - a decoder useally can be just considered a player also h265 useally has parts written in MMX/SSE/AVX - those are a lot faster - it would be enough of speed if these things still need a discussion, people should come out with a discussion
AstroSkipper Posted Friday at 11:53 PM Author Posted Friday at 11:53 PM (edited) On 4/10/2025 at 4:47 PM, AstroSkipper said: I use Windows XP on my old, beloved but weak Pentium 4 computer. I therefore prefer another approach since the PowerShell reacts very slowly on this machine: -- YouTube Link Resolver for VLC with Separate Video and Audio URLs -- Place this script in VLC's lua/playlist directory function probe() -- Check if the input is a YouTube link return vlc.access == "http" or vlc.access == "https" and (string.match(vlc.path, "youtube%.com") or string.match(vlc.path, "youtu%.be")) end function parse() -- Construct the full YouTube URL local youtube_url = vlc.access .. "://" .. vlc.path -- Path to yt-dlp executable (modify as needed) local yt_dlp_path = 'yt-dlp.exe' -- Start cmd hidden and ... local cmd_hidden = 'hidecon cmd /c &' -- Construct the command to get the direct video and audio URLs local cmd = string.format( '%s %s -g "%s"', cmd_hidden, yt_dlp_path, youtube_url ) -- Execute yt-dlp to get the direct video and audio URLs local handle = io.popen(cmd) -- Read video URL (first line) local video_url = handle:read("*l") -- Read audio URL (second line) local audio_url = handle:read("*l") handle:close() -- Trim any whitespace video_url = video_url and video_url:gsub("^%s+", ""):gsub("%s+$", "") or "" audio_url = audio_url and audio_url:gsub("^%s+", ""):gsub("%s+$", "") or "" -- Log the resolved URLs vlc.msg.info("[YouTube Resolver] Original URL: " .. youtube_url) vlc.msg.info("[YouTube Resolver] Video URL: " .. video_url) if audio_url and audio_url ~= "" then vlc.msg.info("[YouTube Resolver] Audio URL: " .. audio_url) return { { path = video_url, name = vlc.path .. " (Video)", options = { -- Add audio URL as input option ":input-slave=" .. audio_url } } } else vlc.msg.warn("[YouTube Resolver] No separate audio URL found. Playing single URL with both video and audio.") return { { path = video_url, name = vlc.path .. " (Video + Audio)" } } end end The tool I use is hidecon and is very fast. You can get it here: http://code.kliu.org/misc/hidecon/ Although the LUA script yt-dlp4vlc,, originally created by FalloNero on GitHub, is still working, I modified it once again but already months ago. I didn't like his solution from April 2025 to have to add the video quality to the link every time it was transferred to VLC. It is easier to only enter the raw YouTube link as was the case in the past. In the LUA script, I therefore added code to be able to read and use the video quality which the user has preset in the video settings of VLC. Furthermore, I added a new variable containing a limit to use no better codec than h264 (an important switch for older hardware). I also changed the content of the format_string variable. Both can of course be changed by the users according to their needs. Finally, I reduced the hidecon command to start yt-dlp hidden. Here is my new mod of the LUA script yt-dlp4vlc: -- YouTube Link Resolver for VLC with Separate Video and Audio URLs -- Place this script in VLC's lua/playlist directory local yt_dlp_path = 'yt-dlp.exe'; local yt_dlp_silent_path = 'yt-dlp-silent.exe'; function sleep(s) local ntime = os.time() + s repeat until os.time() > ntime end function probe() -- Check if the input is a YouTube link return vlc.access == "http" or vlc.access == "https" and (string.match(vlc.path, "youtube%.com") or string.match(vlc.path, "youtu%.be")) end function parse() -- Construct the full YouTube URL local youtube_url = vlc.access .. "://" .. vlc.path -- Extract "quality" query parameter if present local quality = youtube_url:match("[&?]quality=(%d+)[pP]?") youtube_url = youtube_url:gsub("[&?]quality=%d+[pP]?", ""):gsub("[&?]$", "") -- Remove trailing ? or & -- Get the preferred resolution preset by the user in VLC local prefres = vlc.var.inherit(nil, "preferred-resolution") if prefres < 0 then prefres = 2160 -- Best quality set to 2160p to overwrite VLC's native value of -1 end local allowed_qualities = { ["240"] = true, ["360"] = true, ["480"] = true, ["720"] = true, ["1080"] = true, ["2160"] = true } -- Default quality limited to the preferred resolution taken from VLC's settings local format_string = string.format("bestvideo[height<=%i]+bestaudio", prefres) if quality and allowed_qualities[quality] then format_string = string.format("bestvideo[height<=%i]+bestaudio", quality) vlc.msg.info("Using requested quality: " .. quality .. "p") else vlc.msg.info("No valid quality specified. Defaulting to best available.") end local cmd_hidden = yt_dlp_silent_path -- No better codec than h264 (an important switch for older hardware). This can of course be changed by the users according to their needs. local codec_limit = '-S "codec:h264"' local video_url = '' local audio_url = '' local yt_dlp_silent_exists = io.open(yt_dlp_silent_path, "r") ~= nil if not yt_dlp_silent_exists then vlc.msg.info(yt_dlp_silent_path .. " not found. Falling back to " .. yt_dlp_path) cmd_hidden = 'hidecon &' -- Start cmd hidden and ... local cmd = string.format( '%s "%s" %s -f \"%s\" -g "%s"', cmd_hidden, yt_dlp_path, codec_limit, format_string, youtube_url ) local handle = io.popen(cmd) video_url = handle:read("*l") audio_url = handle:read("*l") handle:close() else vlc.msg.info(yt_dlp_silent_path .. " found. Running program") local cmd = string.format( '%s -s "%s %s -f \"%s\" -g %s"', cmd_hidden, yt_dlp_path, codec_limit, format_string, youtube_url ) local process = io.popen("start /B " .. cmd) process:close() local output_file = "yt-dlp-output.txt" local file_exists = false local timeout = 0 local timeout_limit = 10 while not file_exists do local file_test = os.rename(output_file, output_file) if file_test then file_exists = true else vlc.msg.info("Waiting for output file...") sleep(1) timeout = timeout + 1 if timeout > timeout_limit then vlc.msg.warn("Timeout reached. The output file was not created.") break end end end vlc.msg.info("File found") local file = io.open(output_file, "r") video_url = file:read("*l") audio_url = file:read("*l") file:close() os.remove(output_file) end video_url = video_url and video_url:gsub("^%s+", ""):gsub("%s+$", "") or "" audio_url = audio_url and audio_url:gsub("^%s+", ""):gsub("%s+$", "") or "" vlc.msg.info("[YouTube Resolver] Original URL: " .. youtube_url) vlc.msg.info("[YouTube Resolver] Video URL: " .. video_url) if audio_url and audio_url ~= "" then return { { path = video_url, name = vlc.path .. " (Video)", options = { ":input-slave=" .. audio_url } } } else return { { path = video_url, name = vlc.path .. " (Video + Audio)" } } end end Don't forget to download hidecon (see the quoted post) and copy it to the main progranmme folder of VLC! From now on, the user's default settings for video quality will be respected again. Simply enter any YouTube link in VLC and the preset quality will be played. Cheers, AstroSkipper Edited Saturday at 01:52 AM by AstroSkipper Update of content 1
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now