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
No pues no jala eh.
si jala de hecho yo ando trabajando para crear un script si tengo algo mas te lo comunico ;)
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.
así es es solo la satisfaccion de saber que lo hiciste tu, o simplemente para aprender :xD
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....
Ps yo lo ago manualmente ;)
http://foro.hackmexico.com/index.php?topic=20.0 (http://foro.hackmexico.com/index.php?topic=20.0)
Hola a todos,
Pues anduve probando con este codigo que me encontre
<?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?
no men te timaron.
lo que pasa es que esta mal tu codigo.
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
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 ...
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.
: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
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.
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
ni hace falta saber el servidor del video, con solo el ID ya esta...lo pueden ver en mi programa que hice...
Como dije en esos post yo solo creia y saque deducciones a la ligera :P
Tienen razon.
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