miércoles, 4 de julio de 2012

Por qué no se puede automatizar la descarga de Youtube

Muchas peticiones de descarga son de youtube y tristemente no puedo ofrecer este servicio.
Puesto que hay una razón para ello, quería compartirla con todos aquellos que lean:

Lo primero es el enlace:
Los enlaces de los videos de youtube son http (descarga directa). Entonces, ¿por qué no puedo automatizar su obtencion?
La causa es que estos enlaces solo son validos para la IP que los solicite. Por tanto, si el servidor de descargavideos carga youtube y calcula los enlaces, aquellos enlaces que obtenga serán solo validos para que la IP de Descargavideos, por lo que nadie más podra usarlos.

Entonces pasamos al segundo paso. El enlace debe de ser extraido de la web de youtube cargada en el pc del que quiere descargar el video para que la IP del que carga la web sea la misma que la del que quiere descargar el vídeo.
Nuevamente otro problema surge: Esto sería un fallo de seguridad y no es posible. Youtube es un dominio diferente de Descargavideos, y tanto los navegadores como sus plugins (flash, activeX y similares) no pueden (ni deben) acceder a otro dominio (java escapa de esta "seguridad"). El problema sería que si se permitiera desde un dominio acceder a otro, podría coger tus datos privados de esas webs facilmente, y esto sería claramente peligroso.

Solo falta el tercer punto, y es que seria necesario un applet (una aplicación que se ejecuta online) hecho en java para descargar de Youtube, que cargue la web en el pc del visitante, envie el código fuente a Descargavideos, lo interprete y retorne los enlaces. El último problema está en que, a diferencia del resto de servidores soportados, para Youtube sería necesario el plugin de java junto con la autorización de ejecutar el applet por parte del visitante a la web.
Esto realmente no es un problema de no ser porque pretendo que esta web sea operable unicamente con un navegador y así sea accesible desde cualquier lugar (pc, movil, tv con internet, ps3, etc) e incorporar el plugin haría que youtube solo funcionara en pc.

En caso de que reciva peticiones en las que quieran descargar vídeos de Youtube sin importar que se use el plugin de java, entonces lo incorporaré, pero solo estará disponible para ordenadores y smartphones "muy decentes"...

por esto Youtube no está en el listado de canales soportados.

3 comentarios:

  1. una idea.
    Porque no descargas el video como "descargavideos", y por ejemplo lo guardas en tu servidor(u otro), y ya desde ese nuevo servidor(copia) ya me lo descargo yo.

    solo como idea.

    ResponderEliminar
  2. No es mala idea...
    Es algo pesado para el servidor, pero voy a trabajar en ello.

    Los servidores gratuitos no son muy "amables" que digamos, por lo que habrá que mirarlo bien.

    ResponderEliminar
  3. Me arrepiendo de haber escrito esta entrada...
    http://descargavid.blogspot.com.es/2012/07/youtube-en-pruebas.html

    xD

    Gracias 'Anonimo' por la idea, me sirvió aunque lo hice algo diferente.

    ResponderEliminar