]>
Commit | Line | Data |
---|---|---|
1 | # CLI Tube | |
2 | ||
3 | Play videos from YouTube and PeerTube from the | |
4 | command line using your preferred desktop media player. | |
5 | ||
6 | This application is implemented in [Nim language](https://nim-lang.org) using | |
7 | only the standard library. | |
8 | ||
9 | ![clitube screenshot with search term 'baby yoda'](screenshot.png) | |
10 | ||
11 | ## Features | |
12 | ||
13 | - [x] Search for videos using keywords | |
14 | - [x] Stream videos | |
15 | - [x] Stream music | |
16 | - [ ] Download video | |
17 | - [ ] Download music | |
18 | - [ ] Configuration options | |
19 | - [ ] Play magnet links | |
20 | ||
21 | ## Installation | |
22 | ||
23 | CLI Tube depends on the following: | |
24 | - youtube-dl | |
25 | - mpv (recommended) or vlc | |
26 | ||
27 | Download the latest build from GitlabCI (amd64 GNU/Linux only). | |
28 | ||
29 | ```sh | |
30 | wget https://gitlab.com/njoseph/cli-tube/-/jobs/artifacts/master/download?job=compile -O artifacts.zip | |
31 | unzip artifacts.zip | |
32 | ``` | |
33 | ||
34 | ||
35 | For other platforms, create a release artifact using the following command: | |
36 | ||
37 | ```sh | |
38 | nim c -d:ssl -d:release clitube.nim | |
39 | ``` | |
40 | ||
41 | Copy the binary to a directory on your PATH such as `/usr/local/bin` | |
42 | ||
43 | ## Usage | |
44 | ||
45 | ```sh | |
46 | clitube emacs | |
47 | ||
48 | # If your search query has multiple words, use quotes | |
49 | clitube 'nim lang' | |
50 | ||
51 | # Advanced: Play audio of the first search result | |
52 | clitube -m -l "counting stars" | |
53 | ``` | |
54 | ||
55 | ### Commandline arguments | |
56 | ||
57 | | **Arguments** | **Explanation** | | |
58 | |---------------|--------------------------------------------| | |
59 | | -m, --music | Play Music only, no video | | |
60 | | -l, --lucky | Try your luck with the first search result | | |
61 | ||
62 | ## Development | |
63 | ||
64 | One-liner for compiling and running | |
65 | ||
66 | ```sh | |
67 | nim c -d:ssl -r clitube.nim 'nim lang' | |
68 | ``` |