pipe-viewer (search and stream videos from youtube) pipe-viewer is a lightweight application for searching and streaming videos from YouTube. pipe-viewer is a fork of youtube-viewer that does not require a Google API key. Usage and user interface are identical to youtube-viewer. For playing videos, this uses mplayer, vlc, or mpv. However, the mplayer that ships with Slackware has some issues with pipe-viewer (or actually with youtube: the audio stream cuts out randomly, and can be fixed by pressing the left arrow usually). Optional dependencies: vlc and/or mpv - for playing videos. highly recommended. perl-Gtk3, perl-File-ShareDir - for gtk-pipe-viewer. perl-lwp-useragent-cached - for local cache support. perl-JSON-XS - for faster JSON deserialization. perl-Text-CharWidth, perl-Unicode-LineBreak - for better formatting in the terminal. yt-dlp or youtube-dl [1] - if this is present, pipe-viewer will use it to detect available formats for the video. Counting optional ones, pipe-viewer has over 40 dependencies. To make life easier, there's a "pipe-viewer.sqf" queue file included with this build, which includes everything listed above (except mpv and vlc). This build always includes the command-line client (pipe-viewer). For the GTK client (gtk-pipe-viewer[3]), install perl-Gtk3 and perl-File-ShareDir before running this script. If you have them installed but don't want gtk-pipe-viewer, you can set GTK=no in the script's environment. Notes: [1] A small caveat about yt-dlp and youtube-dl: pipe-viewer works without them, though occasionally it'll choose a lower quality than is available for some videos. However, if yt-dlp or youtube-dl are present but outdated, pipe-viewer will fail to play videos at all! If you suspect this, remove yt-dlp and/or youtube-dl and try without them. [3] To force gtk-pipe-viewer to use your preferred terminal for downloading with wget and watching in a terminal, set TERMINAL in the script's environment (e.g. TERMINAL="xterm" or TERMINAL="urxvt").