Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Youtube Terminal

Navigateur YouTube en TUI (interface texte) directement dans le terminal : recherche, liste de résultats avec miniatures en couleurs, et lecture vidéo via mpv. Aucune fenêtre de navigateur, aucun visualiseur d'images externe — tout se passe dans le terminal.

Fonctionnalités

  • Recherche YouTube ou lecture directe d'une URL (youtube.com, youtu.be, music.youtube.com).
  • Titres, chaîne et durée en français (--extractor-args youtube:lang=fr).
  • Miniatures affichées en ANSI truecolor (24 bits), sans jamais sortir du terminal ni ouvrir de fenêtre.
  • Navigation clavier : ↑/↓ ou j/k pour sélectionner, Entrée pour lire, / pour relancer une recherche, q/Échap pour quitter.
  • Lecture vidéo via mpv (décodage matériel VAAPI, sous-titres/audio FR en priorité).

Prérequis système

  • python3 (3.10+)
  • yt-dlp — extraction des infos et flux YouTube.
  • mpv — lecture vidéo.
  • python3-pillow (ou le paquet pip Pillow) — traitement des miniatures.

Sur Fedora :

sudo dnf install python3 python3-pillow yt-dlp mpv

Optionnel : chafa — miniatures moins pixélisées

Ce terminal (Ptyxis, basé sur VTE) ne supporte ni Sixel ni le protocole graphique Kitty/iTerm2. Il est donc impossible d'afficher une « vraie » image bitmap sans ouvrir une fenêtre externe — la seule option reste le rendu en caractères Unicode colorés.

Par défaut, youtube.sh dessine les miniatures lui-même avec des demi-blocs (▄) truecolor (2 sous-pixels par cellule). Si l'outil chafa est installé, le script l'utilise automatiquement à la place : chafa teste un plus grand jeu de glyphes Unicode (demi-blocs, quadrants, sextants…) et applique un dithering pour choisir, cellule par cellule, la meilleure approximation de l'image. Le résultat est visuellement plus fin et moins « blocky », tout en restant du texte ANSI pur affiché dans le terminal (aucune fenêtre, aucun protocole graphique requis).

sudo dnf install chafa

Si chafa n'est pas installé, le script fonctionne exactement comme avant (repli automatique et silencieux sur le rendu demi-bloc maison).

Installation des dépendances Python

cd "Youtube Terminal"
pip install -r requirements.txt

Usage

./youtube.sh une recherche quelconque
./youtube.sh https://www.youtube.com/watch?v=XXXXXXXXXXX

Sans argument, le script demande une recherche ou une URL de manière interactive.

Raccourcis clavier

Touche Action
↑ / k Sélection précédente
↓ / j Sélection suivante
Entrée Lire la vidéo sélectionnée (mpv)
/ Nouvelle recherche
q / Échap Quitter

Notes techniques

  • YOUTUBE_SH_NO_PLAY=1 ./youtube.sh <requête> : affiche les résultats en texte brut (titre, durée, chaîne, URL) sans lancer l'interface interactive ni mpv — utile pour scripter ou tester sans terminal interactif.
  • Les miniatures sont mises en cache en mémoire par vidéo (ansi/ansi_geo) et recalculées uniquement si la taille du terminal change.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages