Yup, yet another
youtube-dl/yt-dlp GUI wrapper. this is really just made for me, but if you find it useful, feel free to use it.
i use the following shell aliases/abbreviations when i thought i was a cool dude using a terminal all day 🙄:
abbr -a yt-best "youtube-dl -cif 'bestvideo+bestaudio/best'"
abbr -a yt-m4a "youtube-dl -cif 'bestaudio[ext=m4a]'"
abbr -a yt-mp4 "youtube-dl -cif 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'"
abbr -a yt-mpv "mpv --ytdl-format="
abbr -a yt-webm "youtube-dl -cif 'bestvideo[ext=webm]+bestaudio[ext=webm]/best[ext=webm]/best'"
now i’m sad and lazy, so i made a gui that i can just set a keybind to and pop the app open 😬
building
you need gtk3 and yt-dlp installed (mpv if you want streaming support)
then just:
make
the binary will end up in bin/kj-youtube-dl
using it
just run the binary:
./bin/kj-youtube-dl
paste a url, pick a format, click download.
that’s it
there’s no magic here — it just runs yt-dlp with the options you pick.
the magic is with yt-dlp and other tools i’m wrapping against.
i’m not the talent, they are.
links
- source code (GitHub)
- pre-built linux binary (amd64) (direct download)
what’s in the repo
src/main.c- the entire app, probably badly written (i haven’t written c since high school)src/config.h- compile-time configuration (colors, sizes, etc.), wasn’t needed but maybe this will be cool somedaysrc/config.mk- build configurationMakefile- standard suckless-style makefile
license
check the LICENSE file, it’s 0BSD for the most part.
