________ ________ ________ _______ ________ ________ ________ ________
╱ ╱ ╲╱ ╲╱ ╱ ╱ ╲╲╱ ╱ ╲╱ ╲ ╱ ╲╱ ╲
╱ ╱ _╱ ╲╱ ╱╱ ╱ _╱_╱ ╱╱ ╱
╲__ ╱╱╱ ╱╱ ╱ ╱ ╱- ╱╱ ╱ --╱
╲____╱╱ ╲______╱ ╲________╱╲__╱__╱__╱╲________╱╲________╱ ╲________╱╲________╱
Terminal YouTube Music Player con playlists, skins ASCII, descarga automática, streaming externo y buffering inteligente.
| Feature | Descripción |
|---|---|
| 🌐 Multilenguaje | Interfaz en Español e Inglés. Cambiá desde Settings o con YTBMUSIC_LANG=en. |
| 🎧 Streaming Externo | Transmití a servidores Icecast/Shoutcast. Compartí el link con amigos. |
| 🌈 Gradientes Demoscene | 12 patrones animados (aurora, starfield, kaleidoscope, fireflies...). |
| 💿 Chapter Splitting | Videos con timestamps se convierten en playlists con tracks individuales. |
| 🎵 Streaming + Cache | Reproducción inmediata + descarga en segundo plano. |
| 🔈 Background Playback | La música sigue al volver al menú (M) o importar playlists. |
| ⬇️ Smart Download | Cola inteligente con prioridades, dedupe y progreso. |
| 📥 Smart Import | Importá Playlists o Videos (I) con detección de chapters. |
| 🎬 Single Video | Pegá watch?v=... y crea una playlist instantánea. |
| 🛡️ Auto-Skip | Detecta videos eliminados/privados automáticamente. |
| 🎼 Track Picker | Abrí lista de temas (T) y elegí qué reproducir. |
| 🔍 Búsqueda Global | Busca en todas las playlists (F). |
| 🖼️ Fondos | Sólidos, transiciones o gradientes. Ver guía. |
| 🎨 Skins ASCII | 10+ skins retro. Ver guía. |
| 🌊 Animaciones | Visualizaciones dinámicas. Ver guía. |
| 🔀 Shuffle/Repeat | Modos de reproducción aleatoria y repetición. |
| 🛠️ Settings | Diagnóstico, streaming, cache, idioma. |
| 🔐 Auto-Auth | Auto-refresco de cookies si YouTube pide verificación. |
# Clonar
git clone https://github.com/vlasvlasvlas/ytbmusic.git
cd ytbmusic
# Instalar (crea venv + dependencias)
./install.sh
# Ejecutar
./run.sh
# Ejecutar en inglés
YTBMUSIC_LANG=en ./run.shWindows: Usá install.bat y run.bat.
Requisitos:
- Python 3.8+
- VLC Media Player
- FFmpeg (opcional, para streaming externo)
YTBMusic soporta Español (default) e Inglés.
# Desde terminal
YTBMUSIC_LANG=en ./run.sh
# O desde la app
Settings (O) → 🌐 Idioma / Language (Click to toggle)Usá selectores visuales para playlists, skins y fondos. Navegá con flechas + Enter.
| Tecla | Acción |
|---|---|
I |
Importar playlist/video |
F |
Buscar en todas las playlists |
R |
Random All Songs |
O |
Settings / Herramientas |
P |
Reproducir playlist |
E |
Renombrar playlist |
D |
Descargar tracks pendientes |
X |
Borrar playlist |
A |
Toggle animación |
Q |
Salir |
| Tecla | Acción |
|---|---|
Space |
Play/Pause |
N / P |
Next / Previous Track |
T |
Track Picker |
← / → |
Seek ±10s |
↑ / ↓ |
Volumen |
S |
Cambiar Skin |
B |
Cambiar Fondo |
A |
Toggle Animación |
V |
Cambiar Animación |
Z |
Shuffle On/Off |
R |
Repeat (Playlist/Track/Off) |
M |
Volver al Menú |
Q |
Salir |
Abrí con O desde el menú:
| Opción | Descripción |
|---|---|
| Diagnóstico | Estado de VLC, cookies, yt-dlp |
| Streaming | Configurar Icecast para compartir música |
| Limpiar Cache | Borrar archivos huérfanos |
| Refrescar Cookies | Actualizar desde navegador |
| 🌐 Idioma | Alternar Español / English |
Transmití tu música para que amigos escuchen en tiempo real.
- Servidor Icecast corriendo (local o remoto)
- FFmpeg instalado (
brew install ffmpeg/apt install ffmpeg) - Track descargado en cache (no streaming directo de YouTube)
- Abrí Settings (
O) → Editar Streaming - Configurá:
- URL:
http://tu-servidor:8000/stream - Usuario:
source(default Icecast) - Password: tu password de Icecast
- Bitrate: 128 kbps (recomendado)
- URL:
- Clic en
▶️ INICIAR STREAM
Una vez activo, aparece el link para compartir:
http://tu-servidor:8000/stream
Otros pueden abrirlo en VLC, navegador, o cualquier reproductor.
Al importar un video largo con timestamps en la descripción (ej: álbum completo), YTBMusic detecta los chapters automáticamente y crea un track por cada uno.
01. Track One - 00:00
02. Track Two - 03:45
03. Track Three - 07:20
Cada track salta a su posición correcta al reproducir. El audio se descarga una sola vez.
YouTube puede pedir verificación. YTBMusic intenta autenticarse:
- Usa
cookies.txt(raíz del repo) si existe - Lee cookies del navegador configurado
# Forzar navegador específico
YTBMUSIC_COOKIES_BROWSER=firefox ./run.sh| Variable | Descripción |
|---|---|
YTBMUSIC_COOKIES_FILE |
Ruta a cookies.txt |
YTBMUSIC_COOKIES_BROWSER |
chrome, firefox, etc. |
YTBMUSIC_LANG |
es o en |
ytbmusic/
├── core/ # Player, Downloader, Playlist, Streaming
├── ui/ # Interfaz (views, loaders)
├── config/ # Configuración + i18n
├── playlists/ # Archivos .json
├── skins/ # Diseños ASCII
├── animations/ # Visualizaciones
├── backgrounds/ # Fondos JSON
├── cache/ # Audio descargado
├── logs/ # Logs rotativos
└── run.sh # Script de ejecución
- Skins - Interfaces ASCII completas
- Animaciones - Visualizaciones para el footer (3 líneas)
- Fondos - 12 patrones animados (aurora, kaleidoscope, fireflies, tunnel, etc). Soporta comentarios
//en JSON.
python3 build.py # Genera ejecutable standaloneGitHub Actions compila para Windows, macOS y Linux en cada release.
MIT License. Usalo y modificalo libremente.
