Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

πŸ” πŸ”˜ ⏯️ πŸ” - search for videos to play from youtube.com and other platforms...

License

Notifications You must be signed in to change notification settings

MyOS-ArchLinux/vids

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
16 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

vids

A POSIX script that helps you search videos platforms (YouTube , PeerTube , BitChute, LBRY and TED Talks) with command line easily.

Requirements

  • fzf / dmenu / rofi - menu & input
  • jq - JSON parsing
  • awk - text processing
  • mpv - video player
  • youtube-dl

Installation

git clone https://github.com/MyOS-ArchLinux/vids
cd vids/
sudo install -m755 vids /usr/local/bin/vids

Usage

Usage:   vids [OPTIONS] query

Options:
  General Options:
    -h, --help                Print this help text and exit.
    -v, --version             Print program version and exit.

  Search:
    -p, --platform            
        ytrending             Youtbe Trending
        youtube               Youtbe
        peertube              PeerTube
        bitchute              BitChute
        lbry                  LBRY
        tedtalk               TED Talks

    -ytr, --ytrending         An alias for -p ytrending
    -yt, --youtube            An alias for -p youtube
    -pt, --peertube           An alias for -p peertube
    -bc, --bitchute           An alias for -p bitchute
    -ted, --tedtalk           An alias for -p tedtalk
    -lb, --lbry, --odysee     An alias for -p lbry

    --piped                   Use Piped; a privacy-friendly YouTube frontend.
    --no-piped                Do not use Piped.

    --nsfw                    Include nsfw videos. (WIP)
    --no-nsfw                 Do not include nsfw videos. (WIP)

  Menu Options:
    -m, --menu MENU          
        fzf                  supports multi-select with tab/shift-tab.
        dmenu                doesn't supports multi-select.
        rofi                 supports multi-select with shift-enter.

    --fzf                    An alias for --menu fzf
    --dmenu                  An alias for --menu dmenu
    --rofi                   An alias for --menu rofi

  Player Options:
    -P, --player COMMAND     Player to feed urls to.
    -a, --player-args ARGS   Customize the arguments which are put together with the value of --player to create a command to execute.
    -e, --exit               don't prompt selector again after the player close

  Scripting Options:
    --print-json             print results json to stdout and exit.
    --print-link             print results links to stdout and exit.
    --print                  print results to stdout and exit.

  Environment variables:
    VIDS_DEFAULT_MENU        Default menu to use. (default: rofi -> dmenu -> fzf)
    VIDS_DEFAULT_PLATFORM    Default platform to use. (default: youtube)
    VIDS_DEFAULT_PLAYER      Default video player to use. (default: mpv)
    VIDS_DEFAULT_PLAYER_ARGS Default arguments which are passed to the player. (default: empty)
    VIDS_SHOW_NSFW           Always include NSFW videos (default: false)
    VIDS_YOUTUBE_PIPED       Use Piped; the privacy-friendly YouTube frontend. (default: false )
    VIDS_PIPEDAPI_URL        Piped Instance API URL. (default: https://pipedapi.kavin.rocks )
    VIDS_PEERTUBE_URL        PeerTube Instance URL. (default: https://sepiasearch.org )

  Improve me on GitHub:
    https://github.com/MyOS-ArchLinux/vids

Examples

  • Search Youtube With fzf menu

    vids --platform youtube --fzf Music

  • Search LBRY and print results to stdout

    vids --lbry --print Music

  • Get a list of trending videos on youtube but don't expose your ip to youtube. (Use Piped)

    vids --ytrending --piped

  • Scripting : Search PeerTube and extract titles

    vids --peertube --print-json music | awk '{if (NR!=1) {print}}' | jq -r ".[]|.title"

Note

You may want to install mpv-youtube-quality to change video quality on the fly , and mpv_sponsorblock or mpv_sponsorblock_minimal to skip sponsored segments of YouTube videos automatically.

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.