• Stars
    star
    1,177
  • Rank 39,735 (Top 0.8 %)
  • Language
    Perl
  • License
    Artistic License 2.0
  • Created almost 14 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lightweight YouTube client for Linux

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.

More Repositories

1

trizen

Lightweight AUR Package Manager
Perl
791
star
2

pipe-viewer

A lightweight YouTube client for Linux, without requiring an API key.
Perl
383
star
3

obmenu-generator

A fast menu generator for the Openbox Window Manager.
Perl
174
star
4

perl-scripts

A nice collection of day-to-day Perl scripts.
Perl
130
star
5

sidef

A modern object-oriented programming language implemented in Perl.
Perl
113
star
6

straw-viewer

**DEPRECATED** Use https://github.com/trizen/pipe-viewer instead.
Perl
108
star
7

menutray

An application menu through a GTK+ tray status icon.
Perl
62
star
8

clyrics

An extensible lyrics fetcher, with daemon support for cmus and mocp.
Perl
59
star
9

alsi

A command-line system information tool for Arch Linux.
Perl
34
star
10

language-benchmarks

A simple benchmark system for compiled and interpreted languages.
Perl
24
star
11

fbmenugen

Fluxbox menu generator (with support for icons)
Perl
18
star
12

lbry-viewer

Experimental Linux client for LBRY/Odysee.
Perl
14
star
13

project-euler

Personal solutions to various problems from projecteuler.net
Perl
13
star
14

oblogout-py3

Openbox Logout Menu, ported to Python 3.
Python
10
star
15

julia-scripts

Small programs written in Julia.
Julia
10
star
16

obbrowser

Recursively browse the filesystem through Openbox pipe menus (with icons).
Perl
10
star
17

experimental-projects

Highly experimental personal projects.
Perl
8
star
18

raku-rosettacode

Tasks from Rosettacode implemented in Raku
8
star
19

config-files

Configuration files.
Perl
7
star
20

smart-units

A simple command-line units converter. (written in Sidef)
6
star
21

sidef-scripts

A nice collection of Sidef scripts.
Ruby
6
star
22

cpp-learning

Simple C++ programs used in learning this complex language.
C++
5
star
23

Linux-DesktopFiles

Linux::DesktopFiles - a very fast Perl module for parsing application .desktop files.
Perl
5
star
24

raku-scripts

A small collection of Raku scripts.
Raku
4
star
25

fbrowse-tray

A file-browser through a GTK+ tray status icon.
Perl
3
star
26

sidef-book

The Sidef programming language book.
2
star
27

processing-scripts

Simple graphical scripts in Processing.
Processing
2
star
28

ruby-scripts

A small collection of Ruby scripts.
Ruby
2
star
29

corvinus2

The Corvinus Programming Language (v2)
Perl
2
star
30

Compression-Util

Implementation of various techniques used in data compression.
Perl
2
star
31

Data-Dump-Perl6

Pretty printing of data structures as Perl6 code (deprecated)
Perl
1
star
32

Math-Bacovia

Math::Bacovia - symbolic math library for Perl 5.
Perl
1
star
33

Perl-Tokenizer

Perl::Tokenizer - a tiny Perl code tokenizer.
Perl
1
star
34

rc

Rosetta Code output files
1
star
35

Math-Sidef

Perl interface to Sidef's mathematical library.
Perl
1
star
36

island

The Island programming language. (unimplemented idea)
1
star