12 ms·
A cross-platform GUI for YouTube-dl
- esel2k 5y agoNice job,I was exactly looking for this a few weeks ago. Do you support playlists so it would get all songs in one playlist?
- chetangoti 5y agoFrom the features[1], it seems to support: "Download multiple videos/playlists/channels in one go" [1] https://github.com/jely2002/youtube-dl-gui#features https://github.com/jely2002/youtube-dl-gui#features
- jokoon 5y agoNice! Are you planning to support all options?
- Trex_Egg 5y agoThanks bro
- ducktective 5y agoI'm not affiliated with this project in any way. I just posted for publicity
- brabel 5y agoIn case you're wondering: yes, it uses Electron. Because you definitely need yet another browser just to watch youtube videos.
- LordRishav 5y agoWhy not use FreeTube (https://github.com/FreeTubeApp/FreeTube https://github.com/FreeTubeApp/FreeTube) then if it is based on Electron anyway? Freetube also has support for watching videos directly alongwith downloading and can also route the video through Invidious servers if you prefer not giving your IP address to Youtube.
- poisonborz 5y agoIt's a wholly different use case. FreeTube is meant as a full replacement for the YouTube site. This app is a frontend for youtube-dl and concentrates on quick downloads noly.
- qwerty456127 5y agoTo download them, not to watch. You still are going to watch in a native player like VLC, MPV, MPC or whatever, and also have the video backed up (which is important as YouTube videos get deleted often).
- pjmlp 5y agoIf only the Web had a file API. https://developer.mozilla.org/en-US/docs/Web/API/FileSystem https://developer.mozilla.org/en-US/docs/Web/API/FileSystem
- poisonborz 5y agoI just don't get these kind of comments. This person's javascript knowledge enabled him to develop this multi-platform app, it looks and feels great and does its job. Yes, it uses a lot of memory (140mb by just opening it) but how long does this stay actually open? You download some videos and close it in a few minutes. It's not a persistent use case like a chat client. youtube-dl is a 10 year old project. Where are all the great qt gui-s for it?
- pluc 5y agoIt's a CLI app, it doesn't need "an app" for it.
- fsloth 5y agoI think it's matter of usability and taste. As a programmer who uses CLI applications daily I still find GUI applications far superior to those tasks for which I don't have the CLI commands imprinted in my tactile memory. And I forget any CLI functions I don't use daily reaaallly fast.
- dotancohen 5y ago$ man foo Now tell me where the swipe-from-the-left and swipe-from-the-right and pull-down-from-the-top and long-press and double-tap and trippple-tap and pinch vertically and pinch horizontally and triple-finger tap for "modern" apps are documented?
- fsloth 5y agoI think we must be using different apps. For example - re-encoding a movie file. I'm 100% sure it's much faster for me to type "<windows> hand <enter>" to start Handbrake, click open, paste the path to the file to the file dialog, and click convert, than figure out how to use ffmpeg command line.
- dotancohen 5y ago
- hardwaresofton 5y agoAnother self-hostable option that runs as a server (and you access with a browser): https://github.com/alexta69/metube https://github.com/alexta69/metube
- bshep 5y agoI was just about to ask about something like this! I looked at the page but couldn’t figure out if this allows you to watch the downloaded videos in the browser as well, does anyone know or if there is another docker/web app for that?
- hardwaresofton 5y agoWell I could imagine running Jellyfin[0] next to this? Hooking up both programs to point to the same folder would probably get you pretty close to what you want [0]: https://jellyfin.org/ https://jellyfin.org/
- sylphaenos 5y agoCheck my other reply, Tzahi12345/YoutubeDL-Material supports this. No affiliation, just started using it myself.
- sylphaenos 5y agoSimilar project, but allows watching in the browser & downloading to your client machine: https://github.com/Tzahi12345/YoutubeDL-Material https://github.com/Tzahi12345/YoutubeDL-Material
- john_minsk 5y agoThat's perfect. It is funny how this is better than youtube in so many ways. If only it could be taken mainstream.
- mxuribe 5y ago> ...If only it could be taken mainstream. A part of me actually wishes for utilities like this GUI app and the underlying youtube-dl to stay a tad under the radar, only to avoid getting them blocked somehow by the powers-that-be...i know that is selfish because at the same time i do like for as many folks as possible to have access to all the cool tools (after all i love to spread the gospel of open source software)...but, man, youtube-dl (and by extension, anything else built on top of it) has been such an awesomely amazing thing that i never want it to go away or get blocked, etc. Sorry if that sounds mean; don't mean to be. :-)
- severine 5y agoNice. I can't maximize the window, or resize it properly (minimum window height is bigger than my laptop at 1366x768). Hope it gets fixed, good job!
- qwerty456127 5y agoWhich seems particularly inappropriate given the GUI is web-based.
- qwerty456127 5y agoCool. Thank you very much. This ine seems the best I have seen so far. A minor bug though: the "Open file" button is disabled, the "Show in folder" button just doesn't work. At least on my Office PC running Windows 10.
- yutijke 5y agoI had so much hope when I saw "cross-platform", finally a youtube downloader my parents can use on their 8 year old laptops. But alas, it's just electron. I guess they'll continue to use Newpipe on their phones, which has been working very well. Edit: I just realised that my comment is a bit on the meaner side. While I absolutely detest the current trend of Electron apps I also realise that the ecosystem doesn't have any good options. QT can be okay if done right, but C++ is neither ideal nor approachable for Application development, especially for hobbyists.
- guilamu 5y agoHave you tried freetube? (I'm unsure if it's electron though)
- areille 5y agoFreetube uses Electron (from project README : https://github.com/FreeTubeApp/FreeTube https://github.com/FreeTubeApp/FreeTube)
- pjmlp 5y agoWe need to educate what browsers are capable of, https://whatwebcando.today/ https://whatwebcando.today/ https://whatwebcando.today/files.html https://whatwebcando.today/files.html
- zapzupnz 5y agoElectron apps run just fine on my 8 year old laptop. So long as there's only a couple of them at a time, mind you.
- aero-glide2 5y agoNewpipe has been working well? Throttling issues. Takes too much time to load. Video is black for a few seconds when changing to full screen. Comments don't load sometimes. Only comment loads sometimes. It is fundamentally broken.
- baobabKoodaa 5y agoAnother alternative: I made a small tool which allows one-click downloading videos with youtube-dl. No command line, no GUI. https://github.com/baobabKoodaa/one-click-youtube-dl https://github.com/baobabKoodaa/one-click-youtube-dl
- sen 5y agoI’ve been using this[0] GUI for years which is cross platform (Python not electron) and works amazingly. Let’s you do custom download formats, and accepts any input normal YouTube-dl accepts (videos, playlists, channels, etc). I use it almost daily. [0] https://mrs0m30n3.github.io/youtube-dl-gui/ https://mrs0m30n3.github.io/youtube-dl-gui/
- dEnigma 5y agoDo you experience any issues with it? Seeing as it hasn't been developed further since 2018, while youtube-dl is still being worked on (including new features).
- sundarurfriend 5y agoI certainly did. Issues like crashing out of nowhere, silently failing downloads, etc. So I switched to the CLI option even though I'd have strongly preferred to be able to use the GUI. I was excited by the title of the HN post and then disheartened to see a program of the same name (as I assumed it was this buggy one), glad to see it's a different program.
- sen 5y agoI’ve honestly never had a single issue with it and wasn’t exaggerating when I said I use it nearly every day. I save any/every video I find useful to my NAS because I don’t trust Google not to delete the persons account for some arbitrary reason. The only “gotcha” is sometimes downloads fail and if you don’t know to check the logs (in the top menu) then that can get confusing for new users, but usually it’s something simple like you need to update the YouTube-dl core (also just done via the menu) or you chose a download format/resolution not supported for that video.
- PaulKeeble 5y agoyoutube-dl doesn't seem to be getting much in the way of updates since the event but yt-dl fork has continued to progress and has fixed a lot of the weird problems that had crept up as youtube changes things. It also has a port of the GUI that goes along with it - https://oleksis.github.io/youtube-dl-gui/ https://oleksis.github.io/youtube-dl-gui/
- nikkinana 5y agoOh what a waste of effort boys.
- leokennis 5y agoLove the app but somehow it's very slow? I have a 300 Mbit/s connection and it's downloading at 55 kb/s... EDIT: apparently luck plays a part. I stopped the download halfway. Then downloaded anew, and got 80 kb/s. Then canceled and restarted again, and then got 5 Mb/s...
- kasabali 5y agoYoutube throttles download speeds.
- flixic 5y agoAn idea that anyone is free to take: JSON-definable UI for command-line apps. Define checkboxes for flags, inputs for arguments, buttons for commands and file pickers / droppable wells for file input. Allow some customization of layout of these elements. Have in-app "store" to download these JSON definitions, maybe even suggest them based on `which` output. Electron app, obviously.
- colejohnson66 5y agoXML based UIs already exist with GtkBuilder and QtQuick(?). Although, your idea is more complex than that.
- jonny_eh 5y agoHTML is a pretty good XML-like UI builder.
- discordance 5y agoThat sounds like Gooey: https://github.com/chriskiehl/Gooey https://github.com/chriskiehl/Gooey, which creates GUIs for Python cli apps. Autogenerated based on the args, but configurable and the widgets and menus can be defined in JSON.
- flixic 5y agoGooey is a great northern star to follow, but this hypothetical app should work with any command-line app. Idea would be to define UI structure that outputs (and executes) essentially a string (command) to run.
- zorr 5y agoNot JSON, but related: Kaptain. https://github.com/mviereck/kaptain https://github.com/mviereck/kaptain
- flixic 5y agoThis is cool! Syntax might scare off many developers, I think one of the goals should be approachability, it should be super easy to transform your favorite command-line app into a GUI.
- davzie 5y agoMany in here don't understand why you need this if it's a CLI app which obviously means you could probably monetise this and earn a living from it.
- colejohnson66 5y agoIf it’s monetized, I doubt many users would get it. There’s already many web based YouTube downloaders (that are free); Just Google “download youtube”. Sure, youtube-dl supports a hell of a lot more than just YouTube, but not everyone knows that.
- TheNewAndy 5y agoI assumed that most of the web based ones were using youtube-dl behind the scenes.
- ducktective 5y agoHow did you reach that conclusion from your premise?
- rgoulter 5y agoI read it as half-sarcastic. A sincere half is that technical users can't quite understand what less-technical users would appreciate. The tongue in cheek half of "why not just..." will always smell a bit like the infamous comment discussing how DropBox doesn't provide value, since anyone could set the same kindof thing up themselves.
- lostgame 5y agoI think there’s a massive legal risk from monetizing something that exists to download mostly copyrighted content.
- genewitch 5y agoIf you're downloading so you can watch it and not for rebroadcast there's literally no difference functionally or legally between clicking a link and opening it in a browser and using youtube-dl . The upside is when someone's account gets terminated for whatever reason you can still watch the content.
- zapzupnz 5y agoThe words "cross-platform" caught my eye, but I don't see any screenshots of the program on macOS or Linux.
- opencl 5y agoIt's Electron, the Mac and Linux versions will look exactly the same.
- zapzupnz 5y agoThat’s not always a given. It’s possible for Electron apps to have per platform styling.
- OJFord 5y agoIt's using Electron, is there any reason to show three ~identical screenshots?
- zapzupnz 5y agoNot every Election App looks identical on each platform. Plus, it’s just a nice confirmation that the experience works properly on your preferred platform.
- OJFord 5y agoSure, I suppose it's just that if something claims to be cross-platform, and is using a common framework for that, I'm happy to assume it's either exactly the same or the same modulo title bar, and not require 'proof'. If it were my own project and I had a few different views/features to show off in screenshots I might alternate them (assuming there were some differences, or light/dark themes). But I definitely wouldn't show three copies of the same thing to somehow emphasise 'works on Linux, Mac, and Windows, seelookproof'.
- zapzupnz 5y ago> Sure, I suppose it's just that if something claims to be cross-platform, and is using a common framework for that, I'm happy to assume it's either exactly the same or the same modulo title bar, and not require 'proof'. As the old saying goes, assumptions make fools out of you and me. If we are to assume anything, I always start with worst case scenario and work my way up to “everything’s fine” rather than start here. If I don’t see it running on macOS, I assume: - it’s untested and may not work properly - it doesn’t follow standard macOS UI conventions like drag and drop, which is much more pervasive in macOS than other OS and, when it comes to files, can work quite differently - it doesn’t support operations like having files dropped on its Dock tile - it doesn’t support the global menu bar and thus its keyboard shortcuts (if any) aren’t able to be configured via standard means — this is often important for accessibility - it doesn’t support macOS’ built-in accessibility features, so can’t be read by VoiceOver or show large text via Hover Text Once you go beyond the superficial, you realise that design is more than just how it looks but how it works — functionality, usability, etc. All I want is the mildest proof that, at the very least, it has been tested to run on macOS. At that stage, I might put the effort in to check that those other aspects are also covered. It isn’t my job to find that out; it’s the developer/vendor’s job to prove it so that I’m not wasting my time. > But I definitely wouldn’t show three copies of the same thing Of course you wouldn’t, why would you — that’s not even what I wanted to see. I’m only interested in seeing it working properly on my platform. Most websites will show the platform-specific screenshot rather than all three screenshots. For example, check out https://code.visualtudio.com https://code.visualtudio.com — on an Apple device, it shows the Mac version; on a Windows device, it shows the Windows version; I’m not sure if it shows something else on Linux, it may do.
- freewizard 5y agoa bit OT but I'm curious what's current status and usage data for YouTube-dl and its popular forks (e.g. yt-dlc, yt-dlp)? They all seems to be active to different degree(last commit is 2mth, 2w, 2d ago)? and not merging backing to each other?
- iKlsR 5y agoI built my own personal version where it runs in the background and automatically downloads stuff I like (I highly curate my likes) or send to select playlists. Too often I go through my favorites and see deleted videos so I just cooked up something one weekend. I have an entire hard drive dedicated as an offline archive where I can playback at anytime, search the library and it even alerts me if any video or audio I saved was deleted (I have quite some rare pulled videos). It will also grab the subtitles/transcript if available, description and top 100 comments (if a tutorial etc). https://i.imgur.com/yxlRTI8.png https://i.imgur.com/yxlRTI8.png
- qwerty456127 5y agoDo you really need Electron for this? I would implement what you describe in a headless Python (which is native to YouTube-dl and where YouTube-dl itself is available as a library) script.
- db48x 5y agoI just use a shell script.
- IggleSniggle 5y agoFor a frontend dev, it makes sense to use Electron for personal projects of this variety. You don’t need to learn another language, or even another set of tools, you just build the whole thing in-browser and get a shareable UI to boot. Personally, I’m partial to the command line and to a lesser extent, TUIs, but I certainly understand building with whatever is most convenient and/or fun to the dev…especially on a personal project!
- iKlsR 5y agoFull stack dev here, I work with c++ and other langs often and do work with web tech for clients, dcc scripts and plugins etc. This took me a few hours with electron because it's just js and I don't want a crummy cli, tui or generic gui look, I want something with batteries included that's easy to style, quick to add new functionality if needed (npm) and looks GOOD besides this isn't for anyone but me.
- BiteCode_dev 5y agoHow does it manage to stay up to date? It's crucial for youtubedl which breaks regularly because youtube changed something and you now need the latest version.
- AndyPa32 5y agoThe version my Linux distro supports is always helplessly outdated. But with conda I always get the latest version of youtube-dl.
- MR4D 5y agoWOW - 100MB download for Mac! However, once I installed it, it ran really well. Interface is smooth and nice.
- stjohnswarts 5y agoThat's electron for you. You can make some nice stuff in it but you're essentially downloading chromium and running a web app locally when using electron with the same downsides and upsides.
- okasaki 5y agoI made a very simple youtube-dl front-end that runs locally in a browser (flask, no javascript): https://github.com/dvolk/lo2#readme https://github.com/dvolk/lo2#readme
- johnchristopher 5y agoReally, really nice. Preview displays rating, duration, thumbnail, etc. for playlist and you can change individual setting for items of a playlist.
- yboris 5y agoFor those who have lots of videos on your computer (cross-platform), I built Video Hub App to browse, search, and preview videos (works with external and network drives). Hope you like! https://videohubapp.com/en/ https://videohubapp.com/en/ MIT open source: https://github.com/whyboris/Video-Hub-App https://github.com/whyboris/Video-Hub-App
- KaoruAoiShiho 5y agoIs this using the original yt-dl or the fork with more features? https://github.com/yt-dlp/yt-dlp https://github.com/yt-dlp/yt-dlp
- filmgirlcw 5y agoThe original but the dev has it as a priority to replace with yt-dlp. You can use that now by replacing the youtube-dl binary with yt-dlp and renaming it and turning off auto-updates, but it doesn’t support some of the other features like SponsorBlock for now. The dev has PRs open to investigate that. If I had just a bit more time I might try to contribute. In fact, I might actually see if I can help with the replacement of the engine and then let the dev decide on how to implement some of the extra features.
- capevace 5y agoI built a similar thing a while back, but instead of electron it’s just an web server that exposes a simple UI form and downloads videos to pre-set folders on your server. https://github.com/Capevace/youtube-dl-ui https://github.com/Capevace/youtube-dl-ui
- jccalhoun 5y agoTHe youtube-dl gui I use is https://github.com/database64128/youtube-dl-wpf https://github.com/database64128/youtube-dl-wpf The last update added the ability to use yt-dlp instead of the mainline yt-dl I think it is windows only though
- filmgirlcw 5y agoYeah I think it is but this is a great Windows option, thanks for the share!
- Kopty 5y agoThank you for this! It is super valuable.
- filmgirlcw 5y agoI like this a lot! I use it for friends/colleagues who are too intimidated by the CLI. The old YouTube-dl GUI was abandoned and isn’t something I can recommend and the best fronted, Downie, is Mac only and costs money. Also, the dev is looking at subbing youtube-dlp for youtube-dl, as it is more frequently updated and supported.
- user234683 5y agoSomewhat related self-plug: Self-hosted browser client for watching YouTube anonymously (Python): https://github.com/user234683/youtube-local https://github.com/user234683/youtube-local It supports downloading all the raw formats (the video only ones, audio only ones, and the 360p & 720p integrated formats). More meant for watching than downloading, but some more advanced downloading features, such as merging audio+video with ffmpeg to get more downloadable qualities and auto-downloading options for playlists are planned.
- inshadows 5y ago> package.json Ctrl-W, bye
- jslpc 5y agoThis past week I made/forked something similar for macOS only. There was a GUI for youtube-dl I liked but never could get to work called Get-It (https://github.com/Kevin-De-Koninck/Get-It https://github.com/Kevin-De-Koninck/Get-It), and with many people switching to the actively-maintained fork yt-dlp, I decided to try using that as a base for making a clone with the latter as a backend. I don't know Swift at all but thought I'd try it out to see if I could, and it seems to work for the most part on my end. I also cleaned up random errors I found in the code (like a rogue youtube link to a Grand Theft Auto 5 video?) and made things a bit more consistent, or at least I'd like to think so. Changed the UI and added a toggle to block sponsorships from videos as well, but not totally sure if that works all that well yet. I'd love if anyone would try it out and report any issues they run into, it's been fun trying to fix it up! https://github.com/jslpc/Swift-DL https://github.com/jslpc/Swift-DL