X-Git-Url: https://njoseph.me/gitweb/nimcoon.git/blobdiff_plain/e9f0c7d0facb6a454a204e3b3ce66d521f40d6e8..dfe4f8113315c1c614e596721e1f972a3266c54b:/README.md diff --git a/README.md b/README.md index d5d51b6..8d38083 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ Play videos from YouTube and PeerTube from the command line using your preferred desktop media player. +NewPipe app offers similar features for Android. + This application is implemented in [Nim language](https://nim-lang.org) using only the standard library. @@ -11,50 +13,109 @@ only the standard library. ## Features - [x] Search for videos using keywords -- [x] Stream videos -- [x] Stream music +- [x] Stream videos and music from YouTube - [x] Play direct links from YouTube and PeerTube -- [x] Stream video from magnet links +- [x] Stream video and music from magnet links and hyperlinks to torrent files - [x] Download music -- [ ] Download video +- [x] Download video +- [x] Play YouTube playlists (MPV only) +- [ ] Download YouTube playlists +- [x] Stream video from torrent file URLs +- [x] BitTorrent is preferred for PeerTube video links +- [ ] Search PeerTube (3.0 or later) +- [ ] YouTube Autoplay - [ ] Configuration options +| | YouTube | PeerTube (HTTP) | PeerTube (WebTorrent) | +| -------- | -------- | -------- | -------- | +| Music Streaming | ✅ | ✅ | ✅ | +| Video Streaming | ✅ | ✅ | ✅ | +| Music Download | ✅ | ✅ | | +| Video Download | ✅ | ✅ | | +| Stream Music from URL | ✅ | ✅ | | +| Stream Video from URL | ✅ | ✅ | ✅ | +| Download Music from URL | ✅ | ✅ | | +| Download Video from URL | ✅ | ✅ | | +| Stream Music Playlist | ✅ | | | +| Stream Video Playlist | ✅ | | | +| Download Music Playlist | | | | +| Download Video Playlist | | | | + ## Installation Nim Coon depends on the following: - youtube-dl - mpv (recommended) or vlc -- peerflix (for magnet links) +- peerflix and webtorrent (for magnet links) -Download the latest build from GitlabCI (amd64 GNU/Linux only). +Install MPV or VLC using your distribution's package manager. + +Install YouTube-dl +``` sh +pip3 install --user youtube-dl +``` +Install PeerFlix and WebTorrent ```sh -wget https://gitlab.com/njoseph/nimcoon/-/jobs/artifacts/master/download?job=compile -O artifacts.zip -unzip artifacts.zip +npm install --global peerflix webtorrent-cli ``` +(Optional) If you want your YouTube downloads to be faster, install `aria2` download manager. + +### Installing using Nimble -For other platforms, create a release artifact using the following command: +NimCoon can be installed from Nimble repositories: + +``` sh +nimble install nimcoon +``` + +You can also install from source by running the following command: ```sh -nim c -d:ssl -d:release nimcoon.nim +nimble install +``` + +### Installing binary + +Download the latest build from GitlabCI (amd64 GNU/Linux only). + +```sh +wget https://gitlab.com/njoseph/nimcoon/-/jobs/artifacts/master/download?job=compile -O artifacts.zip +unzip artifacts.zip ``` -Copy the binary to a directory on your PATH such as `/usr/local/bin` +Copy the binary to somewhere on your path like /usr/local/bin ## Usage ```sh -nimcoon emacs +nimcoon "emacs" # If your search query has multiple words, use quotes -nimcoon 'nim lang' +nimcoon "nim lang" -# Advanced: Play audio of the first search result +# Play audio of the first search result nimcoon -m -l "counting stars" + +# Download audio of the first search result +nimcoon -mld "counting stars" + +# Play direct video link +nimcoon https://www.youtube.com/watch?v=QOEMv0S8AcA + +# Add -d to download or -m to select only audio or both +nimcoon -md https://www.youtube.com/watch?v=hT_nvWreIhg ``` -### Commandline arguments +After the search results are displayed, you can enter a number to play one +result, "all" to play all the results or "q" to quit the program. + +If a number is entered, after the selected search result is played, the results +are redisplayed, so that you can play the other results without having to search +again. + +### Command line arguments | **Arguments** | **Explanation** | |-------------------|--------------------------------------------| @@ -63,10 +124,32 @@ nimcoon -m -l "counting stars" | -f, --full-screen | Play video in full screen | | -d, --download | Download video or music | +Feel free to use these options in any combination. NimCoon will show a helpful +error message if you pick incompatible options. + ## Development One-liner for compiling and running ```sh -nim c -d:ssl -r nimcoon.nim 'nim lang' +nim c -d:ssl -r src/nimcoon.nim 'nim lang' +``` + +## Privacy + +To avoid storing your nimcoon searches in `zsh` history, run this command + +```sh +setopt histignorespace +``` + +Then, add a space before typing nimcoon in the shell, like " nimcoon" + +```sh + nimcoon "this is private" +``` + +The same can be achieved in `bash` by setting an environment variable +```sh +export HISTCONTROL=ignoreboth ```