Sobre el proyecto

youtube-dl es un programa de línea de comandos para descargar videos de YouTube.com y muchas otras plataformas de video. Está escrito en Python, funciona en múltiples plataformas (Linux, macOS, Windows) y requiere Python 2.6/2.7 o 3.2+. ## Instalación Disponible a través de múltiples métodos: - Descarga directa del binario: `sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl` - pip: `sudo -H pip install --upgrade youtube-dl` - macOS Homebrew: `brew install youtube-dl` - macOS MacPorts: `sudo port install youtube-dl` - Windows: Descargar el .exe y colocarlo en la ruta PATH (no en System32). ## Funciones principales - Descarga videos y subtítulos de más de 1000 sitios compatibles usando extractores dedicados. - Soporte completo para listas de reproducción con selección por rango (`--playlist-start`, `--playlist-end`, `--playlist-items`), orden inverso y orden aleatorio. - Selección y filtrado de formatos de video por resolución, contenedor, códec, tamaño de archivo, duración, cantidad de vistas y fecha. - Bypass de restricciones geográficas mediante encabezados X-Forwarded-For falsos, códigos de país personalizados o excepciones de bloqueo IP. - Opciones de red: proxies HTTP/HTTPS/SOCKS, forzado IPv4/IPv6, tiempos de espera de socket, agentes de usuario y referers personalizados. - Soporte para descargadores externos (aria2c, curl, ffmpeg, wget, axel, etc.) para escenarios de descarga avanzados. - Reanudación de archivos parcialmente descargados; reintentos configurables tanto para fragmentos completos como individuales. - Plantillas de nombre de archivo de salida con amplias claves de metadatos (título, cargador, fecha de carga, resolución, formato, etc.). - Artefactos de salida opcionales: miniaturas (individual o todos los formatos), metadatos `.info.json`, archivos `.description`, `.annotations.xml`. ## Patrones de uso comunes Descarga básica: `youtube-dl <URL>` Descargar elementos de la lista de reproducción 5 a 10: `youtube-dl --playlist-items 5-10 <URL_de_la_listpla>` Seleccionar mejor video solo: `youtube-dl -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]" <URL>` Establecer plantilla de salida: `youtube-dl -o "%(title)s [%(id)s].%(ext)s" <URL>` Descargar subtítulos: agregar `--write-subs --sub-langs en` al comando. Ejecución de prueba sin descargar: `youtube-dl --skip-download <URL>` Volcar metadatos JSON: `youtube-dl --dump-json <URL>` Limitar velocidad: `youtube-dl --limit-rate 50K <URL>` ## Configuración Las opciones pueden colocarse en archivos de configuración: - Global: `/etc/youtube-dl.conf` - Usuario: `~/.config/youtube-dl/config` (Linux/macOS) o `%APPDATA%/youtube-dl/config.txt` (Windows) Use `--config-location` para especificar una ruta personalizada, o `--ignore-config` para omitir la lectura de cualquier archivo de configuración. ## Integración como biblioteca youtube-dl puede usarse como biblioteca de Python, incorporando la lógica de extracción y descarga en scripts y aplicaciones. ## Licencia Publicado en dominio público — libre para modificar, redistribuir y usar de cualquier manera.