ya lo resolví, estaba muy facil pero no cai en la configuracion del servidor de vimeo os dejo a todos el code espero que lo disfruten.
Por cierto se puede descargar en formato SD y HD y tambien hacer streaming con un reproductor propio como jwplayer o flowplayer o cualquier otro.
Solo funciona con curl sino vimeo temanda error 500.
No os olvideis de comentar ya que no lo hay por la red a no sea que lo compres y son mas complicados de integrar "No es obligatorio comentar".
Gracias a todos.
Este archivo vamos a llamarlo vimeo.php
Código PHP:
<?php
//######################################
// Vimeo Downloader \\
// Coded by Video Cacao \\
// Aleksander Haugas \\
// Visit: www.videocacao.es \\
//######################################
// Este es el ID de vídeo pasado por GET
if(empty($_GET['pelicula'])) {
echo "No se ha encontrado la ID!";
}else{
$video_id = $_GET['pelicula'];
}
// Aqui empieza la funcion para el streaming o la descarga
function get_web_page( $url )
{
$options = array(
CURLOPT_RETURNTRANSFER => true, // volver a la página web
CURLOPT_HEADER => true, // cabeceras de retorno
CURLOPT_FOLLOWLOCATION => true, // siguen las redirecciones
CURLOPT_ENCODING => "", // manejar todas las codificaciones
CURLOPT_USERAGENT => "Video_Cacao", // quien soy
CURLOPT_AUTOREFERER => true, // configurar referer al redirigir
CURLOPT_CONNECTTIMEOUT => 120, // tiempo de espera de conexión
CURLOPT_TIMEOUT => 30, // tiempo de espera de la respuesta
CURLOPT_MAXREDIRS => 10, // parar después de 10 redirecciones
);
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
//$header['errno'] = $err;
// $header['errmsg'] = $errmsg;
//$header['content'] = $content;
//print($header[0]);
return $header;
}
// Aqui tiene que ir con la url completa con http://www.ejemplo.com/
$thisurl = "http://www.ejemplo.com/decode.php?video="."$video_id";
$video_urlsource = get_web_page( $thisurl );
// Para mostrar el link usar: echo $video_urlsource["url"];
//Para el stream llamar el archivo con <?php echo $video_url; ?>
$video_url = $video_urlsource["url"];
?>
Ahora vamos a leer la configuracion de vimeo par que nos devuelvan los datos y lo llamaremos decode.php
Código PHP:
<?php
//######################################
// Vimeo Downloader \\
// Coded by Video Cacao \\
// Aleksander Haugas \\
// Visit: www.videocacao.es \\
//######################################
// Este es el ID de vídeo pasado por GET
if(empty($_GET['video'])) {
echo "No se ha encontrado la ID!";
}else{
$video_id = $_GET['video'];
}
// Leemos el archivo xml y extraemos los datos
$xml_url = "http://vimeo.com/moogaloop/load/clip:$video_id";
$ch = curl_init($xml_url);
$cookieFile = '/runtime/vimeocookie'. time().'.txt'; //Reemplace esta línea con el código para generar un camino de escritura en su aplicación
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile); //el archivo de cookies se llenará con las cookies recibido mientras se visualiza el página de xml
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); //tiene que enviar un agente de usuario aquí y que debe ser la misma por debajo de cuando usted visita la URL del video
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
// Procedemos a construir la url del video
$xml = simplexml_load_string($output);
$request_signature = $xml->request_signature;
$request_signature_expires = $xml->request_signature_expires;
$vid_url = "http://vimeo.com/moogaloop/play/clip:".$video_id."/".$request_signature."/".$request_signature_expires."/?q=sd".$video_id.".flv";
// La descarga se inicia automaticamente en el formato indicado cuando solo se acceda a este archivo individualmente
header("Location: $vid_url");
?>
Bueno espero que lo disfruten, no esta depurado si alguien se atreve a mejorarlo bienvenido sea y que no se corte, y la proxima pongo la de videobb.
A cuidarse y gracias por esta comunidad que me ha resuelto muchas dudas.