| .. | ||
| src | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| README.md | ||
CLI
The RustyPipe CLI is a powerful YouTube client for the command line. It allows you to access most of the features of the RustyPipe crate: getting data from YouTube and downloading videos.
The following subcommands are included:
get: Fetch information
You can call the get command with any YouTube entity ID or URL and RustyPipe will fetch the associated metadata. It can fetch channels, playlists, albums and videos.
Usage: rustypipe get UC2TXq_t06Hjdr2g_KdKpHQg
-l,--limitLimit the number of list items to fetch- ``-t, --tab` Channel tab (options: videos, shorts, live, playlists, info)
-m, --musicUse the YouTube Music API--rssFetch the RSS feed of a channel--commentsGet comments (options: top, latest)--lyricsGet the lyrics for YTM tracks--playerGet the player data instead of the video details when fetching videos-c, --client-typeYT clients used to fetch player data (options: desktop, tv, tv-embed, android, ios; if multiple clients are specified, they are attempted in order)
search: Search YouTube
With the search command you can search the entire YouTube platform or individual channels. YouTube Music search is also supported.
Note that search filters are only supported when searching YouTube. They have no effect when searching YTM or individual channels.
Usage: rustypipe search "query"
Options
-
-l,--limitLimit the number of list items to fetch -
--item-typeFilter results by item type -
--lengthFilter results by video length -
--dateFilter results by upload date (options: hour, day, week, month, year) -
--orderSort search results (options: rating, date, views) -
--channelChannel ID for searching channel videos -
-m, --musicSearch YouTube Music in the given category (options: all, tracks, videos, artists, albums, playlists-ytm, playlists-community)
dl: Download videos
The downloader can download individual videos, playlists, albums and channels. Multiple videos can be downloaded in parallel for improved performance.
Usage: rustypipe dl eRsGyueVLvQ
Options
-
-o,--outputDownload to the given directory -
--output-fileDownload to the given file -
--templateDownload to a path determined by a template -
-r,--resolutionVideo resolution (e.g. 720, 1080). Set to 0 for audio-only -
-a,--audioDownload only the audio track and write track metadata + album cover -
-p,--parallelNumber of videos downloaded in parallel (default: 8) -
-m, --musicUse YouTube Music for downloading playlists -
-l,--limitLimit the number of videos to download (default: 1000) -
-c,--client-typeYT clients used to fetch player data (options: desktop, tv, tv-embed, android, ios; if multiple clients are specified, they are attempted in order) -
--pottoken to circumvent bot detection
vdata: Get visitor data
You can use the vdata command to get a new visitor data cookie. This feature may come in handy for testing and reproducing A/B tests.
Global options
- Proxy: RustyPipe respects the environment variables
HTTP_PROXY,HTTPS_PROXYandALL_PROXY - Logging: You can change the log level with the
RUST_LOGenvironment variable, it is set toinfoby default - Visitor data: A custom visitor data cookie can be used with the
--vdataflag --report
Output format
By default, the CLI outputs YouTube data in a human-readable text format. If you want to
store the data or process it with a script, you should choose a machine readable output
format. You can choose both JSON and YAML with the -f, --format flag.