straw-viewer (search and stream videos from youtube)
straw-viewer is a lightweight application for searching and streaming
videos from YouTube, using the API of invidio.us[2]. The project is
in its early development stages and some features are not implemented
yet.
straw-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 14.2 has some issues with straw-viewer (or
actually with youtube: the audio stream cuts out randomly, and can be
fixed by pressing the left arrow usually). Using vlc or mpv is highly
recommended.
Optional dependencies:
perl-Gtk3, perl-File-ShareDir - for gtk-straw-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.
perl-Term-ReadLine-Gnu - for command editing/history in the terminal.
youtube-dl [1] - if this is present, straw-viewer will use it to detect
available formats for the video.
Counting optional ones, straw-viewer has over 40 dependencies. To make
life easier, there's a "straw-viewer.sqf" queue file included with this
build, which includes everything listed above.
This build always includes the command-line client (straw-viewer). For
the GTK client (gtk-straw-viewer[3]), install perl-Gtk3 and
perl-File-ShareDir before running this script. If you have them
installed but don't want gtk-straw-viewer, you can set GTK=no in the
script's environment.
Notes:
[1] A small caveat about youtube-dl: straw-viewer works without it,
though occasionally it'll choose a lower quality than is available
for some videos. However, if youtube-dl is present but outdated,
straw-viewer will fail to play videos at all! If you suspect this,
remove youtube-dl and try without it.
[2] The default API host is http://invidious.snopyta.org. If you get
"Bad gateway" or "Too many requests" errors, try changing the
api_host in ~/.config/straw-viewer/straw-viewer.conf or via
the --api-host option. A list of API hosts can be found at:
https://instances.invidio.us/
[3] To force gtk-straw-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").
|