blob: 78369121f326d3248ca6793a439eacdefc7369e4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# kj-youtube-dl 📼

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 🙄:
```fish
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:
```sh
make
```
the binary will end up in `bin/kj-youtube-dl`
## using it
just run the binary:
```sh
./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.
## what's here
- `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 someday
- `src/config.mk` - build configuration
- `Makefile` - standard suckless-style makefile
## license
check the LICENSE file, it's `0BSD` for the most part.
|