/ytfzf

A posix script to find and watch youtube videos from the terminal. (Without API)

Primary LanguageShellGNU General Public License v3.0GPL-3.0



Discord

A POSIX script that helps you find Youtube videos (without API) and opens/downloads them using mpv/youtube-dl


This is a little showcase


Table Of Contents


Dependencies

There are only 2 required dependencies, however the rest require some configuration before you can replace them.

Requried dependencies

Recommended dependencies

  • mpv (the default video and audio player)
  • fzf (the default menu selection screen)

Optional dependencies

  • yt-dlp (for downloading)
  • dmenu (only if using the -D option)
  • ueberzug (if using thumbnails (-t) on x11)
    • If on wayland, or you do not want ueberzug, see the alternatives below.
    • To use an alternative include --thumb-viewer=<alternative> in the command when running ytfzf

Alternative Thumbnail Viewers

Program Wayland Support
chafa
catimg
display (from imagemagick)
w3m (buggy)
imv

Install

if on linux and installed using make on version 2.0 or prior, run sudo make uninstall-old first

  1. Install the dependencies listed above
  2. Run the following commands
git clone https://github.com/pystardust/ytfzf
cd ytfzf
sudo make install doc
  • If you wish to not install documentation (highly unrecommended) run sudo make install instead.

  • ytfzf may be in some repositories, such as the AUR, however the above way is the recommended way to install.


Features

  • Subscriptions
  • Thumbnails
  • Watch history
  • Downloading
  • Queueing multiple videos

Examples

Search with thumbnails

ytfzf -t <search>

Use dmenu as the menu instead of fzf

ytfzf -D <search>

Print the link of the selected video instead of playing it

ytfzf -L <search>

Search Odysee instead of youtube

ytfzf -cO <search>

Todo

  • More sites
  • Playlists
  • Subscriptions
  • Thumbnails

Bugs

  • dwm with swallow patch: Images don't render with ueberzug when looped (ie, option -l)
  • if thumbnails are not working .Xauthority might be causing it. Try deleting it and relogging into your computer.