A cross platform front-end GUI of the popular YouTube-dl written in wxPython
github.com
github.com
There is an ongoing fork called youtube-dl-gui: https://github.com/oleksis/youtube-dl-gui
And an alternative called tartube: https://github.com/axcore/tartube
429 points|ducktective|2 months ago|151 comments
yt-dlp[0] is a fork with additional features and fixes. It is also actively maintained.
[1]: https://github.com/ytdl-org/youtube-dl/issues/29965#issuecom...
The number of people who might want to download something from Youtube & co is significantly larger than that of people comfortable with the cli.
> but
please stop gatekeeping
> motivated to learn about command line interfaces in order to use powerful software
many people never get basic tech literacy. i think we’d benefit from not simply assuming others have (or could have) access to the same resources, time and patience that we had. i think you probably mean well but your statement, which sort of implies that people say “I am choosing not to learn the important skill of using the command line!”, just comes across as ignorant and naive to me
You're replying to a tangential “continuing the conversation”-type comment as though it were a rebuttal in an argument. It already agrees with you.
Unnecessarily hostile. We need less of this.
I couldn’t care less how those zones are defined and configured, could be a configuration file for all i care, but the end result would be much more potent than copying and pasting into terminal and then making sure it’s quoted or escaped properly.
I’m a huge fan of good CLIs. I’m also a huge fan of GUIs. Why require people to learn something just to use a video downloader?
Even for people who know how to use the command line, most of us still spend the day in a graphical desktop environment, and having a program that integrates with that environment is very valuable.
Unless you have reason to want something other than the default format that it will pick (perhaps for compatibility with an old set-top media box), or need other options like turning off SSL verification for some sites (it does much more than youtube) that have this misconfigured, options for playlist, ..., ...
For the simplest and most common use case it is just copy+paste, but for others there are a lot of options. I prefer the CLI and manpage myself, but some are far more comfortable with a GUI, finding the options more discoverable that way.
(though having had a quick look at the project page it looks like this doesn't offer options beyond format selection, but for some users that is useful enough to warrant a GUI)
From the screenshots alone some benefits are quite obvious. Namely the ability to handle multiple URLs at once, as also the Download-Manager with it's progress bar. I have a bunch of scripts myself for downloading videos, but interfaces for such things is not really a strength of the command line. I already thought about making some job-manager for myself because of those reasons. So I can totally understand people making a GUI and releasing it.
> The command line for this kind of tool seems like the perfect interface. Just copy a URL, paste it, press enter.
That's only if you have no other requirements. youtube-dl is a monster of parameters. You can setup any little crap and do many more things than just download a youtube-url. On the screenshot I see some config-buttons and some kind of profile? This quite matches with any mildly complex usecase for this tool. Having a GUI supporting you in setting up what other would do with scripts is beneficial, especially for those not breathing in shell-commands.
The URL of this comment pastes like this, ready to be passed to commands:
https://news.ycombinator.com/edit\?id\=29069520 autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic
autoload -Uz bracketed-paste-magic
zle -N bracketed-paste bracketed-paste-magic
to your zshrc to enable it.It doesn't seem to escape $ (e.g. in <https://example.org/$PATH>), which doesn't inspire confidence…
Are there any equivalents for bash?
zstyle ':url-quote-magic:*' url-metas '*?[]^()~#{}=$'
Not sure about bash, I thought I remembered seeing something similar for it but a quick google doesn't turn up anything.These sites always disappear but this one hasn't so far
https://github.com/ytdl-org/youtube-dl/pull/30184
Pasting the content here for convenience:
Since summer 2021, YouTube has started serving media URLs with a query parameter such as …&n=SXiXBH-xzrjeioPN&…. This now appears to be the default behaviour. Unless the value of this parameter is transformed according to an algorithm delivered in the site player JS, the download speed for the URL is throttled to ~50kB/s.
Solutions for this include:
• implementing a more complete JS interpreter, eg based on PR [jsinterp] Actual JS interpreter¹ #11272;
• using an external JS interpreter (PhantomJS, now unmaintained, is used by some extractors);
• spoofing the Android or iOS client to acquire unthrottled links, as successfully implemented in yt-dlp².
This PR takes a different approach derived from the successful solution used in VLC's youtube.lua (also implemented differently in pytube³). The approach relies on the fact that the challenge algorithm is served in a mini-language within the minified player JS and therefore the specific algorithm can be extracted and executed by interpreting the mini-language without actually running the JS itself. [In parallel with this PR, a separate implementation of this approach was added to yt-dlp⁴.]
The implementation of the mini-language interpreter is directly translated from VLC's n_descramble() Lua function⁵. The result sufficiently resembles the original that it should be straightforward to share changes between the two implementations.
――――――
¹ — https://github.com/ytdl-org/youtube-dl/pull/11272
² — https://github.com/yt-dlp/yt-dlp/commit/c888ffb95ab0ab4f4cd1...
³ — https://github.com/tfdahlin/pytube/blob/bb890af3b271a616bbe1...
⁴ — https://github.com/yt-dlp/yt-dlp/commit/404f611f1c4aa516fbc4...
⁵ — https://code.videolan.org/videolan/vlc/-/blob/4fb284e5af69aa...
If I want to have, lets say, an application that looks (and works) like a native MacOS or Windows application, would I bet able to do that? All of the examples look really odd, with weird buttons and simply not feeling like native apps.
Because it just looks bad and outdated on most platforms.
This said, in the age of Electron, "things not looking native" does not seem to be a problem for most users.