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

trizen 8af8e97428 Recognize the new audio itag `774`. 1 개월 전
.github 343a608396 Create FUNDING.yml 4 년 전
bin 780aaee7a1 gui: simplification in the setting of icons from pixbuf. 2 달 전
lib 8af8e97428 Recognize the new audio itag `774`. 1 개월 전
share 1d1225fba2 modified: share/gtk3-youtube-viewer.glade -- teaked the padding 2 달 전
t 6c42fb1f1a Version v3.5.4. 5 년 전
utils 5c8afe498d - Re-implemented support for related videos, without using the YouTube API. 9 달 전
.gitignore ecaabe125c Make "Unicode::GCString" recommended. 3 년 전
Build.PL 3324f408b6 - Extended `fat32safe` to convert Unicode characters to ASCII equivalent when `Text::Unidecode` is available. 1 년 전
Changes b3ceba2807 Version 3.11.0 4 달 전
LICENSE 36f91117c9 modified: LICENSE 7 년 전
MANIFEST b493cedef0 - gui: added "Backward" and "Forward" buttons for navigating the history. 2 달 전
MANIFEST.SKIP ab564f3a75 Version 3.5.9 4 년 전
Makefile.PL 4fbbbefc49 Code tidy. 9 달 전
README.md 107006ac4e modified: README.md -- prefer the `-git` version from AUR 4 달 전

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-2024 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.