youtube-viewer (browse YouTube videos from a terminal or GTK UI)
Youtube Viewer is a dedicated application for searching, viewing, and
downloading Youtube videos, using wget for downloading and MPlayer for
viewing. It has been written in Perl and plays videos from Youtube at
the best quality available without using a flash player.
Optional dependencies:
perl-gtk2 [1], perl-File-ShareDir - for gtk-youtube-viewer.
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 [2] - if this is present, youtube-viewer will use it to detect
available formats for the video.
Counting optional ones, youtube-viewer has over 40 dependencies. To make
life easier, there's now a "youtube-viewer.sqf" queue file included with
this build, which includes everything listed above.
[1] Or possibly perl-Gtk3. Not tested. Let me know if it works.
[2] A small caveat about youtube-dl: youtube-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,
youtube-viewer will fail to play videos at all! If you suspect this,
remove youtube-dl and try without it.
This build always includes the command-line client (youtube-viewer). For
the GTK client (gtk-youtube-viewer), install perl-gtk2 and
perl-File-ShareDir before running this script. If you have them installed
but don't want gtk-youtube-viewer, you can set GTK=no in the script's
environment.
To force gtk-youtube-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").
When upgrading to 3.2.4, I had to remove my old config file to get the new
gtk-youtube-viewer to work correctly. If you have issues after an upgrade:
rm -f ~/.config/youtube-viewer/gtk-youtube-viewer.conf