murrty / youtube-dl-gui

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

More batch issues/improvements #44

Closed Jules-A closed 2 years ago

Jules-A commented 4 years ago

Firstly thanks for attempting to fix #39 but 2.24 only has an option to press ok, with no option to remember skipping the prompt.

You mentioned that you prefer people use the batch form but I use a userscript I made to pull all video stream urls from a website and copy to clipboard, line-separated as per how you batch load from txt file. It's currently impossible to paste from clipboard more than 1 link in to that form (I don't really care too much about this though since I use the other method).

Another thing that isn't too great when doing batch downloading is if you mess up the custom commands or the cookie for the site has expired and the download fails, if you press exit button it will just close that window and then start the next download (which will also end up failing) so you need to close all windows from the task bar to stop it. It would be nice if exit could stop the current download and every subsequent download thereafter because currently there's no difference between pressing exit and pressing the X button.

Another thing I would like to see would be options to set custom arguments within the txt file used for batch downloads (though this could also be made as site profiles within the main app). Rather site profiles

After initiating the batch download, the download status window isn't brought to the front. This is more of an issue when skipping the prompt windows as it can be hard to tell if you actually started the download or not.

murrty commented 4 years ago

While I'm not capable of basic understanding at this moment, I can let you know a simple bypass is to modify the user.config file in %localappdata% folder by adding the option for "SkipBatchTip" in the Downloads section, or use the portable ini and add it there.

I'll look into the rest of this issue soonish, when I can comprehend basic logistics.

Jules-A commented 4 years ago

Instead of creating a new issue, the v2.25 has an issue with the dropdown batch downloading. After downloading the first file it will give this error

[download] 100% of 1.36GiB in 08:16
[ffmpeg] There aren't any subtitles to embed
[generic] D:\Programs\YoutubeDL\ffmpeg: Requesting header
Error:
WARNING: Could not send HEAD request to D:\Programs\YoutubeDL\ffmpeg.exe: <urlopen error unknown url type: d>
[generic] D:\Programs\YoutubeDL\ffmpeg: Downloading webpage
Error:
ERROR: Unable to download webpage: <urlopen error unknown url type: d> (caused by URLError('unknown url type: d',))

An error occured. Exit the form to resume batch download.

Clicking exit goes on to downloading the next url in the txt file successfully it occurs after every download.

murrty commented 4 years ago

I wasn't able to reproduce your issue. Can you give me the URLs you used?

Jules-A commented 3 years ago

I wasn't able to reproduce your issue. Can you give me the URLs you used?

Happens with any Funimation url, haven't tried anything else yet. Example urls:

https://www.funimation.com/shows/mix/meiseis-ace/?qid=None
https://www.funimation.com/shows/mix/im-big-brother-and-youre-little-brother/?qid=None

This is what gets sent to yt-dl as shown by the yt-dl-gui console with my settings (obviously I use a real username and pass instead of example): https://www.funimation.com/shows/mix/meiseis-ace/?qid=None -o "D:\Programs\YoutubeDL\funimation.com\%(series)s - S%(season_number)sE%(episode_number)s - %(episode)s.%(ext)s" --embed-subs --write-sub --username "example@example.com" --password "example" --cookies "D:\Programs\YoutubeDL\cookies-funimation-com.txt" --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0"--ffmpeg-location "D:\Programs\YoutubeDL\ffmpeg.exe"

Looks like --ffmpeg-location shouldn't be there (it's not in v2.24) and is missing a space after the user-agent arg.

murrty commented 3 years ago

One thing I can see is at the end --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0"--ffmpeg-location "D:\Programs\YoutubeDL\ffmpeg.exe" where --ffmpeg-location is, there's no space between the user-agent string and --fmpeg-location arguments. I don't see why it would make a big difference, but it might.

Secondly, I won't be able to fully test the issue because it would require repeat access to the content fully, and I am not able to test with large files due to my ISP enforcing a data cap, but I'll see what I can do. Looking over my code, it looks like it's a youtube-dl problem, but I could be wrong.

Jules-A commented 3 years ago
if (General.Default.UseStaticFFmpeg) {
                    ArgumentsBuffer += "--ffmpeg-location \"" + General.Default.ffmpegPath + "\\ffmpeg.exe\"";
                }
                else {
                    ArgumentsBuffer += " --ffmpeg-location \"" + verif.FFmpegPath + "\\ffmpeg.exe\" --hls-prefer-ffmpeg";
                }

That's the code causing the issue, looks like a mistype. As to whether it's causing the issue I kind of doubt it but I've had weirder issues back when I was using .bat files with yt-dl. I don't have build environment set up on this machine but if you want to post builds I don't mind testing it.

murrty commented 3 years ago

Good catch. It all starts to look the same after a while. here's a debug build based on afdaf7bebfedd16883fb534d6c8a189eec393d4b, let me know the results.

Jules-A commented 3 years ago

Actually... I just added an extra space to my command line arguments and it works lol... I didn't try it before because I thought trailing whitespace would get stripped.

EDIT: Oh, it gets saved to settings.ini but doesn't get read on the next load up. Debug build works fine though.

murrty commented 3 years ago

Well if all is fine, then I'll close this.

Your other statement in OP, I intentionally made it so they go into the background when downloading so it won't interrupt any foreground process you might be working in.

Jules-A commented 3 years ago

Your other statement in OP, I intentionally made it so they go into the background when downloading so it won't interrupt any foreground process you might be working in.

But it was still interrupting, even in the background (though I didn't actually test that with 2.25), for example if I'm scrolling a website in Firefox, it will stop scrolling when the new download starts (another bug from 2.24 I forgot to list). What I mean by bringing to front is I want the first one to be brought to front since I would have just initiated the download so I wouldn't be on any other window but obviously after that I don't want them to distract me until it's done (that can just be done by flashing in the taskbar).

It looks like the other issue is solved now and the other request really should just be done under site profiles and not linked to batch downloading so the only issue/request left is bringing the initial download window to front (and the bug that interrupted certain actions in if it still exists in 2.25/master but I can't test that now.)

Jules-A commented 3 years ago

A few more issues/requests:

Jules-A commented 3 years ago

Hey, I see you've been working on fixing some of the bugs I listed but I stopped using this program a while ago (was having too many issues) so I don't know what's fixed already to cross them out. If you need me to test a specific thing, let me know.