6 puntos por GN⁺ 2023-08-15 | 1 comentarios | Compartir por WhatsApp
  • Un artículo sobre cómo eludir la limitación de velocidad de descarga de videos de YouTube
  • YouTube monetiza a partir de las visualizaciones de anuncios y aplica medidas de restricción para impedir ver o descargar videos desde clientes no oficiales
  • El primer paso para eludir la limitación de velocidad de descarga es comunicarse con la API de YouTube para encontrar la URL real que contiene el archivo de video
  • YouTube usa un parámetro específico llamado n en la mayoría de las URL de archivo, y este debe transformarse usando un algoritmo de JavaScript ubicado en el archivo base.js. Este parámetro funciona como un desafío para verificar si la descarga fue iniciada desde un cliente "oficial"
  • Como el algoritmo de JavaScript está ofuscado y cambia con frecuencia, intentar hacer ingeniería inversa para entenderlo no es realista. La solución es descargar el archivo JavaScript, extraer el código del algoritmo y ejecutarlo pasándole el parámetro n
  • YouTube sigue aplicando reglas variables de limitación de velocidad de descarga basadas en el tamaño y la duración del video. Para eludir esta limitación, la descarga puede dividirse en varias partes pequeñas usando el encabezado HTTP Range
  • YouTube distribuye los canales de video y audio en dos archivos separados. El último paso es combinar ambos canales en un solo archivo, lo cual puede hacerse con ffmpeg
  • Actualmente muchos proyectos usan estas técnicas para eludir las restricciones configuradas para impedir la descarga de videos de YouTube. El más popular es yt-dlp (un fork de youtube-dl) programado en Python, aunque este incluye su propio intérprete personalizado de JavaScript para transformar el parámetro n
  • El artículo explica el proceso y proporciona fragmentos de código, haciéndolo accesible para ingenieros de software principiantes

1 comentarios

 
GN⁺ 2023-08-15
Opiniones de Hacker News
  • Artículo sobre cómo eludir la restricción de descarga de videos de YouTube: usar el encabezado HTTP Range para dividir la descarga en partes pequeñas
  • Encabezado HTTP Range: permite especificar qué parte del archivo se quiere descargar en cada solicitud
  • Algunos usuarios: agregar parámetros de consulta de rango puede eludir la restricción y recuperar la velocidad de transferencia
  • Reportes de que la restricción de YouTube fue levantada: algunos usuarios siguen experimentando problemas de limitación
  • Pequeños cambios de YouTube: causan problemas a las herramientas que necesitan descargar archivos MP4 desde la plataforma
  • Algunos usuarios notaron diferencias en la calidad del video: sugieren que YouTube podría aplicar un filtro sutil para suavizar los artefactos de compresión
  • Distribución de video de YouTube: recibe elogios por su fluidez incluso en regiones con mala conexión a internet
  • Debate sobre las implicaciones éticas de eludir la restricción de YouTube: algunos sostienen que optimizar la velocidad de un navegador normal es razonable, mientras que otros sienten que usar más recursos de YouTube es injusto
  • yt-dlp mencionado en el artículo: un fork basado en Python de youtube-dl, que incluye un intérprete personalizado de JavaScript para transformar parámetros