An open API service indexing awesome lists of open source software.

https://github.com/vaaski/dlpgui


https://github.com/vaaski/dlpgui

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

          

# dlpgui

Minimal GUI for the great [yt-dlp](https://github.com/yt-dlp/yt-dlp) built with [Electrobun](https://github.com/blackboardsh/electrobun), [Nuxt 4](https://nuxt.com/), and [Nuxt UI](https://ui.nuxt.com/).

This was mainly a 2-day exercise to get my hands dirty with [Electrobun](https://github.com/blackboardsh/electrobun), the [Oxc](https://oxc.rs/) toolchain and [Nuxt/Vue i18n](https://i18n.nuxtjs.org/).

Also uses [ytdlp-nodejs](https://npmx.dev/package/ytdlp-nodejs) with some of the binary downloading logic adapted to my needs.



dlpgui screenshot

## Features

- Dead-Simple UI
- Not AI-slopped together
- Automatic `yt-dlp` and `ffmpeg` installation
- Pick from 3 formats:
- `MP3`
- `MP4` (fastest combined audio+video, youtube limits this to around 720p)
- `MP4 (best quality)` (uses ffmpeg to combine best video and audio)
- Pick custom or from a list of common download locations
- Paste from clipboard button
- Progress reporting
- Button to show downloaded file in folder
- Light and dark modes
- Auto-updates
- German and English translations (both bad)
- Custom yt-dlp channel (stable or nightly)
- Windows and Mac versions (can't be bothered to test on linux)

## Install

Download the latest release from the [releases page](https://github.com/vaaski/dlpgui/releases/latest).

Direct download links:

- [Windows](https://github.com/vaaski/dlpgui/releases/latest/download/stable-win-x64-dlpgui-Setup.zip)
- [Mac (Apple Silicon)](https://github.com/vaaski/dlpgui/releases/latest/download/stable-macos-arm64-dlpgui.dmg)
- [Mac (Intel)](https://github.com/vaaski/dlpgui/releases/latest/download/stable-macos-x64-dlpgui.dmg)

## Thoughts

Electrobun is great. Documentation could use some work, but I really haven't missed any features. I also love that I can pick CEF or the system webview without a single line of Rust. Auto-updates out of the box are fantastic.

I think I'll give Oxc a bit more time, I already invested a lot into my ESLint (+stylistic) config and I don't mind it enough right now to make the switch. Seems inevitable though.

Nuxt/Vue i18n is cool, but I need to put some more time into making it type-safe and stuff.

## Development

Install dependencies:

```bash
bun install
```

Generate Nuxt output (needed for Electrobun first start)

```bash
bun run nuxt:generate
```

Run dev

```bash
bun run dev

# watch the console.
# electrobun might be faster than the 5s wait time allocated for nuxt to start up.
```

## Build

Create the generated Nuxt frontend and bundle the desktop app:

```bash
bun run build
```

## Future

Again, this was just an exercise to touch some new tech. This might not ever be updated, or updated very frequently if I feel like it.

I am open to contributions though.






Brainmade.org Logo