murrty / youtube-dl-gui

Download/Convert videos from websites without needing to learn command line
GNU General Public License v3.0
427 stars 45 forks source link

Support for older versions of Windows [AUTOFIXED\SOLVED] + a couple of small ones #190

Closed gl1tch2gh0st closed 9 months ago

gl1tch2gh0st commented 10 months ago

"He asked the question and he answered himself."

TL;DR: the latest youtube-dl-gui does not run on older versions of Windows, it is necessary to download earlier versions + a couple of errors in the settings\downloading videos (and repetition for the console youtube-dl.exe - where does he save the video files?)


Problem 1️⃣

🛠 If someone has an error below, then just install an earlier version of youtube-dl-gui and THAT'S IT - nothing else is needed! (probably (?) it's the lack of: ".NET Framework 4.7.2 runtime" - required for the latest versions of youtube-dl-gui to work, but: "The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x is not supported on this operating system." - http://learn.microsoft.com/en-us/dotnet/framework/install/troubleshoot-blocked-installations-and-uninstallations + http://learn.microsoft.com/en-us/dotnet/framework/get-started/system-requirements - it DOES NOT support older versions of Windows 10 - v. 10240, aka v. 1507 (means: 07.2015) and others)

I downloaded a version, for example, youtube-dl-gui 3.1.1 (http://github.com/murrty/youtube-dl-gui/releases - scroll down) and everything worked!

Безымянный111

❌ Error when launching new versions of youtube-dl-gui on older versions of Windows (10 - v. 10240, aka v. 1507 (means: 07.2015) and others. Probably because of the absence .NET Framework 4.7.2?)

An exception has occured Below is the error that occured. Feel free to open a new issue and report it. An unrecoverable TypeLoadException occurred and the application will need to exit. Message: Не удалось загрузить тип "System.ValueTuple`2" из сборки "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089". Type: System.TypeLoadException Source: youtube-dl-gui Target Site: Boolean ParseArguments(System.String[]) Stacktrace: в youtube_dl_gui.Arguments.ParseArguments(String[] Arguments) в youtube_dl_gui.Program.Main(String[] args) ========== OS INFO ========== Current Version: 3.2.3 Current Culture: Russian (Russia) System Caption: Майкрософт Windows 10 Pro System Version: 10.0.10240 Service Pack Major: 0 Service Pack Minor: 0 ========== END INFO ========== (Googletranslate: Message: Failed to load type "System.ValueTuple`2" from the build "mscorlib, Version=4.0.0.0, Culture=neutral, в = in\at)


Problem 2️⃣

🛠 However, "trouble does not come alone" - there is another small problem: youtube-dl-gui for some reason ¯\_(ツ)_/¯ DOESN'T want to save the path to youtube-dl.exe (he doesn't want to and that's it). The (strange) solution is this: FIRST specify the path to youtube-dl.exe, THEN click the "Use static youtube-dl" checkbox, THEN click "Save" - another error will pop up (its description will be below under the spoiler) - ignore it and click "OK", THEN WITHOUT CLOSING the settings window, immediately AGAIN, uncheck "Use static youtube-dl" and only THEN click "Save" AGAIN. That's it - the path to youtube-dl.exe saved and ONLY then. Manual editing youtube-dl-gui.ini - for some reason ¯\_(ツ)_/¯ also does not give any results - if constant errors do not allow you to launch youtube-dl-gui - feel free to delete youtube-dl-gui.ini and run the program again (also a little about the setup .ini - below).

⚙️ Setting up youtube-dl-gui.ini

In youtube-dl-gui.ini, you can manually type: [General] UseStaticYtdl=True ytdlPath=D:\Programs\youtube-dl-gui-3.2.3\youtube-dl.exe But it also for some reason `¯\_(ツ)_/¯` does not save the path, and this: UseStaticYtdl=False It is necessary to set it to "False", otherwise the program will not start - all with the same error (which is below), and even more reliably - delete youtube-dl-gui.ini.

(by the way, the path to FFmpeg is determined automatically and there are no problems - everything works ¯\_(ツ)_/¯)

❌ Error when trying to specify the path to youtube.dl.exe, then clicking "Use static youtube-dl", and then "Save" (also after that, the same error when trying to go into the settings at all, and then when starting the program - does not allow you to run at all. It is necessary to delete youtube-dl-gui.ini again or set UseStaticYtdl=False)

An unhandled thread exception occurred. The application will exit after closing this dialog. System.ArgumentOutOfRangeException: Длина не может быть меньше нуля. Имя параметра: length в System.String.Substring(Int32 startIndex, Int32 length) в youtube_dl_gui.Verification.RefreshYoutubeDlLocation() в youtube_dl_gui.frmSettings.saveSettings() в youtube_dl_gui.frmSettings.btnSettingsSave_Click(Object sender, EventArgs e) в System.Windows.Forms.Control.OnClick(EventArgs e) в System.Windows.Forms.Button.OnClick(EventArgs e) в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) в System.Windows.Forms.Control.WndProc(Message& m) в System.Windows.Forms.ButtonBase.WndProc(Message& m) в System.Windows.Forms.Button.WndProc(Message& m) в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ========== FULL REPORT ========== System.Threading.ThreadExceptionEventArgs ========== END REPORT ========== ========== OS INFO ========== (Please don't omit this info, it may be important) Current version: 3.1.1 Curernt culture: Russian (Russia) System Caption: Майкрософт Windows 10 Pro Version: 10.0.10240 Service Pack Major: 0 Service Pack Minor: 0 ========== END INFO ========== (Googletranslate: System.ArgumentOutOfRangeException: The length cannot be less than zero. Parameter name: length. в = in\at)


"Problem" 3️⃣ (no - a trifle, it works!)

🛠 Everything works as I said, so it doesn't matter how! Just ignore the error, click "OK" and wait for the video to download\convert\merge...

❌ A small error during the video download, which you can skip and continue downloading videos without paying attention to it

![Безымянный222](https://github.com/murrty/youtube-dl-gui/assets/3999877/6989e5c3-dc92-4a08-94bc-10a816c076db) ![Безымянный333](https://github.com/murrty/youtube-dl-gui/assets/3999877/1c32c5e9-6a12-4c16-acda-009b45b7191c) Beginning download, this box will output progress Youtube-DL has been found and set Generating output directory structure The output was generated and will be used The quality and format has been set Looking for ffmpeg ffmpeg was found Arguments have been generated Arguments have been generated and are readonly in the textbox Creating download thread Created download thread, starting... [YandexVideo] vwa0MuT86V3I: Downloading JSON metadata [YandexVideo] vwa0MuT86V3I: Downloading MPD manifest [YandexVideo] vwa0MuT86V3I: Downloading m3u8 information [dashsegments] Total fragments: 20 [dashsegments] Total fragments: 20 Deleting original file C:\Users\Admin\Downloads\youtube-dl\vh.yandex.ru\Video\B4-3-vwa0MuT86V3I.fdash-vid7.mp4 (pass -k to keep) Deleting original file C:\Users\Admin\Downloads\youtube-dl\vh.yandex.ru\Video\B4-3-vwa0MuT86V3I.fdash-aid4.m4a (pass -k to keep) An error occured An error log was presented, if enabled. A caught FormatException occured. Message: Входная строка имела неверный формат. Stacktrace: в System.Number.ParseSingle(String value, NumberStyles options, NumberFormatInfo numfmt) в youtube_dl_gui.frmDownloader.<>c__DisplayClass19_0.b__0() Source: mscorlib Target Site: Single ParseSingle(System.String, System.Globalization.NumberStyles, System.Globalization.NumberFormatInfo) Inner Exception: ========== FULL REPORT ========== System.FormatException: Входная строка имела неверный формат. в System.Number.ParseSingle(String value, NumberStyles options, NumberFormatInfo numfmt) в youtube_dl_gui.frmDownloader.<>c__DisplayClass19_0.b__0() ========== END REPORT ========== ========== OS INFO ========== (Please don't omit this info, it may be important) Current version: 3.1.1 Curernt culture: Russian (Russia) System Caption: Майкрософт Windows 10 Pro Version: 10.0.10240 Service Pack Major: 0 Service Pack Minor: 0 ========== END INFO ========== (I forgot the last one - sorry. He is in the last screenshot above 😅. Googletranslate: Message: The input string had an incorrect format. в = in\at)

(what's interesting: the "Exit" button doesn't work either, only the cross ❌🤪)


Final problem 4️⃣ (but not to you, but to youtube-dl.exe)

🛠 In general, it was also solved a long time ago and voiced: http://github.com/ytdl-org/youtube-dl/issues/4438. If you use only the console version youtube-dl.exe, then it saves the video by default to the folder from where youtube-dl.exe it starts (the short path from where the .exe starts is set via the PATH environment variable in Windows). For example, if the Command line (administrator) - C:\Windows\system32, then in will save the video to a folder C:\Windows\SysWOW64 (because I have a 64-bit Windows). If it's just a Command line (not an admin) - C:\Users\Admin, then save the video to a folder: C:\Users\Admin... (if Shift + right-click of mouse + "Open command window here" - on an empty Explorer location in the folder with youtube-dl.exe in it, it will save, for example, in: D:\Programs\youtube-dl-gui-3.2.3 (or to the folder where you have youtube-dl.exe). You can also use the program settings in the command line, specifying where to save: "youtube-dl -o D:\Output.mp4 https://www.youtube.com/watch?v=dQw4w9WgXcQ" (note that -o must be BEFORE the URL, NOT after, otherwise nothing will work. By the way, there is also another "small" mistake here 😹: http://github.com/ytdl-org/youtube-dl/issues/31530 - YouTube videos are not downloaded, i.e. the main function. So I understood, due to the fact that YouTube has updated something again and therefore it is necessary to update youtube-dl too. Solved by downloading the updated version of youtube-dl under the name "nigtly" (link to the official GitHub above). By the way, even the newest nigtly version downloads a YouTube video without sound for some reason (and in .mkv format, although I set .mp4)... 😹 )

❓ The problem (?) in which downloaded videos via youtube-dl are placed by default in the Windows system folders - `system32\SysWOW64` - and they need to be searched by the name of the video file through a search in the Explorer for all disks

![22-10-2023 20-14-31](https://github.com/murrty/youtube-dl-gui/assets/3999877/d1269da6-20ed-4dc5-ac08-584198719fe5) ![22-10-2023 20-17-13](https://github.com/murrty/youtube-dl-gui/assets/3999877/9ef0da27-b9f6-4da5-b58d-86ace28a9e8c) ![22-10-2023 20-24-17](https://github.com/murrty/youtube-dl-gui/assets/3999877/7f3d343a-e715-479f-b045-bc36bd9351a8) C:\Windows\system32>youtube-dl https://frontend.vh.yandex.ru/player/vwa0MuT86V3I?loop=0&autoplay=0&mute=0&object_fit=cover&from=lpc&preview_src=https%3A%2F%2Favatars.mds.yandex.net%2Fget-lpc%2F10116223%2F457e2078-9270-4a7e-a886-497099d15420%2Forig&event_prefix=df5837b9-8ecd-4393-9677-98616caaa73e_player%3A [YandexVideo] vwa0MuT86V3I: Downloading JSON metadata [YandexVideo] vwa0MuT86V3I: Downloading MPD manifest [YandexVideo] vwa0MuT86V3I: Downloading m3u8 information [dashsegments] Total fragments: 20 [download] Destination: B4-3-vwa0MuT86V3I.fdash-vid7.mp4 [download] 100% of 44.69MiB in 00:18 [dashsegments] Total fragments: 20 [download] Destination: B4-3-vwa0MuT86V3I.fdash-aid4.m4a [download] 100% of 1.20MiB in 00:04 [ffmpeg] Merging formats into "B4-3-vwa0MuT86V3I.mp4" ERROR: file:B4-3-vwa0MuT86V3I.fdash-vid7.mp4: No such file or directory "autoplay" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. "mute" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. "object_fit" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. "from" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. "preview_src" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. "event_prefix" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. (Googletranslate: "autoplay" is not an internal or external command, executable program or batch file. "mute" is not an internal or external command, an executable program, or a batch file. "object_fit" is not an internal or external command executed by a program or a batch file. "from" is not an internal or external command, an executable program, or a batch file. "preview_src" is not an internal or external command, executable program, or batch file. "event_prefix" is not internal or external a command, an executable program, or a batch file.)

(no one usually does this, at least I've never seen this - saving user files (VIDEOS! 😳 ) through the Console to the Windows system files\folders - system32\SysWOW64. I understand nothing everything, but it's kind of weird...)


Is that all?.. (I hope... 😅 )

I thought to QUICKLY write a solution to the problem for others who will search the Internet for an error by its name, but writing "War and Peace" (or a resume for a job, for example. "Monkey work"business + "Infinite monkey theorem" 🙈🙉🙊), which, anyway, no one reads (because with a nobleman (i.e. rich) Tolstoy was paid for the number of words in the book. And when Mayakovsky, for example, for the number of lines in the poem, that's why he wrote in short "ladders". "But that's a completely different story..." (local russian meme)), as usual, it took a little more (~ half a day, lol) time...

[!IMPORTANT] By the way, taking this opportunity (I say hello to mom), it's inappropriate as well - I want to THANK the developers of youtube-dl and youtube-dl-gui for a WORKING and good product. He was the ONLY ONE who downloaded the video file I needed, broken into tricky chunks\formats (and immediately "without leaving the cash register" CONVENIENTLY combined\converted chunks\audio with the help of the most excellent, everyone knows, FFmpeg 👍🏻... Even the well-known "Video DownloadHelper" failed... (well, I didn't set it up, maybe there is? But knowing him is HARDLY free. "But that's a completely different story..."))!.. 👍🏻

Have a good time of day! 🌚🌝 http://youtu.be/WUl9NPPMx8s (http://reddit.com/no55t8)

You can close this issue immediately without answering (well, or whatever you like). I'm also not a programmer, I'm not sitting here, and I'll notice the answer only after 100500 years, when I pass by again... (email is also spammed - I won't notice the notification either)

If you're interested - the video I tried to download

The lowest on this page: http://ya.ru/gpt/2 Direct URL to the video (not sure if it is permanent or constantly updated): http://frontend.vh.yandex.ru/player/vwa0MuT86V3I?loop=0&autoplay=0&mute=0&object_fit=cover&from=lpc&preview_src=https%3A%2F%2Favatars.mds.yandex.net%2Fget-lpc%2F10116223%2F457e2078-9270-4a7e-a886-497099d15420%2Forig&event_prefix=828061ba-02d3-465a-a659-952602dfa0a9_player%3A

Also, my computer data, if you need it suddenly (COMPLETELY, as you like, Mr. Bill Gates - "enjoy") - AIDA64 (Everest. I apologize for the language - I'm too lazy to switch Windows to english - next time): Report.txt

▶️ http://coub.com/v/165kj9 (http://coub.com/v/23hgkj)

murrty commented 9 months ago

Due to the fact that it runs on 4.7.2 (and is a requirement), I'm surprised it even booted. There's was a lot to read, but it just seems like I can't completely rule these as current problems because they weren't ran on the current version which I know has fixes for a couple of these already in place.

There's going to be a time where I can't support every version, as much as I'd like to. You can install Framework 4.7.2 on that old version of 10 (possibly with no persisting issues) after a quick internet search, but I really want to take advantage of new features. The only reason I even still use framework was because ContextMenu and MainMenu controls were removed unfairly from newer versions of .NET, and since I found a work-around to get them back, I may start upgrading to .NET 6, or higher depending on what I feel is best.