Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/12/2011, 10:58
Avatar de ahaugas
ahaugas
 
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 12 años, 8 meses
Puntos: 21
Respuesta: problema con script de vimeo

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($chCURLOPT_COOKIEJAR$cookieFile); //el archivo de cookies se llenará con las cookies recibido mientras se visualiza el página de xml 
        
curl_setopt($chCURLOPT_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($chCURLOPT_RETURNTRANSFERtrue);
        
$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.