Overview
GUI-DLP is app I made so I do not have to memorize yt-dlp's commands. I tend to download many youtube videos and online downloaders full of annoying ads. yt-dlp was a very good alternative save from the fact that I have to know the commands. With GUI-DLP videos can be downloaded by just pasting a YouTube URL. GUI-DLP also allows users to customize settings such as Video Quality and File Extension.
Technologies Used
- Nextron (Next.js + Electron)
- TailwindCSS
- shadcn
Challenges
As this is my first go with Electron and Node.js one of the struggles is trying a new dev environment. But aside from that, I initially wanted to use yt-dlp's python API but ended up just relying on Node's child_processes to spawn CLI instances of yt-dlp instead because it is less complex and I wouldn't have to bundle a python runtime with the app.
Future Improvements
I am currently looking into adding:
- Pause/cancel downloads
- Trimming videos before download
- Improved batch download concurrency (currently spawns child processes for every video in the batch)
- More customizable settings for videos (metadata, thumbnails, captions, etc)