HARDWAREXT/Aplicaciones
Volver a Aplicaciones

YTConverter y yt-dlp: descargar vídeo y audio de forma limpia

Un programa de terminal con menús para descargar vídeo y audio, montado para que las actualizaciones no se pisen.

Índice
  1. Cómo lo vamos a montar
  2. Windows 10 y 11
  3. macOS
  4. Android, con Termux
  5. CachyOS: yt-dlp desde el repositorio oficial
  6. Usarlo
  7. Actualizar
  8. Cookies y cuentas
  9. Si algo falla
Icono de descarga sobre fondo rojo oscuro

YTConverter es un programa de terminal, con menús, para descargar vídeo y audio. Por debajo usa yt-dlp, que es quien hace de verdad la descarga, y FFmpeg, que une y convierte los archivos. Esta guía lo instala de forma limpia en Windows, macOS y Android, y en CachyOS explica cómo usar directamente yt-dlp desde el repositorio oficial.

Úsalo solo con contenido tuyo, con permiso de su autor, con una licencia que permita descargarlo o cuando la ley lo permita. Descargar vídeos va contra las condiciones de uso de YouTube. Esta guía no explica cómo saltarse protecciones anticopia, muros de pago ni controles de acceso.

Cómo lo vamos a montar

Cada pieza con un único responsable, para que las actualizaciones no se pisen:

  • El gestor de paquetes del sistema instala FFmpeg, Deno y compañía.
  • Git descarga y actualiza el código de YTConverter.
  • Un entorno virtual de Python (.venv) guarda sus librerías, separadas del resto del sistema.

En 2026, yt-dlp necesita para YouTube un intérprete de JavaScript (Deno) y unos scripts llamados EJS. Por eso instalaremos yt-dlp[default], que los incluye, y no solo yt-dlp.

Windows 10 y 11

En PowerShell, comprueba que WinGet funciona (winget --version) e instala las herramientas:

winget install --id Git.Git -e
            winget install --id Python.Python.3.14 -e
            winget install --id Gyan.FFmpeg -e
            winget install --id yt-dlp.yt-dlp -e
            winget install --id DenoLand.Deno -e

Antes de instalar, puedes comprobar que cada nombre corresponde al programa que esperas con winget search --id Git.Git -e (y así con cada uno).

Cierra todas las terminales, abre una nueva y descarga YTConverter:

New-Item -ItemType Directory -Force "$HOME\Applications" | Out-Null
            cd "$HOME\Applications"
            git clone https://github.com/kaifcodec/ytconverter.git
            cd .\ytconverter\standalone
            python -m venv .venv
            .\.venv\Scripts\python.exe -m pip install --upgrade pip
            .\.venv\Scripts\python.exe -m pip install -U -r .\requirements.txt
            .\.venv\Scripts\python.exe -m pip install -U "yt-dlp[default]"

Ábrelo:

.\.venv\Scripts\python.exe .\ytconverter.py

Para abrirlo desde cualquier carpeta, crea %USERPROFILE%\bin\ytconverter.cmd con este contenido y añade %USERPROFILE%\bin a tu PATH de usuario:

@echo off
            set "APP=%USERPROFILE%\Applications\ytconverter\standalone"
            pushd "%APP%" >nul
            "%APP%\.venv\Scripts\python.exe" "%APP%\ytconverter.py" %*
            set "RC=%ERRORLEVEL%"
            popd >nul
            exit /b %RC%

El pushd es importante: YTConverter busca su archivo de versión en la carpeta desde la que se ejecuta.

macOS

Necesitas las herramientas de línea de comandos (xcode-select --install) y Homebrew. Después:

brew install git [email protected] ffmpeg yt-dlp

La fórmula de yt-dlp ya trae Deno y los scripts EJS. Descarga YTConverter y prepara su entorno:

mkdir -p ~/Applications && cd ~/Applications
            git clone https://github.com/kaifcodec/ytconverter.git
            cd ytconverter/standalone
            python3 -m venv .venv
            ./.venv/bin/python -m pip install --upgrade pip
            ./.venv/bin/python -m pip install -U -r requirements.txt
            ./.venv/bin/python -m pip install -U "yt-dlp[default]"
            ./.venv/bin/python ./ytconverter.py

Para abrirlo desde cualquier carpeta, crea ~/.local/bin/ytconverter, dale permiso con chmod +x y asegúrate de que ~/.local/bin está en tu PATH:

#!/usr/bin/env bash
            set -e
            APP="$HOME/Applications/ytconverter/standalone"
            cd "$APP"
            exec "$APP/.venv/bin/python" "$APP/ytconverter.py" "$@"

Android, con Termux

Instala Termux solo desde F-Droid o desde sus publicaciones oficiales en GitHub, y sus complementos desde la misma fuente: las firmas no coinciden entre fuentes distintas.

termux-setup-storage
            pkg update && pkg upgrade
            pkg install git python ffmpeg deno
            cd ~
            git clone https://github.com/kaifcodec/ytconverter.git
            cd ytconverter/standalone
            python -m venv .venv
            ./.venv/bin/python -m pip install --upgrade pip
            ./.venv/bin/python -m pip install -U -r requirements.txt
            ./.venv/bin/python -m pip install -U "yt-dlp[default]"

termux-setup-storage pide permiso para guardar en tu carpeta de descargas (~/storage/downloads). Crea el lanzador en ~/.local/bin/ytconverter, con chmod +x. En Android, además, tiene que añadir el entorno al PATH, porque YTConverter llama también al comando yt-dlp:

#!/data/data/com.termux/files/usr/bin/bash
            set -e
            APP="$HOME/ytconverter/standalone"
            cd "$APP"
            export PATH="$APP/.venv/bin:$PATH"
            exec "$APP/.venv/bin/python" "$APP/ytconverter.py" "$@"

CachyOS: yt-dlp desde el repositorio oficial

YTConverter no está en ningún repositorio oficial, así que en CachyOS usamos directamente yt-dlp, que sí lo está y hace lo mismo desde el terminal. Arrastra solo Deno y los scripts EJS:

sudo pacman -S yt-dlp ffmpeg

Lo básico:

yt-dlp -F "URL"                      # ver los formatos disponibles
            yt-dlp "URL"                         # descargar la mejor calidad
            yt-dlp -x --audio-format mp3 "URL"   # solo el audio, en MP3
            yt-dlp --list-subs "URL"             # ver los subtítulos

Se actualiza con el sistema: sudo pacman -Syu.

Usarlo

Abre YTConverter, pega la dirección y sigue el menú. Si algo no sale como esperabas, estas órdenes de yt-dlp ayudan a saber si el problema es de YTConverter, de yt-dlp o del vídeo:

  • yt-dlp -F "URL": los formatos que existen. Si una calidad no aparece aquí, YTConverter tampoco puede sacarla.
  • yt-dlp --list-subs "URL": los subtítulos.
  • yt-dlp --simulate "URL": prueba sin descargar nada.

En calidades altas, el vídeo y el audio van por separado y FFmpeg los une. Y convertir a MP3 con mucha calidad no recupera la que el original no tenía.

Si YTConverter te pregunta si quieres actualizarse solo, responde n. Su actualizador automático sustituye la instalación sin respetar el entorno que hemos montado. Actualiza a mano, como se explica abajo.

Actualizar

Las herramientas, con tu gestor: winget upgrade --id yt-dlp.yt-dlp -e (y FFmpeg y Deno) en Windows; brew upgrade en macOS; pkg upgrade en Termux.

YTConverter, desde su carpeta:

git status
            git pull --ff-only

Y después, dentro de standalone, vuelve a instalar sus librerías en el entorno: las dos líneas de pip install -U de la instalación.

No uses git reset --hard como solución para todo: borra cualquier cambio local sin avisar.

Cookies y cuentas

Las cookies de una sesión iniciada equivalen a tu contraseña: no las subas a GitHub, no las pegues en un foro y no las mandes por Discord. Si un contenido legítimo necesita iniciar sesión, sigue la documentación de yt-dlp.

Si algo falla

  • ModuleNotFoundError: vuelve a instalar las librerías con el Python del entorno (.venv), no con el del sistema.
  • Falta el intérprete de JavaScript: comprueba deno --version y prueba con yt-dlp -v --simulate "URL".
  • YouTube pide iniciar sesión o dice que no eres humano: actualiza yt-dlp, comprueba Deno y EJS, y prueba con --simulate.
  • No encuentra FFmpeg: ffmpeg -version; si falla, reinstálalo con tu gestor de paquetes.
  • Vídeo sin sonido: muchos formatos son solo vídeo; mira yt-dlp -F y que FFmpeg esté instalado.
  • El lanzador solo funciona desde una carpeta: tiene que entrar en standalone y usar el Python del entorno.

Nunca:

  • instales librerías con sudo pip install,
  • ejecutes YTConverter como administrador,
  • ni mezcles varias formas de instalar la misma pieza.

Para desinstalar: borra la carpeta ytconverter y el lanzador. No quites Python, Git, FFmpeg, yt-dlp ni Deno sin comprobar antes que no los usa nada más.

Fuentes: YTConverter, yt-dlp, yt-dlp y EJS y condiciones de YouTube.

Sigue leyendo