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.
- 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 :
↑/↓ouj/kpour sélectionner,Entréepour lire,/pour relancer une recherche,q/Échappour quitter. - Lecture vidéo via
mpv(décodage matériel VAAPI, sous-titres/audio FR en priorité).
python3(3.10+)yt-dlp— extraction des infos et flux YouTube.mpv— lecture vidéo.python3-pillow(ou le paquet pipPillow) — traitement des miniatures.
Sur Fedora :
sudo dnf install python3 python3-pillow yt-dlp mpvCe 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 chafaSi chafa n'est pas installé, le script fonctionne exactement comme avant
(repli automatique et silencieux sur le rendu demi-bloc maison).
cd "Youtube Terminal"
pip install -r requirements.txt./youtube.sh une recherche quelconque
./youtube.sh https://www.youtube.com/watch?v=XXXXXXXXXXXSans argument, le script demande une recherche ou une URL de manière interactive.
| 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 |
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 nimpv— 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.