Lightweight YouTube client for Linux https://trizenx.blogspot.com/2012/03/gtk-youtube-viewer.html

trizen 9d64987b18 Util::normalize_filename(): replace multiple consecutive `/` with a single `%`. 9 hours ago
.github 343a608396 Create FUNDING.yml 3 years ago
bin 0479588e0a Changed the `remove-symbolic` icon name to `edit-delete-symbolic`, as it's a more common icon. 3 weeks ago
lib 9d64987b18 Util::normalize_filename(): replace multiple consecutive `/` with a single `%`. 9 hours ago
share 27e4ff09fe modified: share/gtk3-youtube-viewer.glade 3 weeks ago
t 6c42fb1f1a Version v3.5.4. 3 years ago
utils d8e058e76d Support for UTF-8 characters inside the config-files. 2 months ago
.gitignore ecaabe125c Make "Unicode::GCString" recommended. 2 years ago
Build.PL e244e3473b - Removed `Mozilla::CA` from `recommends`. 1 year ago
Changes 6edff6a897 Version 3.10.3 1 month ago
LICENSE 36f91117c9 modified: LICENSE 6 years ago
MANIFEST f67c1db5a6 renamed: bin/gtk3-youtube-viewer -> bin/gtk-youtube-viewer 1 year ago
MANIFEST.SKIP ab564f3a75 Version 3.5.9 3 years ago
Makefile.PL b39e68ca49 - Added in-memory memoization of `_get_video_info()`, `_extract_from_ytdl()` and `_extract_from_invidious()` methods. 2 years ago
README.md 306c42d71d Update copyright year. 7 months ago

README.md

youtube-viewer

A lightweight application for searching and playing videos from YouTube.

youtube-viewer

  • command-line interface to YouTube.

youtube-viewer

gtk-youtube-viewer

  • GTK+ interface to YouTube.

gtk-youtube-viewer

AVAILABILITY

INSTALLATION

To install youtube-viewer, run:

    perl Build.PL
    sudo ./Build installdeps
    sudo ./Build install

To install gtk-youtube-viewer along with youtube-viewer, run:

    perl Build.PL --gtk
    sudo ./Build installdeps
    sudo ./Build install

TRY

For trying the latest commit of youtube-viewer, without installing it, execute the following commands:

    cd /tmp
    wget https://github.com/trizen/youtube-viewer/archive/master.zip -O youtube-viewer-master.zip
    unzip -n youtube-viewer-master.zip
    cd youtube-viewer-master/bin
    ./youtube-viewer

DEPENDENCIES

For youtube-viewer:

For gtk-youtube-viewer:

Optional dependencies:

PACKAGING

To package this application, run the following commands:

    perl Build.PL --destdir "/my/package/path" --installdirs vendor [--gtk]
    ./Build test
    ./Build install --install_path script=/usr/bin

LOGGING IN

Starting with version 3.7.4, youtube-viewer provides the ~/.config/youtube-viewer/api.json file, which allows setting an YouTube API key and the client ID/SECRET values:

{
    "key":           "API_KEY",
    "client_id":     "CLIENT_ID",
    "client_secret": "CLIENT_SECRET"
}
  • Prerequisite: you must create a Google Platform project. Following the below steps should prompt you to create one if you do not already have one.
  • Enable the YouTube Data v3 API on your project: navigate here and click "Enable" (if you see a blue "Manage" button, it's already enabled).
  • Replace API_KEY with your YouTube API key. Create a new key here by clicking on "Create Credentials" > "API Key".
  • Optionally, in order to log in, replace CLIENT_ID and CLIENT_SECRET with your native client ID and client secret values, by creating a new OAuth 2.0 Client ID here: click "Create Credentials" > "OAuth client ID", then select "TV and Limited Input devices" (tutorial -- may be outdated).

The project must have the following scope enabled: https://www.googleapis.com/auth/youtube

Also, in order to log in, grant access to the project in: https://console.cloud.google.com/apis/credentials/consent

See also: #285, #308.

PIPE-VIEWER

pipe-viewer is a fork of straw-viewer, which parses the YouTube website directly, and thus it does not require an YouTube API key.

REVIEWS

VIDEO REVIEWS

SUPPORT AND DOCUMENTATION

After installing, you can find documentation with the following commands:

man youtube-viewer
perldoc WWW::YoutubeViewer

LICENSE AND COPYRIGHT

Copyright (C) 2012-2022 Trizen

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See https://dev.perl.org/licenses/ for more information.