Beispiel #1
0
 function calcula()
 {
     $obtenido = array('enlaces' => array());
     if (strpos($this->web, 'http://player.vimeo.com/video/') === 0) {
         $ret = desde1a2($this->web_descargada, '{"', ';');
         $json_respuesta = json_decode($ret, true);
     } else {
         $ret = CargaWebCurl('http://player.vimeo.com/video/' . html_entity_decode(entre1y2($this->web_descargada, 'http://player.vimeo.com/video/', '"')));
         $json_respuesta = json_decode($ret, true);
     }
     dbug_r($json_respuesta);
     $opciones = $json_respuesta['request']['files']['h264'];
     dbug_r($opciones);
     if (count($opciones) == 3 && isset($opciones['mobile']) && isset($opciones['hd']) && isset($opciones['sd'])) {
         $obtenido['enlaces'][] = array('url' => $opciones['hd']['url'], 'url_txt' => "Calidad: Alta", 'tipo' => 'http');
         $obtenido['enlaces'][] = array('url' => $opciones['sd']['url'], 'url_txt' => "Calidad: Media", 'tipo' => 'http');
         $obtenido['enlaces'][] = array('url' => $opciones['mobile']['url'], 'url_txt' => "Calidad: Baja", 'tipo' => 'http');
     } else {
         foreach ($opciones as $index => $elem) {
             $obtenido['enlaces'][] = array('url' => $elem['url'], 'url_txt' => "Calidad: " . $index, 'tipo' => 'http');
         }
     }
     $titulo = $json_respuesta['video']['title'];
     $titulo = limpiaTitulo($titulo);
     $obtenido['titulo'] = $titulo;
     $obtenido['imagen'] = current($json_respuesta['video']['thumbs']);
     finalCadena($obtenido);
     return $obtenido;
 }
Beispiel #2
0
 function calcula()
 {
     //titulo
     $titulo = 'LiveLeak';
     dbug('titulo=' . $titulo);
     //imagen
     $imagen = entre1y2($this->web_descargada, 'image: "', '"');
     dbug('imagen=' . $imagen);
     if (enString($this->web_descargada, 'config: "')) {
         $config = entre1y2($this->web_descargada, 'config: "', '"');
         dbug_($config);
         $config = explode('&', $config);
         dbug_r($config);
         $url = '';
         foreach ($config as $elem) {
             if (strpos($elem, 'hd_file_url') === 0) {
                 $url = urldecode(substr($elem, strposF($elem, '=')));
                 break;
             }
             if (strpos($elem, 'file_url') === 0) {
                 $url = urldecode(substr($elem, strposF($elem, '=')));
             }
         }
     } else {
         preg_match('#file: "(http.*?\\.mp4.*?)"#', $this->web_descargada, $matches);
         dbug_r($matches);
         $url = $matches[1];
     }
     dbug_r($url);
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url_txt' => 'Descargar', 'url' => $url, 'tipo' => 'http')));
     finalCadena($obtenido);
 }
Beispiel #3
0
function tvg()
{
    global $web, $web_descargada;
    $retfull = $web_descargada;
    //$retfull=CargaWebCurl($web);
    //debe haber un video
    if (enString($retfull, "flowplayer(")) {
        //netConnectionUrl: "rtmp://media1.crtvg.es:80/vod" //Para VOD
        $p = strpos($retfull, 'netConnectionUrl: "') + 19;
        $f = strpos($retfull, '"', $p);
        $ret = substr($retfull, $p, $f - $p);
        dbug($ret);
        //clip: {
        //url: "mp4:02/0000/0000_20121206000000.mp4",
        $clip = strpos($retfull, 'clip: {');
        $p = strpos($retfull, 'url: "', $clip) + 6;
        $f = strpos($retfull, '"', $p);
        $ret = $ret . '/' . substr($retfull, $p, $f - $p);
        dbug($ret);
        //title: "Tourilandia recibe a visita de David Vidal",
        $p = strpos($retfull, 'title: "', $clip) + 8;
        $f = strpos($retfull, '"', $p);
        $titulo = substr($retfull, $p, $f - $p);
        $titulo = limpiaTitulo($titulo);
        dbug('titulo=' . $titulo);
        //imagen
        //backgroundImage: "url(http://www.crtvg.es/files/web/000020121206000000.jpg)"
        $p = strpos($retfull, 'backgroundImage: "url(') + 22;
        $f = strpos($retfull, ')', $p);
        $imagen = substr($retfull, $p, $f - $p);
        dbug('imagen=' . $imagen);
    }
    $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $ret, 'tipo' => 'rtmp')));
    finalCadena($obtenido);
}
Beispiel #4
0
 function calcula()
 {
     $titulo = entre1y2($this->web_descargada, '<title', '<');
     $titulo = substr($titulo, strposF($titulo, '>'));
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array());
     $datos = desde1a2($this->web_descargada, '[["params","', '.forEach');
     dbug_($datos);
     $datos = json_decode($datos, true);
     dbug_r($datos);
     foreach ($datos as $dato) {
         if ($dato[0] === 'params') {
             $datos = urldecode($dato[1]);
             $datos = json_decode($datos, true);
             break;
         }
     }
     dbug_r($datos);
     if (isset($datos['video_data'][0]['hd_src_no_ratelimit'])) {
         $hd = $datos['video_data'][0]['hd_src_no_ratelimit'];
     } elseif (isset($datos['video_data'][0]['hd_src'])) {
         $hd = $datos['video_data'][0]['hd_src'];
     }
     if (isset($hd)) {
         $obtenido['enlaces'][] = array('url_txt' => 'Calidad HD', 'url' => $hd, 'tipo' => 'http');
     }
     if (isset($datos['video_data'][0]['sd_src_no_ratelimit'])) {
         $sd = $datos['video_data'][0]['sd_src_no_ratelimit'];
     } elseif (isset($datos['video_data'][0]['sd_src'])) {
         $sd = $datos['video_data'][0]['sd_src'];
     }
     if (isset($hd)) {
         $obtenido['enlaces'][] = array('url_txt' => 'Calidad SD', 'url' => $sd, 'tipo' => 'http');
     }
     finalCadena($obtenido);
 }
Beispiel #5
0
 function calcula()
 {
     preg_match('@(?:sources: |video_files = )(\\[[\\s\\S]*?\\])@', $this->web_descargada, $matches);
     dbug_r($matches);
     $json = $matches[1];
     //dbug($json);
     $json = strtr($json, array("\r" => "", "\n" => "", " " => "", "'" => '"'));
     $json = strtr($json, array(",}" => "}", ",]" => "]"));
     //dbug($json);
     $json = preg_replace("@(\\,|{)([a-z]+?):@i", '$1"$2":', $json);
     dbug($json);
     $json = json_decode($json, true);
     dbug_r($json);
     if ($json === null) {
         $files = preg_match('@http://.+?\\.mp4@', $this->web_descargada, $matches);
         $obtenido['enlaces'][] = array('url_txt' => 'Descargar', 'url' => $matches[0], 'tipo' => 'http');
     } else {
         foreach ($json as $elem) {
             $obtenido['enlaces'][] = array('url_txt' => $elem['label'], 'url' => $elem['file'], 'tipo' => 'http');
         }
     }
     $imagen = entre1y2($this->web_descargada, '<meta property="og:image" content="', '"');
     dbug('imagen = ' . $imagen);
     $titulo = entre1y2($this->web_descargada, '<meta property="og:title" content="', '"');
     dbug('titulo = ' . $titulo);
     $obtenido['titulo'] = $titulo;
     $obtenido['imagen'] = $imagen;
     finalCadena($obtenido);
 }
 function calcula()
 {
     if (!preg_match('#<form name="F1" method="POST" action=\'\'>#i', $this->web_descargada)) {
         setErrorWebIntera('No se encuentra ningún vídeo');
         return;
     }
     $id = substr($this->web, strposF($this->web, 'allmyvideos.net/'));
     dbug('id = ' . $id);
     $web_embedPlayedTo = 'http://allmyvideos.net/' . $id;
     $retfull = CargaWebCurl($web_embedPlayedTo, '', array('referer' => 'http://web.com'));
     if (enString($retfull, '"image" : "')) {
         $mode = 'lanzaAllMyVideosNet2';
         $imagen = entre1y2($retfull, '"image" : "', '"');
     } else {
         $imagen = '';
         $web_embedPlayedTo = 'http://allmyvideos.net/' . $id;
         $mode = 'lanzaAllMyVideosNet1';
     }
     if (enString($this->web_descargada, 'filename=')) {
         $titulo = entre1y2($this->web_descargada, 'filename=', '"');
         if (enString($titulo, '&')) {
             $titulo = substr($titulo, 0, strpos($titulo, '&'));
         }
         $titulo = urldecode($titulo);
     } else {
         $titulo = 'AllMyVideos ID: ' . $id;
     }
     // FALLA EN EL CALLBACK DEL SWF. EDITAR EL SWF
     $urlJS = 'function lanzaAllMyVideosNet(){' . 'if(typeof DESCARGADOR_ARCHIVOS_SWF === "undefined"){' . 'setTimeout(lanzaAllMyVideosNet, 200)' . '}' . 'else if(DESCARGADOR_ARCHIVOS_SWF === true){' . 'getFlashMovie("descargador_archivos").CargaWeb({' . '"url":"' . $web_embedPlayedTo . '",' . '"metodo":"GET"' . '}, "' . $mode . '");' . '}' . '}' . 'function lanzaAllMyVideosNet1(txt){' . 'var regex = /<input.*?name="(.*?)".*?value="(.*?)".*?>/ig;' . 'var post = "";' . 'var res = [];' . 'while((res = regex.exec(txt)) != null){' . 'if(res[1] === "referer")res[2] = "";' . 'post += res[1] + "=" + res[2] +"&";' . '}' . 'getFlashMovie("descargador_archivos").CargaWeb({' . '"url":"' . $web_embedPlayedTo . '",' . '"metodo":"POST",' . '"post":post' . '}, "lanzaAllMyVideosNet2");' . '}' . 'function lanzaAllMyVideosNet2(txt){' . 'if(txt.indexOf(".setup(") !== -1){' . 'txt = txt.substr(txt.indexOf(".setup("));' . '}' . 'var urls = txt.split("\\"sources\\" : ")[1].split("]")[0]+"]";' . 'var urls = JSON.parse(urls);' . 'urls.sort(function(a,b){return parseInt(a["label"])<parseInt(b["label"])});' . 'url = urls[0]["file"];' . 'mostrarResultado(url);' . '}' . 'function mostrarResultado(entrada){' . 'finalizar(entrada,"Descargar");' . '}' . 'function mostrarFallo(){' . 'finalizar("","Ha ocurrido un error");' . '}' . 'if(typeof descargador_archivos === "undefined"){' . 'D.g("enlaces").innerHTML += \'' . genera_swf_object('/util/fla/f/allmyvideos.net') . '\';' . 'var descargador_archivos = D.g("descargador_archivos");' . '}' . 'lanzaAllMyVideosNet();';
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $urlJS, 'tipo' => 'jsFlash')));
     finalCadena($obtenido);
 }
Beispiel #7
0
 function calcula()
 {
     $enlace = array();
     //&file=media/53/Video/10/1/10107_BAJA.mp4&
     //file
     $file = entre1y2($this->web_descargada, 'file=', '&');
     //image=http://mediateca.regmurcia.com/MediatecaCRM/ServletLink?METHOD=MEDIATECA%26accion=imagen%26id=10107
     $p = strrposF($file, '/');
     $f = strpos($file, '_', $p);
     $imagen = 'http://mediateca.regmurcia.com/MediatecaCRM/ServletLink?METHOD=MEDIATECA&accion=imagen&id=' . substr($file, $p, $f - $p);
     //&title=Metros cuadrados&
     $titulo = utf8_encode(entre1y2($this->web_descargada, '&title=', '&'));
     $titulo = limpiaTitulo($titulo);
     //&description=Programa nº 62.
     $descripcion = utf8_encode(entre1y2($this->web_descargada, '&description=', "'"));
     $descripcion = limpiaTitulo($descripcion, 300);
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'descripcion' => $descripcion, 'enlaces' => array());
     //server
     $server = entre1y2($this->web_descargada, 'streamer=', '&');
     $tipo = "http";
     if (enString($server, 'rtmp')) {
         $server = substr($server, 0, strrpos($server, '/'));
         $file = 'mp4:' . $file;
         $obtenido['enlaces'][] = array('url' => '-', 'rtmpdump' => '-r "' . $server . '" -y "' . $file . '"', 'nombre_archivo' => generaNombreWindowsValido($titulo . '.mp4'), 'tipo' => 'rtmpConcreto');
     } elseif (enString($server, 'http')) {
         $obtenido['enlaces'][] = array('url' => $server . '/' . $file, 'tipo' => 'http');
     }
     finalCadena($obtenido, true);
 }
 function calcula()
 {
     //$url = "http://www.crunchyroll.com/xml/?req=RpcApiVideoPlayer_GetStandardConfig&media_id={$id}&video_format={$format}&video_quality={$quality}&auto_play=1&aff=crunchyroll-website&show_pop_out_controls=1&pop_out_disable_message=Only+All-Access+Members+and+Anime+Members+can+pop+out+this+video.+Get+your+membership+today%21";
     if (POST_BM) {
         $ret = $this->web_descargada;
     } else {
         if (!enString($this->web_descargada, '"config_url":"')) {
             define('IGNORA_AVISO_RAPIDO', true);
             setErrorWebIntera(USE_BOOKMARKLET_2);
             return;
         }
         $url = entre1y2($this->web_descargada, '"config_url":"', '"');
         $url = urldecode($url);
         /*
         $url = "http://www.crunchyroll.com/xml/?req=RpcApiVideoPlayer_GetStandardConfig&media_id=649575&video_format=106&video_quality=60&auto_play=1&aff=crunchyroll-website&show_pop_out_controls=1&pop_out_disable_message=Only+All-Access+Members+and+Anime+Members+can+pop+out+this+video.+Get+your+membership+today%21";
         $post = "current%5Fpage=http%3A%2F%2Fwww%2Ecrunchyroll%2Ecom%2Fkill%2Dla%2Dkill%2Fepisode%2D24%2Dpast%2Dthe%2Dinfinite%2Ddarkness%2D649575%3Fp480%3D1";
         $ret = CargaWebCurl($url, $post, 0, '', array('Content-type: application/x-www-form-urlencoded'));
         dbug_($ret);
         */
         $post = "current%5Fpage=" . urlencode($this->web);
         $ret = CargaWebCurl($url, $post, 0, '', array('Content-type: application/x-www-form-urlencoded'));
     }
     dbug_($ret);
     $titulo = entre1y2($ret, '<series_title>', '</') . ' - ' . entre1y2($ret, '<episode_title>', '</');
     $obtenido = array('titulo' => $titulo, 'imagen' => entre1y2($ret, '<episode_image_url>', '</'), 'enlaces' => array(array('url' => '-', 'rtmpdump' => '-r "' . entre1y2($ret, '<host>', '</') . '" ' . '-y "' . entre1y2($ret, '<file>', '</') . '"', 'nombre_archivo' => generaNombreWindowsValido($titulo) . '.mp4', 'tipo' => 'rtmpConcreto', 'extension' => 'mp4')));
     finalCadena($obtenido);
 }
Beispiel #9
0
 function calcula()
 {
     if (enString($this->web, '&')) {
         $idVideo = entre1y2($this->web, 'v=', '&');
     } else {
         $idVideo = substr($this->web, strposF($this->web, 'v='));
     }
     dbug('idVideo=' . $idVideo);
     //Código
     $titulo = trim(entre1y2($this->web_descargada, '<title>', '</title>'));
     dbug('titulo=' . $titulo);
     $imagen = '';
     /*
     // En caso de que No hubiera bloqueo de IP
     $retfull = CargaWebCurl('http://www.magnovideo.com/player_config.php?mdid='.$idVideo);
     
     
     
     $imagen = entre1y2($retfull,'<tile_thumbs>','</tile_thumbs>');
     dbug('imagen='.$imagen);
     
     
     $video_name = entre1y2($retfull,'<video_name>','</video_name>');
     $sto = entre1y2($retfull,'<sto>','</sto>');
     
     
     $url = substr($imagen, 0, -18).$video_name.'?'.$sto;
     */
     $urlJS = 'function lanzaMagnovideo(){' . 'if(typeof DESCARGADOR_ARCHIVOS_SWF === "undefined"){' . 'setTimeout(lanzaMagnovideo, 200)' . '}' . 'else if(DESCARGADOR_ARCHIVOS_SWF === true){' . 'getFlashMovie("descargador_archivos").CargaWeb({"url":"http://www.magnovideo.com/player_config.php?mdid=' . $idVideo . '"}, "procesaMagnovideo");' . '}' . '}' . 'function procesaMagnovideo(txt){' . 'var imagen = txt.split("<tile_thumbs>")[1].split("</tile_thumbs>")[0];' . 'var video_name = txt.split("<video_name>")[1].split("</video_name>")[0];' . 'var sto = txt.split("<sto>")[1].split("</sto>")[0];' . 'var url = imagen.split("tmpsmall/tiles.jpg")[0] +video_name + "?" + sto;' . 'mostrarResultado(url);' . '}' . 'function mostrarResultado(entrada){' . 'finalizar(entrada,"Descargar");' . '}' . 'function mostrarFallo(){' . 'finalizar("","No se ha encontrado ningún resultado");' . '}' . 'if(typeof descargador_archivos === "undefined"){' . 'D.g("enlaces").innerHTML += \'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="0" height="0" id="descargador_archivos" align="middle">' . '<param name="movie" value="/util/fla/f/ajofeifo.swf" />' . '<param name="quality" value="high" />' . '<param name="bgcolor" value="#000" />' . '<param name="allowScriptAccess" value="sameDomain" />' . '<!--[if !IE]>-->' . '<embed src="/util/fla/f/ajofeifo.swf" quality="high" bgcolor="#000"' . 'width="0" height="0" name="descargador_archivos" align="middle"' . 'play="true" loop="true" quality="high" allowScriptAccess="sameDomain"' . 'type="application/x-shockwave-flash"' . 'pluginspage="http://www.macromedia.com/go/getflashplayer">' . '</embed>' . '<!--<![endif]-->' . '</object>\';' . 'var descargador_archivos = D.g("descargador_archivos");' . '}' . 'lanzaMagnovideo();';
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $urlJS, 'tipo' => 'jsFlash')));
     finalCadena($obtenido);
 }
Beispiel #10
0
 function calcula()
 {
     $titulo = entre1y2($this->web_descargada, '<title>', '<');
     dbug('titulo = ' . $titulo);
     if (preg_match('@http://media.*?\\.mp4@', $this->web_descargada, $matches)) {
         $imagen = entre1y2_a($this->web_descargada, strposF($this->web_descargada, '"og:image"'), '"', '"');
         dbug('imagen = ' . $imagen);
         $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $matches[0], 'tipo' => 'http')));
     } else {
         preg_match('@#player-container \\.player-display.*?url.*?\'(.*?)\'@', $this->web_descargada, $matches);
         dbug_r($matches);
         $urlPreM3U8 = 'http://www.netd.com' . $matches[1];
         $ret = CargaWebCurl($urlPreM3U8);
         dbug_($ret);
         preg_match('@defaultServiceUrl.*?\'(.*?)\'.*?path.*?\'(.*?)\'@', $ret, $matches);
         dbug_r($matches);
         $url = $matches[1] . '/' . $matches[2];
         dbug('URL = ' . $url);
         preg_match('@preview.*?\'(.*?)\'@', $ret, $matches);
         $imagen = 'http:' . $matches[1];
         dbug('imagen = ' . $imagen);
         $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $url, 'tipo' => 'm3u8')));
     }
     finalCadena($obtenido);
 }
 function calcula()
 {
     //mirar si hay video
     $obtenido = array('titulo' => 'Canal de Historia', 'enlaces' => array());
     if (!enString($this->web_descargada, '<iframe')) {
         return;
     }
     preg_match_all('@<iframe src="(.*?)"@', $this->web_descargada, $matches);
     dbug_r($matches);
     foreach ($matches[1] as $url) {
         dbug($url);
         if (strpos($url, '//player.vimeo') === 0) {
             $url = 'http:' . $url;
             $vimeo = new Vimeo();
             $url_descargada = CargaWebCurl($url);
             $vimeo->init($url, $url_descargada);
             $ret = $vimeo->calcula();
             dbug_r($ret);
         } else {
             $adnstream = new Adnstream();
             $url_descargada = CargaWebCurl($url);
             $adnstream->init($url, $url_descargada);
             $ret = $adnstream->calcula();
             dbug_r($ret);
         }
         $obtenido['enlaces'][] = array('titulo' => $ret['titulo']);
         foreach ($ret['enlaces'] as $enlace) {
             $obtenido['enlaces'][] = $enlace;
         }
         if (!isset($obtenido['imagen'])) {
             $obtenido['imagen'] = $ret['imagen'];
         }
     }
     finalCadena($obtenido);
 }
 function calcula()
 {
     $obtenido = array('enlaces' => array());
     //raido o tv
     if (enString($this->web_descargada, "#radio")) {
         $p = strpos($this->web_descargada, 'http://podcastdl.');
         $f = strpos($this->web_descargada, '"', $p);
         $ret = substr($this->web_descargada, $p, $f - $p);
         dbug('url=' . $ret);
         array_push($obtenido['enlaces'], array('url' => $ret, 'tipo' => 'http'));
         $imagen = entre1y2($this->web_descargada, '<div class="imagen"><img src="', '"');
         dbug('imagen=' . $imagen);
     }
     if (enString($this->web_descargada, "#tv")) {
         $rtmp = 'rtmp://' . entre1y2($this->web_descargada, 'rtmp://', '"');
         if (enString($rtmp, "#")) {
             $f = strpos($rtmp, '#');
             if (enString($rtmp, "#tv")) {
                 $f = strpos($rtmp, '#', $f + 1);
             }
             $rtmp = substr($rtmp, 0, $f);
         }
         $rtmp = strtr($rtmp, array("#" => ""));
         dbug('rtmp=' . $rtmp);
         //if(isiPad)
         $http = entre1y2($this->web_descargada, 'if(isiPad)', '</script>');
         //poster="/sites/default/files/extremaduranoticas_nuevo2.jpg"
         $imagen = "http://www.canalextremadura.es" . entre1y2($http, 'poster="', '"');
         dbug('imagen=' . $imagen);
         $http = entre1y2($http, 'src="', '"');
         array_push($obtenido['enlaces'], array('titulo' => 'Calidad Baja', 'url' => $http, 'tipo' => 'http'));
         array_push($obtenido['enlaces'], array('titulo' => 'Calidad Alta', 'url' => $rtmp, 'tipo' => 'rtmp'));
     }
     if (enString($this->web_descargada, ".mp4#")) {
         $rtmp = 'rtmp://' . entre1y2($this->web_descargada, 'rtmp://', '.mp4') . '.mp4';
         dbug('rtmp=' . $rtmp);
         //if(isiPad)
         $http = entre1y2($this->web_descargada, 'data-iosUrl="', '"');
         //poster="/sites/default/files/extremaduranoticas_nuevo2.jpg"
         $imagen = "http://www.canalextremadura.es/" . entre1y2($http, '#/', "#");
         dbug('imagen=' . $imagen);
         //if(isiPad)
         $http = "http://" . entre1y2($http, 'http://', '#');
         array_push($obtenido['enlaces'], array('titulo' => 'Calidad Baja', 'url' => $http, 'url_txt' => 'Descargar', 'tipo' => 'http'));
         array_push($obtenido['enlaces'], array('titulo' => 'Calidad Alta', 'url' => $rtmp, 'tipo' => 'rtmp'));
     }
     //<h1 class="title">Extremadura 2 (17/05/12)</h1>
     if (enString($this->web_descargada, '<h1 class="title">')) {
         $titulo = entre1y2($this->web_descargada, '<h1 class="title">', '</h1>');
     } else {
         $p = strpos($this->web_descargada, '.mp4');
         $p = strpos($this->web_descargada, '<a', $p);
         $titulo = entre1y2_a($this->web_descargada, $p, '>', '</');
     }
     $titulo = limpiaTitulo($titulo);
     dbug('titulo=' . $titulo);
     $obtenido['titulo'] = $titulo;
     $obtenido['imagen'] = $imagen;
     finalCadena($obtenido);
 }
Beispiel #13
0
 function calcula()
 {
     $url = entre1y2($this->web_descargada, 'articuloVideo = "', '"');
     //image=http://mediateca.regmurcia.com/MediatecaCRM/ServletLink?METHOD=MEDIATECA%26accion=imagen%26id=10107
     $imagen = entre1y2($this->web_descargada, 'articuloImagen = "', '"');
     //&title=Metros cuadrados&
     $titulo = entre1y2($this->web_descargada, 'articuloTitulo = "', '"');
     $titulo = limpiaTitulo($titulo);
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $url, 'tipo' => 'http', 'url_txt' => 'Descargar')));
     finalCadena($obtenido, true);
 }
Beispiel #14
0
 function calcula()
 {
     //http://www.cope.es/player/id=2013072310430001&activo=6
     if (enString($this->web_descargada, "_url_xml_datos:")) {
         dbug("audio o video por xml");
         //_url_xml_datos:'/proyecto/fragmentosJSP/playerxml.jsp?id=2013072310430001,1,33,13,,1411',
         //http://www.cope.es/proyecto/fragmentosJSP/playerxml.jsp?id=2013072310430001,1,33,13,,1411
         $url = "http://www.cope.es" . entre1y2($this->web_descargada, "_url_xml_datos:'", "'");
         //http://www.cope.es/proyecto/fragmentosJSP/playerxml.jsp?id=2013072310430001,1,33,13,,1411
         $ret = CargaWebCurl($url);
         //mp3 y mp4: mp4->id=2013051613420001,1,30,,,1411
         $p = strposF($ret, 'type="content"');
         //$f=strposF($this->web_descargada,"'",$p);
         //http://www.cope.es/proyecto/fragmentosJSP/playerxml.jsp?id=2013072310430001,1,33,13,,1411
         $url = entre1y2_a($ret, $p, "<url>", "</url>");
         //http://vod.cope.es/audio/2013/07/23/audio_13745695177069462491.mp3
         //imagen
         $imagen = "http://www.cope.es/" . entre1y2($ret, "<img>", "</img>");
     } elseif (enString($this->web_descargada, "addCustomPlayer(")) {
         //addCustomPlayer('1iynycahpn4lw1ppzh0l6r5z1a', '15wugu5n3ruow1j9kwr3ma3tqz', '177dxsxbyqz8h18z4sldn5awz2', 686, 466, 'perf1iynycahpn4lw1ppzh0l6r5z1a-177dxsxbyqz8h18z4sldn5awz2', 'eplayer17', {age:1354724063000});
         //xml.eplayer.performgroup.com/eplayer/mrss/1iynycahpn4lw1ppzh0l6r5z1a/15wugu5n3ruow1j9kwr3ma3tqz//7-12
         //xml.eplayer.performgroup.com/eplayer/mrss/1iynycahpn4lw1ppzh0l6r5z1a/15wugu5n3ruow1j9kwr3ma3tqz
         preg_match("@addCustomPlayer\\('(.*?)',.*?'(.*?)'@", $this->web_descargada, $matches);
         $aCargar = 'http://xml.eplayer.performgroup.com/eplayer/mrss/' . $matches[1] . '/' . $matches[2];
         $xml = CargaWebCurl($aCargar);
         //dbug($xml);
         preg_match_all("@<item>[\\s\\S]*?</item>@", $xml, $matches);
         dbug_r($matches);
         foreach ($matches[0] as $item) {
             $urlTXT = entre1y2($item, '<title>', '</title>');
             $p = strrpos($item, 'url=');
             $url = entre1y2_a($item, $p, '"', '"');
             $obtenido['enlaces'][] = array('titulo' => $urlTXT, 'url' => $url, 'tipo' => 'rtmp');
         }
         $obtenido['titulo'] = 'Vídeos';
         $obtenido['imagen'] = 'http://www.' . DOMINIO . '/canales/cope.png';
         finalCadena($obtenido);
         return;
     } elseif (enString($this->web_descargada, '/proyecto/fragmentosJSP/playerxml.jsp')) {
         $ret = CargaWebCurl('http://www.cope.es' . desde1a2($this->web_descargada, '/proyecto/fragmentosJSP/playerxml.jsp', '"'));
         dbug_($ret);
         $url = entre1y2($ret, '<urlHtml>', '</');
         $obtenido = array('titulo' => 'Cope', 'imagen' => 'http://www.' . DOMINIO . '/canales/cope.png', 'enlaces' => array(array('url' => $url, 'url_txt' => 'Descargar', 'tipo' => 'http')));
         finalCadena($obtenido);
         return;
     } else {
         setErrorWebIntera('No se ha encontrado nada.');
         return;
     }
     //titulo
     $titulo = entre1y2($this->web_descargada, "<title>", "|");
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $url, 'tipo' => 'http')));
     finalCadena($obtenido);
 }
Beispiel #15
0
 function calcula()
 {
     preg_match('#file:.*"(http.*?.mp4)"#', $this->web_descargada, $matches);
     dbug_r($matches);
     $url = $matches[1];
     $titulo = entre1y2($this->web_descargada, '<h6>', '</h6');
     $titulo = strip_tags($titulo);
     $titulo = limpiaTitulo($titulo);
     $imagen = entre1y2($this->web_descargada, '"og:image" content="', '"');
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $url, 'url_txt' => 'Descargar', 'tipo' => 'http')));
     finalCadena($obtenido);
 }
Beispiel #16
0
 function calcula()
 {
     /*
     "clip":{"url":"mp4:/_archivos/videos/web/4334/4334.mp4"}
     "netConnectionUrl":"rtmp://alacarta.aragontelevision.es/vod"
     "playlist":[{"url":"mp4:/_archivos/videos/web/4334/4334.mp4"}]
     
     http://alacarta.aragontelevision.es/_archivos/videos/web/4334/4334.mp4
     */
     $imagen = 'http://www.' . DOMINIO . '/canales/aragontv.png';
     $obtenido = array('enlaces' => array());
     //un solo video
     if (enString($this->web_descargada, 'flowplayer(')) {
         dbug('simple');
         $titulo = entre1y2($this->web_descargada, '<div class="apartado"><h2>', '</h2>');
         $titulo = limpiaTitulo($titulo);
         if (stringContains($titulo, array('</', 'Server:'))) {
             dbug('titulo fallido, usando <title>');
             $titulo = entre1y2($this->web_descargada, '<title>', '</');
             $titulo = limpiaTitulo($titulo);
         }
         dbug('titulo=' . $titulo);
         $obtenido['enlaces'][] = $this->SacarVideo($this->web_descargada, $titulo);
     } elseif (enString($this->web_descargada, 'list-not-even')) {
         dbug('multi');
         $p = strpos($this->web_descargada, '<div class="apartado">');
         $titulo = entre1y2_a($this->web_descargada, $p, '<h2>', '</h2>');
         //en la pagina principal y otras el titulo estará mal, por lo que poner uno genérico
         if (enString($titulo, '<')) {
             $titulo = 'Aragon TV';
         }
         $titulo = limpiaTitulo($titulo);
         dbug('titulo=' . $titulo);
         $videos = substr_count($this->web_descargada, '<span>Ver video</span>');
         dbug('total videos=' . $videos);
         $last = 0;
         for ($i = 0; $i < $videos; $i++) {
             $last = strposF($this->web_descargada, '<div id="idv', $last);
             $url = 'http://alacarta.aragontelevision.es/ajax/ajax.php?id=' . entre1y2_a($this->web_descargada, $last, '_', '"');
             //encontrar ya el titulo del vídeo
             $f = strpos($this->web_descargada, 'fecha', $last);
             $parte = substr($this->web_descargada, $last, $f - $last);
             $p = strrpos($parte, '<a');
             $nombre = entre1y2_a($parte, $p, 'title="', '"');
             $extracto = CargaWebCurl($url);
             $obtenido['enlaces'][] = $this->SacarVideoPorId($extracto, $nombre);
         }
     }
     $obtenido['titulo'] = $titulo;
     $obtenido['imagen'] = $imagen;
     finalCadena($obtenido, false);
 }
Beispiel #17
0
 function calcula()
 {
     //titulo
     $titulo = utf8_encode(entre1y2($this->web_descargada, '<title>', '<'));
     //utf-8... mirar esto
     $titulo = limpiaTitulo($titulo);
     dbug('titulo=' . $titulo);
     $p = strpos($this->web_descargada, 'og:image');
     $imagen = entre1y2_a($this->web_descargada, $p, 'content="', '"');
     dbug('imagen=' . $imagen);
     if (enString($this->web_descargada, 'og:video')) {
         $p = strpos($this->web_descargada, 'og:video');
         $url = entre1y2_a($this->web_descargada, $p, 'content="', '"');
         dbug('video=' . $url);
         $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $url, 'tipo' => 'http')));
     } elseif (enString($this->web_descargada, '<object class="BrightcoveExperience"')) {
         $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array());
         require_once 'brightcove-funciones.php';
         /*
         $ejemplo = 'AAMAAAABAEZjb20uYnJpZ2h0Y292ZS5leHBlcmllbmNlLkV4cGVyaWVuY2VSdW50aW1lRmFjYWRlLmdldERhdGFGb3JFeHBlcmllbmNlAAIvMQAAAe4KAAAAAgIAKGQ4Y2ZhOGIwZWQwYWVlM2YyMmRmZWRlMGYyZTU4NzRjYjViNGFmNjcRCmNjY29tLmJyaWdodGNvdmUuZXhwZXJpZW5jZS5WaWV3ZXJFeHBlcmllbmNlUmVxdWVzdCFjb250ZW50T3ZlcnJpZGVzGWV4cGVyaWVuY2VJZAdVUkwTcGxheWVyS2V5GWRlbGl2ZXJ5VHlwZRFUVExUb2tlbgkDAQqBA1Njb20uYnJpZ2h0Y292ZS5leHBlcmllbmNlLkNvbnRlbnRPdmVycmlkZRtjb250ZW50UmVmSWRzDXRhcmdldBVjb250ZW50SWRzF2NvbnRlbnRUeXBlE2NvbnRlbnRJZBtmZWF0dXJlZFJlZklkGWNvbnRlbnRSZWZJZBVmZWF0dXJlZElkAQYXdmlkZW9QbGF5ZXIBBAAFQoobzh2jSAABAQV/////4AAAAAVCg917rY7IAAaBF2h0dHA6Ly93d3cudnRlbGV2aXNpb24uZXMvcHJvZ3JhbWFzL3ZheWF2LzIwMTQvMDUvMjcvMDAzMV8zNTg4MzQwNTYxMDAxLmh0bQZlQVF+fixBQUFDZXpINWhNa34sa29OVmZFd3lwcTZXeGYyS01zN3EtM2V1R0wyOU1Pck0Ff////+AAAAAGAQ==';
         $ejemplo = base64_decode($ejemplo);
         print_r(brightcove_decode($ejemplo));
         */
         preg_match('/<param value="(.*?)" name="playerID"/', $this->web_descargada, $matches);
         $experienceID = $matches[1];
         preg_match('/<param value="(.*?)" name="playerKey"/', $this->web_descargada, $matches);
         $playerKey = $matches[1];
         preg_match('/<param value="(.*?)" name="@videoPlayer"/', $this->web_descargada, $matches);
         $contentId = $matches[1];
         $messagebroker = "http://c.brightcove.com/services/messagebroker/amf?playerKey=" . $playerKey;
         $a_encodear = array('target' => 'com.brightcove.experience.ExperienceRuntimeFacade.getDataForExperience', 'response' => '/1', 'data' => array('0' => 'd8cfa8b0ed0aee3f22dfede0f2e5874cb5b4af67', '1' => new SabreAMF_AMF3_Wrapper(new SabreAMF_TypedObject('com.brightcove.experience.ViewerExperienceRequest', array('TTLToken' => null, 'deliveryType' => NAN, 'URL' => $this->web, 'experienceId' => $experienceID, 'playerKey' => $playerKey, 'contentOverrides' => array('0' => new SabreAMF_TypedObject('com.brightcove.experience.ContentOverride', array('contentRefIds' => null, 'target' => 'videoPlayer', 'contentIds' => null, 'contentType' => 0, 'contentId' => $contentId, 'featuredRefId' => null, 'contentRefId' => null, 'featuredId' => NAN))))))));
         $post = brightcove_encode($a_encodear);
         //print_r(brightcove_decode($post));
         dbug('a descargar: ' . $messagebroker);
         $t = brightcove_curl_web($messagebroker, $post);
         $res_decoded = brightcove_decode($t);
         dbug('RESPUESTA BRIGHTCOVE:');
         dbug_r($res_decoded);
         /*
         view-source:http://c.brightcove.com/services/mobile/streaming/index/rendition.m3u8?assetId=3588406440001
         http://progresive.lavozdegalicia.es/BCOVE/VTV/pd/2728142669001/201405/3588406440001/2728142669001_3588406440001_s-1.ts?
         http://videohdvtv-vh.akamaihd.net/BCOVE/VTV/hd/2728142669001/201405/2728142669001_3588398678001_PRG-VAYAVT4-0032.mp4
         http://progresive.lavozdegalicia.es/BCOVE/VTV/hd/2728142669001/201405/2728142669001_3588398678001_PRG-VAYAVT4-0032.mp4
         */
         $base = $res_decoded['data']->getAMFData();
         $base = $base['programmedContent']['videoPlayer']->getAMFData();
         $base = $base['mediaDTO']->getAMFData();
         $obtenido['enlaces'] = brightcove_genera_obtenido($this, $base, array('IOSRenditions' => 'm3u8', 'renditions' => 'http'));
     }
     finalCadena($obtenido);
 }
Beispiel #18
0
 function calcula()
 {
     $obtenido = array('enlaces' => array());
     preg_match("@([0-9]+?)(?:\\.html|-)@", $this->web, $matches);
     dbug_r($matches);
     if (!isset($matches[1]) || !is_numeric($matches[1])) {
         // http://granadacf.ideal.es/noticias/201410/20/entrenamiento-mucho-contenido-fisico-20141020130408.html
         // http://granadacf.ideal.es/modgen/?idModulo=rediseno2014/PPLL_playerVideoShowVideo&modoExtendido=player&idDivVideo=video_3849210620001_3092136624146_1_1413829041980&classVideo=story&widthVideo=490&heightVideo=490&idVideo=3849210620001&linkURLVideo=http%3A//www.ideal.es/videos/granadacf/201410/20/entrenamiento-mucho-contenido-fisico-3849210620001-mm.html&stillURLVideo=http%3A//www.ideal.es/noticias/201410/20/media/cortadas/entreno--490x490.jpg&medio=ideal&dominio=http%3A//www.ideal.es&location=granadacf.ideal.es&nameVideo=Entrenamiento%20con%20mucho%20contenido%20f%26iacute%3Bsico%20para%20iniciar%20la%20semana&shortDescriptionVideo=Entrenamiento%20con%20mucho%20contenido%20f%26iacute%3Bsico%20para%20iniciar%20la%20semana&creationDateMilisecondsVideo=1413821723&origenVideo=bc&capaModal=true&usoResizer=false&autoStartVideo=true&charset=WINDOWS-1252&authorVideo=STUDIO%20SUR&smoothingVideo=false&loid=30.9.2136624146&dispositivo=pc
         setErrorWebIntera("No se ha encontrado ningún vídeo.");
         return;
     }
     // http://www.ideal.es/videos/granada/noticias/1342041315001-02184-serie-tercer-premio-acera-darro.html
     $idVideo = $matches[1];
     $datosBC = "http://modulos-mm.ideal.es/includes/manuales/videos/php/proxyModgen.php?idVideo=" . $idVideo . "&idModulo=VOC_playerVideoShowVideo&modoExtendido=player&idDivVideo=video&medio=ideal&origenVideo=bc";
     $datosBC = CargaWebCurl($datosBC);
     dbug($datosBC);
     $publisherID = entre1y2($datosBC, '"publisherID" value="', '"');
     $playerID = entre1y2($datosBC, '"playerID" value="', '"');
     //$urlBC = 'http://c.brightcove.com/services/viewer/federated_f9?&flashID='.$matches[1].'-bcObject&playerID='.$playerID.'&publisherID='.$publisherID.'&%40videoPlayer='.$matches[2].'&isVid=true&isUI=true&linkBaseURL='.urlencode('http://www.hogarutil.com'.$matches[6]);
     //http://c.brightcove.com/services/messagebroker/amf?playerKey=AQ~~,AAAAEUA28vk~,ZZqXLYtFw-ADB2SpeHfBR3cyrCkvIrAe
     $messagebroker = "http://c.brightcove.com/services/messagebroker/amf?playerId=" . $playerID;
     include 'brightcove-funciones.php';
     $a_encodear = array("target" => "com.brightcove.experience.ExperienceRuntimeFacade.getDataForExperience", "response" => "/1", "data" => array("0" => "ebcf49ebfaf7ae1b09cf79a1ab47c1286b3a0605", "1" => new SabreAMF_AMF3_Wrapper(new SabreAMF_TypedObject("com.brightcove.experience.ViewerExperienceRequest", array("TTLToken" => null, "deliveryType" => NAN, "URL" => $this->web, "experienceId" => $playerID, "playerKey" => null, "contentOverrides" => array("0" => new SabreAMF_TypedObject("com.brightcove.experience.ContentOverride", array("contentIds" => null, "contentRefId" => null, "contentRefIds" => null, "featuredRefId" => null, "contentType" => 0, "target" => "videoPlayer", "featuredId" => NAN, "contentId" => $idVideo))))))));
     $post = brightcove_encode($a_encodear);
     //$test="AAMAAAABAEZjb20uYnJpZ2h0Y292ZS5leHBlcmllbmNlLkV4cGVyaWVuY2VSdW50aW1lRmFjYWRlLmdldERhdGFGb3JFeHBlcmllbmNlAAIvMQAAAdAKAAAAAgIAKGViY2Y0OWViZmFmN2FlMWIwOWNmNzlhMWFiNDdjMTI4NmIzYTA2MDURCmNjY29tLmJyaWdodGNvdmUuZXhwZXJpZW5jZS5WaWV3ZXJFeHBlcmllbmNlUmVxdWVzdCFjb250ZW50T3ZlcnJpZGVzEVRUTFRva2VuGWRlbGl2ZXJ5VHlwZQdVUkwZZXhwZXJpZW5jZUlkE3BsYXllcktleQkDAQqBA1Njb20uYnJpZ2h0Y292ZS5leHBlcmllbmNlLkNvbnRlbnRPdmVycmlkZRVjb250ZW50SWRzGWNvbnRlbnRSZWZJZBtjb250ZW50UmVmSWRzG2ZlYXR1cmVkUmVmSWQXY29udGVudFR5cGUNdGFyZ2V0FWZlYXR1cmVkSWQTY29udGVudElkAQEBAQQABhd2aWRlb1BsYXllcgV/////4AAAAAVCgOqrnL6IAAYBBX/////gAAAABoE/aHR0cDovL3d3dy5pZGVhbC5lcy92aWRlb3MvZ3JhbmFkYS9ub3RpY2lhcy8yMzI1MDEwOTQ2MDAxLWRpbGlnZW5jaWFzLXZ1ZWx2ZW4tdmFsbGUtbGVjcmluLmh0bWwFQlH8m6HwQAAGAQ==";
     //dbug_r(brightcove_decode(base64_decode($test)));
     dbug('a descargar: ' . $messagebroker);
     /*$t=brightcove_curl_web("http://forestrf.no-ip.org/",$post); //borrar, es una prueba
     dbug_($t);
     exit;*/
     $t = brightcove_curl_web($messagebroker, $post);
     dbug_($t);
     $res_decoded = brightcove_decode($t);
     dbug("PRIMERA RESPUESTA BRIGHTCOVE:");
     dbug_r($res_decoded);
     $base = $res_decoded["data"]->getAMFData();
     $base = $base['programmedContent']['videoPlayer']->getAMFData();
     $base = $base['mediaDTO']->getAMFData();
     dbug_r($base);
     $titulo = $base["linkText"];
     $imagen = $base["videoStillURL"];
     dbug('titulo = ' . $titulo);
     dbug('imagen = ' . $imagen);
     $obtenido['enlaces'] = brightcove_genera_obtenido($this, $base, array('IOSRenditions' => 'm3u8', 'renditions' => 'rtmp'));
     $obtenido['titulo'] = $titulo;
     $obtenido['imagen'] = $imagen;
     finalCadena($obtenido, false);
 }
Beispiel #19
0
 function calcula()
 {
     //title: "Matalobos quotAno 1 A familiaquot",
     $titulo = entre1y2($this->web_descargada, '<title>', '<');
     if (enString($titulo, ' |')) {
         $titulo = entre1y2($titulo, 0, ' |');
     }
     $titulo = limpiaTitulo($titulo);
     dbug('titulo=' . $titulo);
     if (enString($this->web_descargada, "id=\$(this).attr('id').split('|');")) {
         dbug('modo 1');
         preg_match("#url:.*?'(.*?)',#i", $this->web_descargada, $matches);
         dbug_r($matches);
         $url = $matches[1];
         if ($url[0] === '/') {
             $url = 'http://www.crtvg.es' . $url;
         } else {
             if ($url[0] !== 'h') {
                 $url = substr($this->web, 0, strrposF($this->web, '/')) . $url;
             }
         }
         dbug_r($url);
         preg_match_all("#<div class='cap' id='([0-9]+?)\\|([0-9]+?)'>#", $this->web_descargada, $matches);
         dbug_r($matches);
         $obtenido = array('titulo' => $titulo, 'imagen' => '/canales/tvg.jpg', 'enlaces' => array());
         for ($i = 0, $i_t = count($matches[0]); $i < $i_t; $i++) {
             $ret = CargaWebCurl($url, 'idSerie=' . $matches[1][$i] . '&idCapitulo=' . $matches[2][$i]);
             //dbug_($ret);
             $tit = entre1y2($ret, '<div id="titulo">', '</div');
             $tit = strip_tags($tit);
             $this->parsefragment($obtenido['enlaces'], $ret, $tit, true);
         }
     } else {
         dbug('modo 2');
         //backgroundImage: "url(http://www.crtvg.es/files/web/000020120911000003.jpg)"
         if (enString($this->web_descargada, 'backgroundImage:')) {
             $p = strpos($this->web_descargada, 'backgroundImage:');
             $imagen = entre1y2_a($this->web_descargada, $p, 'url(', ')');
         } else {
             $imagen = entre1y2($this->web_descargada, '"playlist":[{"url":"', '"');
             $imagen = str_replace('\\', '', $imagen);
         }
         dbug('imagen=' . $imagen);
         $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array());
         $this->parsefragment($obtenido['enlaces'], $this->web_descargada, $titulo);
     }
     finalCadena($obtenido);
 }
 function calcula()
 {
     preg_match("@http://[^ ]*?\\.mp4@i", $this->web_descargada, $matches);
     $url = $matches[0];
     $p = strpos($this->web_descargada, 'property="title"');
     $titulo = entre1y2_a($this->web_descargada, $p, 'content="', '"');
     $titulo = utf8_encode($titulo);
     $titulo = limpiaTitulo($titulo);
     dbug('titulo=' . $titulo);
     //imagen
     $p = strpos($this->web_descargada, 'property="og:image"');
     $imagen = entre1y2_a($this->web_descargada, $p, 'content="', '"');
     dbug('imagen=' . $imagen);
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $url, 'tipo' => 'http')));
     finalCadena($obtenido);
 }
Beispiel #21
0
 function calcula()
 {
     $retfull = CargaWebCurlProxy($this->web, 'ESP');
     //titulo
     //<meta property="og:title" content="Alaska y Mario Episodio Extra - Pierrot"/>
     $p = strpos($retfull, 'og:title');
     $titulo = entre1y2_a($retfull, $p, 'content="', '"');
     $titulo = limpiaTitulo($titulo);
     dbug('titulo=' . $titulo);
     //imagen
     //<meta property="og:image" content="http://....jpg?height=106&amp;quality=0.91"/>
     $p = strpos($retfull, 'og:image');
     $imagen = entre1y2_a($retfull, $p, 'content="', '?');
     if (enString($imagen, 'mtvnimages.com')) {
         $imagen = $imagen . '?height=180&quality=1';
     } else {
         $imagen = substr($imagen, 0, strpos($imagen, '"'));
     }
     if ($imagen == '' || enString($imagen, '<')) {
         $imagen = entre1y2($retfull, 'rel="image_src" href="', '"');
     }
     dbug('imagen=' . $imagen);
     //vid:"786779",
     $id = entre1y2($retfull, 'vid:"', '"');
     dbug('id=' . $id);
     //http://intl.esperanto.mtvi.com/www/xml/media/mediaGen.jhtml?uri=mgid:uma:video:mtv.es:747606
     $url = 'http://intl.esperanto.mtvi.com/www/xml/media/mediaGen.jhtml?uri=mgid:uma:video:mtv.es:' . $id;
     dbug('url=' . $url);
     $ret = CargaWebCurlProxy($url, 'ESP');
     dbug($ret);
     //Por situación geográfica del servidor (supongo) da error. Usar pydowntv :(
     if (!enString($ret, 'copyright_error.flv')) {
         $extracto = entre1y2($ret, '<rendition', '<beacons>');
         dbug('extracto=' . $extracto);
         $p = strrposF($extracto, '<src>');
         $f = strpos($extracto, '<', $p);
         $url = substr($extracto, $p, $f - $p);
     } else {
         dbug('Usando pydowntv');
         $ret = CargaWebCurl('http://www.pydowntv.com/api?url=' . $this->web);
         dbug($ret);
         $url = entre1y2($ret, '"url_video": ["', '"');
     }
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $url, 'rtmpdump' => '-r "' . $url . '" -o "' . generaNombreWindowsValido($titulo) . '.' . (enString($url, '.mp4') ? 'mp4' : 'flv') . '"', 'tipo' => 'rtmpConcreto')));
     finalCadena($obtenido);
 }
Beispiel #22
0
 function calcula()
 {
     preg_match('@/[a-z]/[0-9]+@', $this->web, $matches);
     dbug_r($matches);
     $url = 'https://api.twitch.tv/api/videos/' . str_replace('/', '', $matches[0]) . '?as3=t';
     dbug_($url);
     $json = CargaWebCurl($url);
     $json = json_decode($json, true);
     dbug_r($json);
     $obtenido = array('titulo' => entre1y2($this->web_descargada, 'title>', '</') . ' | [' . $json['start_offset'] . '->' . $json['end_offset'] . ']', 'imagen' => $json['preview'], 'enlaces' => array());
     $suma = 0;
     foreach ($json['chunks']['live'] as $url) {
         $suma += $url['length'];
         $obtenido['enlaces'][] = array('url' => $url['url'], 'tipo' => 'http', 'url_txt' => $suma);
     }
     finalCadena($obtenido);
 }
Beispiel #23
0
 function calcula()
 {
     if (!enString($this->web_descargada, '<Form method="POST" action=\'\'>')) {
         setErrorWebIntera('No se encuentra ningún vídeo');
         return;
     }
     $id = substr($this->web, strposF($this->web, 'played.to/'));
     dbug('id = ' . $id);
     $web_embedPlayedTo = 'http://played.to/embed-' . $id . '-640x360.html';
     //
     $retfull = CargaWebCurl($web_embedPlayedTo, '', array('referer' => 'http://web.com'));
     $imagen = entre1y2($retfull, 'image: "', '"');
     $titulo = entre1y2($this->web_descargada, '<h1 class="pagename">', '<');
     // FALLA EN EL CALLBACK DEL SWF. EDITAR EL SWF
     $urlJS = 'function lanzaPlayedTo(){' . 'if(typeof DESCARGADOR_ARCHIVOS_SWF === "undefined"){' . 'setTimeout(lanzaPlayedTo, 200)' . '}' . 'else if(DESCARGADOR_ARCHIVOS_SWF === true){' . 'getFlashMovie("descargador_archivos").CargaWeb({' . '"url":"' . $web_embedPlayedTo . '",' . '"metodo":"GET"' . '}, "procesaPlayedTo2");' . '}' . '}' . 'function procesaPlayedTo2(txt){' . 'var url = txt.split("file: \\"")[1].split("\\"")[0];' . 'mostrarResultado(url);' . '}' . 'function mostrarResultado(entrada){' . 'finalizar(entrada,"Descargar");' . '}' . 'function mostrarFallo(){' . 'finalizar("","No se ha encontrado ningún resultado");' . '}' . 'if(typeof descargador_archivos === "undefined"){' . 'D.g("enlaces").innerHTML += \'' . genera_swf_object('/util/fla/f/http://played.to/') . '\';' . 'var descargador_archivos = D.g("descargador_archivos");' . '}' . 'lanzaPlayedTo();';
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $urlJS, 'tipo' => 'jsFlash')));
     finalCadena($obtenido);
 }
Beispiel #24
0
 function calcula()
 {
     if (enString($this->web, '.com/v/')) {
         $this->web = 'https://www.youtube.com/watch?v=' . substr($this->web, strposF($this->web, '.com/v/'));
     }
     $this->web = strtr($this->web, array('//m.' => '//www.'));
     //id
     parse_str(parse_url($this->web, PHP_URL_QUERY), $vars);
     //$id=$vars['v']
     dbug_r($vars);
     $encontrado = false;
     $intentos = 3;
     $tube = new youtube();
     $links = $tube->parse($this->web_descargada);
     dbug_r($links);
     $web2 = $this->web;
     while (($links === false || count($links) == 0) && $intentos > 0) {
         dbug("ERROR: " . $tube->error);
         dbug('reintentando en 0.1s');
         usleep(100000);
         $tube = new youtube();
         $links = $tube->parse(CargaWebCurl($web2, '', 0, '', array(), true, true));
         dbug_r($links);
         --$intentos;
     }
     $obtenido = array('enlaces' => array());
     if ($links) {
         //imagen
         //https://i1.ytimg.com/vi/8GLNKyfdnQg/0.jpg
         $imagen = 'https://i1.ytimg.com/vi/' . $vars['v'] . '/0.jpg';
         $titulo = entre1y2($this->web_descargada, '<meta name="title" content="', '"');
         $titulo = limpiaTitulo($titulo);
         foreach ($links as &$link) {
             //'ext','p','axb','2D-3D','audio','url'
             $obtenido['enlaces'][] = array('url' => $link['url'] . "&title=" . urlencode(decode_entities($titulo)), 'tipo' => 'http', 'url_txt' => $link['p'] . ' ' . $link['ext'] . ($link['2D-3D'] === '3D' ? ': 3D' : '') . ($link['audio'] ? ' - ' . $link['audio'] : ''));
         }
         $obtenido['titulo'] = $titulo;
         $obtenido['imagen'] = $imagen;
         finalCadena($obtenido, false);
     } else {
         setErrorWebIntera($tube->error);
         return;
     }
 }
Beispiel #25
0
 function calcula()
 {
     preg_match('@video.php\\?v=(.*?)$@', $this->web, $matches);
     dbug_r($matches);
     if (enString($matches[1], '.mp4')) {
         $url = 'http://www.tvmelilla.es/videoalacarta/' . $matches[1];
         $imagen = strtr($url, array(".mp4" => ".jpg"));
         dbug('imagen = ' . $imagen);
         $titulo = utf8_encode(entre1y2($this->web_descargada, '<title>', '<'));
         dbug('titulo = ' . $titulo);
         $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $url, 'tipo' => 'http')));
     } else {
         $vimeo = new Vimeo();
         $vimeoURL = 'http://vimeo.com/' . $matches[1];
         $vimeoWeb_descargada = CargaWebCurl($vimeoURL);
         $vimeo->init($vimeoURL, $vimeoWeb_descargada);
         $obtenido = $vimeo->calcula();
     }
     finalCadena($obtenido);
 }
Beispiel #26
0
 function calcula()
 {
     $url = 'http://mmp.streamuk.com//api_v3/index.php?service=multirequest&action=null&kalsig=f5bf715cb3bf8c099fc8a26b3ffc8ecc';
     $post = "Referer: http://open.http.mmp.streamuk.com/p/2000092/sp/200009200/flash/kdp3/v3.9.3.3.1.31/kdp3.swf\r\n" . "Content-type: application/x-www-form-urlencoded\r\n" . "Content-length: 728\r\n" . urlencode("2:action=getContextData&" . "2:contextDataParams:objectType=KalturaEntryContextDataParams&" . "3:filter:objectType=KalturaCuePointFilter&" . "3:action=list&" . "ignoreNull=1&" . "2:contextDataParams:streamerType=rtmp&" . "2:contextDataParams:referrer={$this->web}&" . "2:entryId=0_ln0d3cfl&" . "1:entryId=0_ln0d3cfl&" . "apiVersion=3.1.5&" . "1:service=baseentry&" . "ks=" . base64_encode("d2e000426e5d32a45a4eb1f30e26a5a2238ee163|2000092;2000092;1413585766;0;1413499366.0907;0;view:*,widget:1;;") . "&" . "3:filter:entryIdEqual=0_ln0d3cfl&" . "1:action=get&" . "3:service=cuepoint_cuepoint&" . "2:service=baseentry&" . "1:version=-1&" . "clientTag=kdp:v3.9.3,cache_st:1405425098");
     $ret = CargaWebCurl($url, $post);
     if (enString($this->web_descargada, "mp4:")) {
         //http://www.intereconomia.com/sites/default/files/videos/rosa_paya.mp4
         $url = "http://www.intereconomia.com/sites/default/files/videos/" . entre1y2($this->web_descargada, 'mp4:', '.mp4') . '.mp4';
     } elseif (enString($this->web_descargada, "mp3:")) {
         $url = "http://www.intereconomia.com/sites/default/files/videos/" . entre1y2($this->web_descargada, 'mp3:', '.mp3') . '.mp3';
     }
     //titulo
     $titulo = entre1y2($this->web_descargada, "'Start','", "'");
     //imagen
     $p = strpos($this->web_descargada, '/sites/default/files/imagecache/');
     $f = strposF($this->web_descargada, '.', $p) + 3;
     //así se soporta .jpg y .gif
     $imagen = "http://www.intereconomia.com" . substr($this->web_descargada, $p, $f - $p);
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array(array('url' => $url, 'tipo' => 'http')));
     finalCadena($obtenido);
 }
Beispiel #27
0
 function calcula()
 {
     $obtenido = array('enlaces' => array());
     if (preg_match('#<param.+?name="@videoPlayer".+?value="(.+?)"#', $this->web_descargada, $matches)) {
         $contentId = $matches[1];
     } else {
         setErrorWebIntera('No se ha encontrado ningún vídeo.');
         return;
     }
     if (preg_match('#<param.+?name="playerID".+?value="(.+?)"#', $this->web_descargada, $matches)) {
         $experienceID = $matches[1];
     } else {
         setErrorWebIntera('No se ha encontrado ningún vídeo.');
         return;
     }
     dbug('$contentId -> ' . $contentId);
     dbug('experienceID = playerId -> ' . $experienceID);
     $messagebroker = 'http://c.brightcove.com/services/messagebroker/amf?playerId=' . $experienceID;
     include 'brightcove-funciones.php';
     $a_encodear = array('target' => 'com.brightcove.experience.ExperienceRuntimeFacade.getDataForExperience', 'response' => '/1', 'data' => array('0' => 'fcc17f21d09457d5e28d64c3dc0c0a3cb8863710', '1' => new SabreAMF_AMF3_Wrapper(new SabreAMF_TypedObject('com.brightcove.experience.ViewerExperienceRequest', array('contentOverrides' => array(new SabreAMF_TypedObject('com.brightcove.experience.ContentOverride', array('featuredRefId' => null, 'contentIds' => null, 'contentRefId' => null, 'contentType' => 0, 'target' => 'videoPlayer', 'contentRefIds' => null, 'featuredId' => NAN, 'contentId' => $contentId))), 'playerKey' => null, 'TTLToken' => null, 'deliveryType' => NAN, 'URL' => $this->web, 'experienceId' => $experienceID)))));
     $post = brightcove_encode($a_encodear);
     dbug('a descargar: ' . $messagebroker);
     $t = brightcove_curl_web($messagebroker, $post);
     dbug_($t);
     $res_decoded = brightcove_decode($t);
     dbug('PRIMERA RESPUESTA BRIGHTCOVE (enlaces de vídeos aquí):');
     dbug_r($res_decoded);
     $base = $res_decoded['data']->getAMFData();
     $base2 = $base['programmedContent']['videoPlayer']->getAMFData();
     $base3 = $base2['mediaDTO']->getAMFData();
     $titulo = $base3['displayName'];
     $titulo = limpiaTitulo($titulo);
     $imagen = $base3['videoStillURL'];
     dbug('titulo = ' . $titulo);
     dbug('imagen = ' . $imagen);
     $obtenido['enlaces'] = brightcove_genera_obtenido(false, $base3, array('IOSRenditions' => 'm3u8', 'renditions' => 'rtmpConcreto'), $titulo);
     $obtenido['titulo'] = $titulo;
     $obtenido['imagen'] = $imagen;
     finalCadena($obtenido, false);
 }
Beispiel #28
0
 function calcula()
 {
     /*
     http://www.canalplus.es/mas-deportes/videos-rally/
     
     
     <param name="FlashVars" value="skin=canalplus&amp;referrer=&amp;xref=20141118plucandep_7.Ves&amp;playlist=&amp;conf=/multimedia/videoAS3/skins/confVideoDinamico.html?tipo=conf_big_white&amp;id=cp_54adb822bfba4&amp;logo=%2Frecorte%2F%3Fid%3D20141118plucandep_11.Ies%26r%3DREC500%26t%3Dse%26v%3D&amp;titulo=De Rally (17/11/2014): Gran Bretaña" />
     <video poster="/recorte/?id=20141118plucandep_11.Ies&amp;r=REC500&amp;t=se&amp;v=" width="600" height="379" controls>
     <source src="http://vdmedia_1.plus.es/topdigitalplus/201411/18/7765d8d533d029339c1eea6e89a47afa_696.mp4" type="video/mp4"/>
     <source src="http://vdmedia_1.plus.es/topdigitalplus/201411/18/7765d8d533d029339c1eea6e89a47afa_2096.mp4" type="video/mp4"/>
     <source src="http://vdmedia_1.plus.es/topdigitalplus/201411/18/7765d8d533d029339c1eea6e89a47afa_696.mp4" type="video/mp4"/>
     <source src="http://vdmedia_1.plus.es/topdigitalplus/201411/18/7765d8d533d029339c1eea6e89a47afa_2096.mp4" type="video/mp4"/>
     
     http://www.canalplus.es/servicios/player/mm_se_top.html?xref=20141118plucandep%5F7%2EVes&account=digitalplus&view=playlist
     */
     $enlaces = array();
     preg_match_all('#<source src="(.+?)"#', $this->web_descargada, $matches);
     dbug_r($matches[1]);
     $videos = array_unique($matches[1]);
     dbug_r($videos);
     $order = array();
     foreach ($videos as $video) {
         preg_match('#_([0-9]{3,})\\.(?:mp4|webm|flv|wmv|mov|mpg|mpeg)#i', $video, $matches);
         $order[] = $matches[1];
         $enlaces[] = array('url' => htmlspecialchars_decode(utf8_encode($video)), 'url_txt' => 'Calidad: ' . $matches[1], 'tipo' => 'http');
     }
     dbug_r($order);
     array_multisort($enlaces, $order);
     $datos = entre1y2($this->web_descargada, '<param name="FlashVars" value="', '"');
     $datos = explode('&amp;', $datos);
     for ($i = 0, $i_t = count($datos); $i < $i_t; $i++) {
         $dato = explode('=', $datos[$i]);
         $datos[$dato[0]] = $dato[1];
     }
     dbug_r($datos);
     $titulo = urldecode($datos['titulo']);
     $imagen = 'http://www.canalplus.es' . utf8_encode(htmlspecialchars_decode(entre1y2($this->web_descargada, 'poster="', '"')));
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => $enlaces);
     finalCadena($obtenido);
 }
Beispiel #29
0
 function calcula()
 {
     $obtenido = array('enlaces' => array());
     //http://c.brightcove.com/services/viewer/federated_f9?&flashID=ms-player2-continuo-bcObject&playerID=2418571368001&publisherID=2385340627001&%40videoPlayer=2875076343001&isVid=true&isUI=true&linkBaseURL=".urlencode()
     $patron = '@GENERAL.videoBrightcove.*?\\(.*?"(.*?)".*?,.*?"(.*?)"@i';
     preg_match($patron, $this->web_descargada, $matches);
     dbug_r($matches);
     if (!isset($matches[2]) || !is_numeric($matches[2])) {
         setErrorWebIntera("No se ha encontrado ningún vídeo.");
         return;
     }
     $contentId = $matches[2];
     $publisherID = 2385340627001;
     $playerID = 2418571368001;
     //$urlBC = 'http://c.brightcove.com/services/viewer/federated_f9?&flashID='.$matches[1].'-bcObject&playerID='.$playerID.'&publisherID='.$publisherID.'&%40videoPlayer='.$matches[2].'&isVid=true&isUI=true&linkBaseURL='.urlencode('http://www.hogarutil.com'.$matches[6]);
     //http://c.brightcove.com/services/messagebroker/amf?playerKey=AQ~~,AAAAEUA28vk~,ZZqXLYtFw-ADB2SpeHfBR3cyrCkvIrAe
     $messagebroker = "http://c.brightcove.com/services/messagebroker/amf?playerId=" . $playerID;
     include 'brightcove-funciones.php';
     $a_encodear = array("target" => "com.brightcove.experience.ExperienceRuntimeFacade.getDataForExperience", "response" => "/1", "data" => array("0" => "8ea8d3dc9fe7f3763119fb54107e6b5f814b876f", "1" => new SabreAMF_AMF3_Wrapper(new SabreAMF_TypedObject("com.brightcove.experience.ViewerExperienceRequest", array("TTLToken" => null, "deliveryType" => NAN, "playerKey" => "", "URL" => $this->web, "experienceId" => $playerID, "contentOverrides" => array("0" => new SabreAMF_TypedObject("com.brightcove.experience.ContentOverride", array("target" => "videoPlayer", "featuredId" => NAN, "contentType" => 0, "contentId" => $contentId, "featuredRefId" => null, "contentIds" => null, "contentRefId" => null, "contentRefIds" => null))))))));
     $post = brightcove_encode($a_encodear);
     dbug('a descargar: ' . $messagebroker);
     $t = brightcove_curl_web($messagebroker, $post);
     dbug($t);
     $res_decoded = brightcove_decode($t);
     dbug("PRIMERA RESPUESTA BRIGHTCOVE:");
     dbug_r($res_decoded);
     $base = $res_decoded["data"]->getAMFData();
     $base = $base['programmedContent']['videoPlayer']->getAMFData();
     $base = $base['mediaDTO']->getAMFData();
     dbug_r($base);
     $titulo = $base["displayName"];
     $imagen = $base["videoStillURL"];
     dbug('titulo = ' . $titulo);
     dbug('imagen = ' . $imagen);
     $obtenido['enlaces'] = brightcove_genera_obtenido(false, $base, array('IOSRenditions' => 'm3u8', 'renditions' => 'rtmpConcreto'), $titulo);
     $obtenido['titulo'] = $titulo;
     $obtenido['imagen'] = $imagen;
     $obtenido['descripcion'] = $base["longDescription"];
     finalCadena($obtenido, false);
 }
Beispiel #30
0
 function calcula()
 {
     //mirar si hay video
     $obtenido = array();
     if (!enString($this->web_descargada, '_w320.jpg')) {
         return;
     }
     $p = strpos($this->web_descargada, 'og:image');
     $imagen = entre1y2_a($this->web_descargada, $p, 'content="', '"');
     dbug('imagen=' . $imagen);
     $id = entre1y2($imagen, strrposF($imagen, '/'), "_w320.jpg");
     dbug('id=' . $id);
     // Problemas con geobloqueo.
     //$ret=CargaWebCurl(urldecode(entre1y2($this->web_descargada, "'file': '", "'")));
     //$ret=CargaWebCurl('http://www.adnstream.com/get_playlist.php?lista=video&param='.$id);
     $ret = CargaWebCurl('http://proxyanonimo.es/browse.php?u=' . urlencode('http://www.adnstream.com/get_playlist.php?lista=video&param=' . $id) . '&b=12&f=norefer', '', 0, '', array('Referer: http://proxyanonimo.es/'));
     dbug_($ret);
     $titulo = entre1y2($ret, '<title>', '<');
     $titulo = limpiaTitulo($titulo);
     dbug('titulo=' . $titulo);
     $descripcion = entre1y2($ret, '<description>', '<');
     dbug('descripcion=' . $descripcion);
     if (enString($ret, 'hd.file>')) {
         $ret = entre1y2($ret, 'hd.file>', '<');
     } elseif (enString($ret, 'file>')) {
         $ret = entre1y2($ret, 'file>', '<');
     } else {
         $p = strpos($ret, 'http://');
         $f = strpos($ret, '<', $p);
         $ret = substr($ret, $p, $f - $p);
     }
     if (enString($ret, '.flv')) {
         $ret = substr($ret, 0, strrposF($ret, '/')) . $id . '.H264-480p.mp4';
         $ret = 'http://176.31.233.154' . substr($ret, strpos($ret, '/', 10));
     }
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'descripcion' => $descripcion, 'enlaces' => array(array('url' => $ret, 'tipo' => 'http')));
     finalCadena($obtenido);
     return $obtenido;
 }