Live data from Hacker News

A cross-platform GUI for YouTube-dl

github.com

81–90 of 156 posts

Re: A cross-platform GUI for YouTube-dl

#81
post #50

I 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…

This is exactly what I have been looking for, any chance you could make this public?

Unfortunately no immediate plans to do so. It was a quick weekend project to scratch an itch.

Re: A cross-platform GUI for YouTube-dl

#82
post #75

Earlier quoted context omitted.

I 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…

And I don't get how you can be so defensive about Electron. It's technically inferior to literally any native solution such as wxwidgets or Qt. RAM usage, CPU cycles, Hard drive space... it's such a disrespectful stance on computing resources.

Because talking about it here completely misses the point. Yes, Electron has a number of problems, so what? This is an app that you open and close within 3 minutes. Open Video Downloader is a very usable software that doesn't have any direct alternatives right now to my knowledge. It's actually a good example of how a great, easily accessible UI framework can enable the creation of cross-platform apps that nobody did in those other "leaner" frameworks until now.

Re: A cross-platform GUI for YouTube-dl

#83
post #30

An 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.

i was surprised how close this gets https://sanana.kiev.ua/index.php/yad

Re: A cross-platform GUI for YouTube-dl

#85
post #30

An 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.

You have to define the behavour of your UI elements as well as their placement, at which point you're writing a program. The best language to write a program in is a Turing-complete programming language specially designed for that task, not some cobbled together UI-definition language with ad hoc add-ons to processing.

The best clothes are hand-tailored specifically to fit your body.

And yet, most people wear mass-produced clothes.

Re: A cross-platform GUI for YouTube-dl

#86
post #30

An 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.

You have to define the behavour of your UI elements as well as their placement, at which point you're writing a program. The best language to write a program in is a Turing-complete programming language specially designed for that task, not some cobbled together UI-definition language with ad hoc add-ons to processing.

The way I look at this, the UI would be only to speed things up / simplify things a little bit. It wouldn't try to do full error validation before execution. It's the job of a command-line app to fail with an error if wrong combination of flags or inputs was provided, and the UI might display that error in a pretty generic way.

Re: A cross-platform GUI for YouTube-dl

#87
post #50

I 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…

Could you share the code for this? It looks great!

I built my own to browse large video collections: Video Hub App https://videohubapp.com/

MIT open source: https://github.com/whyboris/Video-Hub-App

Re: A cross-platform GUI for YouTube-dl

#88
post #7

In case you're wondering: yes, it uses Electron. Because you definitely need yet another browser just to watch youtube videos.

Why not use 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.

It'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.

Re: A cross-platform GUI for YouTube-dl

#89
post #50

I 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…

Neat! Seeing this I'm considering making a similar project that takes a search and drops the preview pictures. No post-video-watching suggest + no 1 minute video shorts + no clickbaity preview pictures + setting a watch timer or something like that might get me back on youtube.

You can try this addon (Unhook: Remove YouTube Recommended Videos Comments) as it does just that and more, my web yt is clean, I don't even have a feed thanks to this.

Chrome - https://chrome.google.com/webstore/detail/unhook-remove-yout...

FF - https://addons.mozilla.org/en-US/firefox/addon/youtube-recom...

Re: A cross-platform GUI for YouTube-dl

#90
post #66

Earlier quoted context omitted.

Everything doesn't have to be JSON ;)

Agreed. The best format might be one specially defined for the job. I built a GUI-builder ages ago (in Python, compiling to Python which calls Tkinter to build the GUI). Here's a sample of what the UI-definition language looked like: https://github.com/cabalamat/parrot/blob/master/simple2.par

Looks fine and dandy but could also be represented in JSON with not much effort and then you'd be using an interchange format understood by many tools instead of a bespoke language.

I'm definitely biased being a web dev but JSON is just so widely used and supported... seems ideal for small bits of config like this.

Post reply on HN