Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: b2k en 17 Enero 2008, 03:44 AM

Título: Descargar videos de youtube
Publicado por: b2k en 17 Enero 2008, 03:44 AM
Hola,

Pues, tengo un codigo hace tiempo en mente que quiero implementar...

y eso, como descargar los videos de youtube mediante un script en PHP....

Citar1- elegimos el video que queramos ver.

2- Nos fijamos en el link del video que estamos viendo y se vé algo así: http://es.youtube.com/watch?v=LUmttENypK8

3- Lo que hacemos ahora es cambiar los símbolos "?" y "=" por el símbolo "/", y quedaría así: http://es.youtube.com/watch/v/LUmttENypK8.
Presionamos la tecla enter.

4- Una vez hecho lo anterior, veremos que en una ventana limpia del explorador se visualiza el video, pero con el siguiente link: http://es.youtube.com/swf/l.swf?video_id=LUmttENypK8&rel=1&eurl=&iurl=http%3A//img.youtube.com/vi/LUmttENypK8/default.jpg&t=OEgsToPDskKoYbkIuA1SwYe4J8svtLSC.

5- Ahora lo que vemos en color rojo lo modificamos y le escribimos "get_video" (sin comillas obvio) y quedará algo así: http://es.youtube.com/get_video?video_id=LUmttENypK8&rel=1&eurl=&iurl=http%3A//img.youtube.com/vi/LUmttENypK8/default.jpg&t=OEgsToPDskKoYbkIuA1SwYe4J8svtLSC.

6- Presionamos enter, y nos aparecerá la ventanita de descarga típica del explorador. Pero se descarga el video sin extension. Pero ese no es problema, nosotros le cambiamos la extensión a flv. Por ejemplo, cuando nos pide el nombre y la ubicacion donde descargar el video, nosotros le ponemos el nombre que querramos, es decir, si descargamos con el nombre get_video nosotros le pondremos get_video.flv. Y eso es todo.

Mi pregunta seria, como implementarlo en PHP
Título: Re: Descargar videos de youtube
Publicado por: ActiveSheet en 17 Enero 2008, 07:36 AM
No pues no jala eh.
Título: Re: Descargar videos de youtube
Publicado por: kanser en 17 Enero 2008, 07:39 AM
si jala de hecho yo ando trabajando para crear un script si tengo algo mas te lo comunico ;)
Título: Re: Descargar videos de youtube
Publicado por: NadiceJMA en 17 Enero 2008, 07:53 AM
pero ya existen paginas que hacen eso, y aparte hay muchos programas para bajarte un video de youtube
como por ejemplo
ejecutable - VIDEOTODO 2.0.2.1  http://file2upload.net/download/10999/videotodo_2.0.2.1.rar.html (http://file2upload.net/download/10999/videotodo_2.0.2.1.rar.html)

website - http://www.bajaryoutube.com/

aunq fuera bueno que hagas tu propio script para que lo puedas poner en tu website y a la vez lo aportes para que otros webmasters lo utilizen.
Título: Re: Descargar videos de youtube
Publicado por: kanser en 17 Enero 2008, 08:04 AM
así es es solo la satisfaccion de saber que lo hiciste tu, o simplemente para aprender  :xD
Título: Re: Descargar videos de youtube
Publicado por: NadiceJMA en 17 Enero 2008, 08:07 AM
bueno me parece buena idea, y si lo consigues no olvides en postearlo o en mandarmelo jaja......pilas cuidate...y logra hacerlo....yo tb voy a ver si puedo intentar hacer lo que dices ya que me diste el algoritmo ok....
Título: Re: Descargar videos de youtube
Publicado por: ActiveSheet en 18 Enero 2008, 11:54 AM
Ps yo lo ago manualmente ;)

http://foro.hackmexico.com/index.php?topic=20.0 (http://foro.hackmexico.com/index.php?topic=20.0)
Título: Re: Descargar videos de youtube
Publicado por: b2k en 19 Enero 2008, 04:21 AM
Hola a todos,

Pues anduve probando con este codigo que me encontre

Código (php) [Seleccionar]
<?php
      
if (isset($_POST['url'])) {
         
$vurl "http://www.youtube.com/get_video?video_id=";
         
$data file_get_contents($_POST['url']);
         
preg_match_all("/player2.swf\?video_id\=(.*)\"/"$data$m);
         list(
$id) = explode('"'$m[1][0]);
         
header ("Location: ".$vurl.trim($id));
         exit();
      }
      
?>


Pero no me funciona, segun anduve investigando es producto a que han cambiado alguans caracteristicas en youtube, puede ser esto cierto?
Título: Re: Descargar videos de youtube
Publicado por: ActiveSheet en 28 Enero 2008, 10:50 AM
no men te timaron.

lo que pasa es que esta mal tu codigo.
Título: Re: Descargar videos de youtube
Publicado por: gm-vl en 2 Febrero 2008, 01:01 AM
io cree este si lo quieren pasen la vos que lo posteo nomas

http://gerardox.freetzi.com/getvideo.php?id=tFvedbMGbJo

en donde dice tFvedbMGbJo solo le ponen la id del video youtube
Título: Re: Descargar videos de youtube
Publicado por: nabelcc en 10 Agosto 2008, 00:04 AM
Para descargar videos de youtube usa http://innovasitio.com/video/ (http://innovasitio.com/video/) solo buscas el video y le haces click en descargar y listo ...
Título: Re: Descargar videos de youtube
Publicado por: Freeze. en 10 Agosto 2008, 00:31 AM
Yo creo que aca paso algo cuando google compro youtube. Por ejemplo:

Esta es la url a la que se accede a un video:
http://v19.cache.googlevideo.com/get_video?video_id=bgYg-FAZCvE&origin=lax-v16.lax.youtube.com&signature=3CD8F74B6635498726E1BBBCB6ABB28F19401780.6492EE51DD31F9225F5729612E62562724EBAB47&ip=201.243.137.188&ipbits=16&expire=1218342322&key=yt1&sver=2

Como pueden ver ahora es muy diferente la url para bajar videos y creo que todos esos parametros son necesarios para descargar el video.

Parametro Es el ID del video muy fácil de obtener.
Parametro Es el servidor del video EN YOUTUBE.
Parametro Es el servidor del video EN GOOGLE.
Título: Re: Descargar videos de youtube
Publicado por: Novlucker en 10 Agosto 2008, 01:19 AM
 :huh:
De donde se supone que has sacado esa dirección??
En mi caso, los videos, siguen teniendo el mismo tipo de dirección de siempre  :-\

http://www.youtube.com/watch?v=7GRFEiGIsDM

Saludos

Título: Re: Descargar videos de youtube
Publicado por: Freeze. en 10 Agosto 2008, 01:22 AM
De donde es lo de menos.

Claro que tienen la misma url pero la forma de acceder a ellos es diferente. Antes con un simple:
http://es.youtube.com/get_video?video_id=LUmttENypK8&rel=1&eurl=&iurl=http%3A//img.youtube.com/vi/LUmttENypK8/default.jpg&t=OEgsToPDskKoYbkIuA1SwYe4J8svtLSC.
Se obtenia el video. Pero ahora no, ahora es diferente. Pero el que tu dices no cambia porque eso se maneja por htaccess.
Título: Re: Descargar videos de youtube
Publicado por: Novlucker en 10 Agosto 2008, 01:27 AM
ok, pero me refiero a que el método de obtener los videos sigue siendo el mismo.. en scripting tengo un downloader creado en vbs que implementa el mismo método  :rolleyes:

1)
http://www.youtube.com/watch?v=7GRFEiGIsDM
2)
http://www.youtube.com/watch/v/7GRFEiGIsDM
3)
http://www.youtube.com/swf/l.swf?video_id=7GRFEiGIsDM&rel=1&eurl=&iurl=http%3A//i4.ytimg.com/vi/7GRFEiGIsDM/default.jpg&t=OEgsToPDskLJJzbeYjEul1usVKs2gMUA&use_get_video_info=1
4)
http://www.youtube.com/get_video?video_id=7GRFEiGIsDM&rel=1&eurl=&iurl=http%3A//i4.ytimg.com/vi/7GRFEiGIsDM/default.jpg&t=OEgsToPDskLJJzbeYjEul1usVKs2gMUA&use_get_video_info=1

Y salta la descarga..... en definitiva... el mismo método que en el primer post y el mismo que ha existido siempre

Saludos
Título: Re: Descargar videos de youtube
Publicado por: seba123neo en 10 Agosto 2008, 01:27 AM
ni hace falta saber el servidor del video, con solo el ID ya esta...lo pueden ver en mi programa que hice...
Título: Re: Descargar videos de youtube
Publicado por: Freeze. en 10 Agosto 2008, 02:16 AM
Como dije en esos post yo solo creia y saque deducciones a la ligera :P

Tienen razon.
Título: Re: Descargar videos de youtube
Publicado por: YdoWn en 3 Agosto 2021, 02:45 AM
Instala youtube-dl en el servidor, usa shell_exec para obtener los enlaces directos a googlevideo(cuando es youtube), con esos enlaces puedes ofrecerlos en descarga redirigiendo la descarga desde el servidor o abrir en una ventana del navegador pudiéndose descargar desde allí, esto último no funciona para una minoría de vídeos pero se pueden descargar redirigiendo la descarga...

ej...


### $gurl es el enlace youtube, twitter y youtube-dl compatible

##IMPORTANTE pasar FILTER_VALIDATE_URL para evitar inyección de código en shell_exec

$gurl = trim(filter_input(INPUT_POST,"gurl",FILTER_VALIDATE_URL));


$rd = shell_exec("youtube-dl --no-cache-dir -J $gurl");
$json = json_decode($rd);

function object_to_array($obj) {
       $_arr = is_object($obj) ? get_object_vars($obj) : $obj;
       foreach ($_arr as $key => $val) {
               $val = (is_array($val) || is_object($val)) ? object_to_array($val) : $val;
               $arr[$key] = $val;
       }
       return $arr;
}


$RES = object_to_array($json);

##IMprimimos el json a pantalla para ver como manejamos los datos...

print_r($RES);

##Siga Usted

------

obtienes los enlaces y otros datos (titulo,descripcion...) en formato json de youtube y otros sitios, estudiando el formato se pueden luego hacer cosas

redirigir descarga...

//donde $fichero es el enlace ya extraido anteriormente..


$fichero = $link;

$title = preg_replace("/[ \|\/\=·\"\']/si","_",urldecode($title));



if ($fp = @fopen(urldecode($link), 'r')) {


$meta = stream_get_meta_data($fp);


   //  print_r($meta);
     
     //return;
       
       
       foreach($meta["wrapper_data"] as $k => $value){
   
   if(preg_match("/^(Content\-Type\:) ?(audio|video)\/(.+)$/si",$value,$resdata)){
       
       $content_type=$resdata[1]." ".$resdata[2]."/".$resdata[3];
       $title  = $title.".".$resdata[3];
     
   }
   
   else if(preg_match("/^(Content-Length:) ?([0-9]+)$/si",$value,$resdata)){
       
       $length = $resdata[1]." ".$resdata[2];
       
   
     
   } else {
       continue;
   }
   
       }

if($content_type && $length){
   
  if($meta["uri"]){
   
      $url = $meta["uri"];
     
  }
   
   
}

   header('Content-Description: File Transfer');
   header($content_type);
   header('Content-Disposition: attachment; filename="'.$title.'"');
   header('Cache-Control: must-revalidate');
   header('Pragma: public');
   header($length);    
   fpassthru($fp);
} else {
   
    echo "<h1>ERROR</h1>";
    echo "Intenta acceder directamente desde <a href='".urldecode($link)."'>aquí</a>";
    echo "<br>".$url;
}



Código aunque a modo de ejemplo se usa en https://www.dontubes.com (https://www.dontubes.com)



Además youtube-dl, previa instalación, se puede usar desde cualquier aplicación invocándolo a la shell del sistema


ver captura en este hilo https://foro.elhacker.net/foro_libre/se_acabo_por_que_descargar_videos_de_youtube_es_ahora_mas_dificil-t507552.0.html;msg2246997;topicseen#msg2246997 (https://foro.elhacker.net/foro_libre/se_acabo_por_que_descargar_videos_de_youtube_es_ahora_mas_dificil-t507552.0.html;msg2246997;topicseen#msg2246997)

salu2