Bueno, estoy en un proyecto de crear un programa que descargue archivos de youtube y los convierta a .AVI, el primer problema con el que me encontre es como descargar videos de YouTube.
Teniendo el id del video (lo que aparece en la variable 'v') vamos a necesitar también una variable 't', y el título, esto se saca del archivo del video.
usese: archivo.php?url=http://www.youtube.com/watch?v=ID_DEL_VIDEO
El código es el siguiente:
El codigo puesto a prueba aca:
http://www.imgshare.com.ar/gettube.php?url=PONER_LINK_DE_YOUTUBE_ACA
Teniendo el id del video (lo que aparece en la variable 'v') vamos a necesitar también una variable 't', y el título, esto se saca del archivo del video.
usese: archivo.php?url=http://www.youtube.com/watch?v=ID_DEL_VIDEO
El código es el siguiente:
Cita:<?
// por las dudas, sin limite de tiempo ni mostramos errores
error_reporting(0); set_time_limit(0);
// si existe 'url' (debe ser la direccion del video de youtube incluyendo http)
if (!empty($url)) {
// parseamos la url
$url = parse_url($url);
// dividimos las variables del query
$vars = explode('&', $url['query']);
// buscamos en todas las variables la variable 'v' que es el id del video
foreach($vars as $var) {
list($name, $value) = explode('=', $var, 2);
if ($name == 'v') { $id = $value; }
}
// vemos la visualizacion del video para sacar el ticket, y el titulo
$lines = file('http://www.youtube.com/watch.php?v='.$id);
foreach ($lines as $line_num => $line) {
// esta en la linea 94...
if ($line_num == 94) { $params = str_replace('\';', '', str_replace(' var fullscreenUrl = \'/watch_fullscreen', '', $line));
}
}
// si conseguimos el id del video y los parametros mostramos la url para descargar...
if (!empty($id) && !empty($params)) { echo 'http://youtube.com/get_video.php'.$params; }
// sino, da error
else { echo 'No encontré el video'; }
}
// debes especificar valor para 'url'
else { echo 'Eh locura, no especificaste el video.'; }
?>
El codigo puesto a prueba aca:
http://www.imgshare.com.ar/gettube.php?url=PONER_LINK_DE_YOUTUBE_ACA