Exemple #1
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);
 }
Exemple #3
0
 function SacarVideo(&$entrada, $nombre)
 {
     //url:'mp4%3A%2Fweb%2F4311%2F4311.mp4',
     $retfull = strtr($entrada, array(' ' => ''));
     $url = urldecode(entre1y2($retfull, "url:'", "'"));
     dbug($url);
     $rtmpbase = urldecode(entre1y2($retfull, "netConnectionUrl:'", "'"));
     dbug_($rtmpbase);
     // http://alacarta.aragontelevision.es/_archivos/videos'.$url;
     $videos = array('url' => 'rtmp://aragontvvodfs.fplive.net/aragontvvod' . $url, 'rtmpdump' => '-r "' . $rtmpbase . '" -y "' . $url . '" -o "' . generaNombreWindowsValido($nombre) . '.mp4"', 'tipo' => 'rtmpConcreto', 'extension' => 'mp4');
     return $videos;
 }
Exemple #4
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);
 }
Exemple #5
0
 function parsefragment(&$arr, $html, $titulo, $multiple = false)
 {
     //rtmp://media1.crtvg.es:80/vod
     $p = strpos($html, 'clip:');
     if (!$p) {
         $p = strposF($html, '"clip":');
     }
     $p = strpos($html, 'url:', $p);
     if (!$p) {
         $p = strposF($html, '"provider":"rtmp","url":');
     }
     $url = entre1y2_a($html, $p, '"', '"');
     $url = str_replace('\\', '', $url);
     dbug('url=' . $url);
     //netConnectionUrl: "rtmp://media1.crtvg.es:80/vod"
     $p = strpos($html, 'netConnectionUrl:');
     if (!$p) {
         $p = strposF($html, '"netConnectionUrl":');
     }
     $preurl = entre1y2_a($html, $p, '"', '"');
     $preurl = str_replace('\\', '', $preurl);
     dbug('$preurl=' . $preurl);
     //ipadUrl: "http:// m3u8"
     $p = strpos($html, 'ipadUrl:');
     if (!$p) {
         $p = strposF($html, '"ipadUrl":');
     }
     $ipadUrl = entre1y2_a($html, $p, '"', '"');
     $ipadUrl = str_replace('\\', '', $ipadUrl);
     dbug('$ipadUrl=' . $ipadUrl);
     if ($multiple) {
         $arr[] = array('titulo' => $titulo);
     }
     $arr[] = array('url' => ' ', 'rtmpdump' => '-r "' . $preurl . '" -y "' . $url . '" -o "' . generaNombreWindowsValido($titulo) . '.mp4"', 'tipo' => 'rtmpConcreto');
     if (strlen($ipadUrl) > 10) {
         $arr[] = array('url' => $ipadUrl, 'tipo' => 'm3u8');
     }
 }
 function calcula()
 {
     $obtenido = array('enlaces' => array());
     $pageId = substr($this->web, strrposF($this->web, '/'));
     dbug_($pageId);
     if (preg_match('#"pageId":"' . $pageId . '".+?"urls":\\[(.+?)[,\\]]#', $this->web_descargada, $matches)) {
         $jsonurl = $matches[1];
     } else {
         setErrorWebIntera('No se ha encontrado ningún vídeo.');
         return;
     }
     dbug_($jsonurl);
     $jsonurl = json_decode($jsonurl, true);
     dbug_($jsonurl);
     $json = CargaWebCurl($jsonurl);
     dbug_($json);
     $json2 = json_decode($json, true);
     $titulo = $json2['title'];
     // http://www.arucitys.com.usrfiles.com/html/5eb649_d2c495cc1c5e09ffcb959aa180074c3d.html
     $html = desde1a2($json, '"html/', '"', true);
     $html = json_decode($html, true);
     $html = 'http://www.arucitys.com.usrfiles.com/' . $html;
     dbug_($html);
     $html = CargaWebCurl($html);
     dbug_($html);
     $app_flash = trim(entre1y2($html, 'app_flash=', '&'));
     dbug_($app_flash);
     $ubicacion_fichero = trim(entre1y2($html, 'ubicacion_fichero=', '&'));
     dbug_($ubicacion_fichero);
     $rtmpbase = 'rtmp://178.33.166.26/' . $app_flash;
     $rtmp = $rtmpbase . '/mp4:' . $ubicacion_fichero;
     $obtenido['enlaces'] = array(array('url' => $rtmp, 'rtmpdump' => '-r "' . $rtmpbase . '" -y "' . $ubicacion_fichero . '" -o "' . generaNombreWindowsValido($titulo) . '.mp4"', 'url_txt' => 'Descargar', 'tipo' => 'rtmpConcreto'));
     $obtenido['titulo'] = $titulo;
     $obtenido['imagen'] = $imagen;
     finalCadena($obtenido, false);
 }
Exemple #7
0
 function calcula()
 {
     /*
     $proxy = '189.174.63.36:8080';
     
     $ch=curl_init();
     curl_setopt($ch,CURLOPT_URL,'http://tvnpod.tvolucion.com/indom/delivery/6dd74f0d-18d9-412a-bd59-5071182ffdbd/indom-c120.mp4_970k.mp4');
     curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
     curl_setopt($ch,CURLOPT_PROXY,$proxy);
     curl_setopt($ch,CURLOPT_HEADER,1);
     curl_setopt($ch,CURLOPT_RANGE,'1-200');
     
     $t=curl_exec($ch);
     if(curl_errno($ch))dbug('Curl error: '.curl_error($ch));
     
     curl_close($ch);
     dbug_($t);
     exit;
     */
     if (enString($this->web, '//m.')) {
         $this->web = str_replace('//m.', '//www.', $this->web);
         dbug('Movil -> escritorio');
         $this->web_descargada = CargaWebCurl($this->web, '', 0, '', array('Referer: ' . $this->web));
         if (!enString($this->web_descargada, '<html')) {
             $this->web_descargada = CargaWebCurl($this->web);
         }
     }
     //usarse a sí mismo como réferer
     if (!enString($this->web_descargada, '<html')) {
         $this->web_descargada = CargaWebCurl($this->web, '', 0, '', array('Referer: ' . $this->web));
     }
     if (!enString($this->web_descargada, '<html')) {
         $this->web_descargada = CargaWebCurl($this->web);
     }
     //dbug_($this->web_descargada);
     $obtenido = array('enlaces' => array());
     //para televisa.com/novelas
     if (stringContains($this->web_descargada, array('showVideo(', 'data-idvideo="', 'embed.php?id='))) {
         if (enString($this->web_descargada, 'showVideo(')) {
             dbug('-1-');
             preg_match('@showVideo\\(([0-9]+)\\)@', $this->web_descargada, $match);
         } elseif (enString($this->web_descargada, 'data-id="')) {
             dbug('-2-');
             preg_match('@data-id="([0-9]+)"@', $this->web_descargada, $match);
         } elseif (enString($this->web_descargada, 'data-idvideo="')) {
             dbug('-2.5-');
             preg_match('@data-idvideo="([0-9]+)"@', $this->web_descargada, $match);
         } elseif (enString($this->web_descargada, 'embed.php?id=')) {
             dbug('-3-');
             preg_match('@embed.php\\?id=([0-9]+)@', $this->web_descargada, $match);
         }
         if (isset($match[1])) {
             $idVideo = $match[1];
             dbug($idVideo);
             // $this->web='http://amp.televisa.com/embed/embed.php?id='.$idVideo.'&w=620&h=345';
             $this->web = 'http://tvolucion.esmas.com/embed/embed.php?id=' . $idVideo . '&w=620&h=345';
             $this->web_descargada = CargaWebCurl($this->web, '', 0, '', array('Referer: ' . $this->web));
             if (enString($this->web_descargada, 'ya no se encuentra disponible')) {
                 setErrorWebIntera('Éste vídeo ya no se encuentra disponible.');
                 return;
             }
             //dbug_($this->web_descargada);
         }
     }
     if (enString($this->web_descargada, 'params_dvr.json')) {
         if (!isset($idVideo)) {
             preg_match('#/([0-9]+?)/params_dvr.json#', $this->web_descargada, $matches);
             $idVideo = $matches[1];
         }
         $hostname = 'tvolucion.esmas.com';
         $json = "http://{$hostname}/tvenvivofiles/{$idVideo}/params_dvr.json";
         $json = CargaWebCurl($json);
         $json = utf8_encode($json);
         $json = json_decode($json, true);
         dbug_r($json);
         $titulo = $json['channel']['item']['title'];
         $imagen = $json['channel']['item']['media-group']['media-thumbnail']['@attributes']['url'];
         foreach ($json['channel']['item']['media-group']['media-content'] as &$elem) {
             if (enString($elem['@attributes']['url'], '.f4m')) {
                 $obtenido['enlaces'][] = array('url' => $elem['@attributes']['url'], 'nombre_archivo' => generaNombreWindowsValido($titulo), 'tipo' => 'f4m');
             } elseif (enString($elem['@attributes']['url'], '.m3u8')) {
                 $obtenido['enlaces'][] = array('url' => $elem['@attributes']['url'], 'tipo' => 'm3u8');
             }
         }
         $obtenido['alerta_especifica'] = 'Es necesario usar un proxy de México. El programa F4M-Downloader permite indicar un proxy.';
     } else {
         //http://c.brightcove.com/services/messagebroker/amf?playerKey=AQ~~,AAAAEUA28vk~,ZZqXLYtFw-ADB2SpeHfBR3cyrCkvIrAe
         if (enString($this->web_descargada, 'playerKey:"')) {
             $playerKey = entre1y2($this->web_descargada, 'playerKey:"', '"');
         } elseif (enString($this->web_descargada, '<param name="playerKey"')) {
             $playerKey = entre1y2($this->web_descargada, '<param name="playerKey" value="', '"');
         }
         if (!isset($playerKey)) {
             setErrorWebIntera('No se ha encontrado ningún vídeo.');
             return;
         }
         dbug('playerKey -> ' . $playerKey);
         $messagebroker = 'http://c.brightcove.com/services/messagebroker/amf?playerKey=' . $playerKey;
         if (enString($this->web_descargada, 'playerID:"')) {
             $experienceID = entre1y2($this->web_descargada, 'playerID:"', '"');
         } elseif (enString($this->web_descargada, '<param name="playerID"')) {
             $experienceID = entre1y2($this->web_descargada, '<param name="playerID" value="', '"');
         }
         if (!isset($experienceID)) {
             setErrorWebIntera('No se ha encontrado ningún vídeo.');
             return;
         }
         dbug('experienceID -> ' . $experienceID);
         if (enString($this->web_descargada, 'videoId:"')) {
             $contentId = entre1y2($this->web_descargada, 'videoId:"', '"');
         } elseif (enString($this->web_descargada, '<param name="videoId"')) {
             $contentId = entre1y2($this->web_descargada, '<param name="videoId" value="', '"');
         }
         if (!isset($contentId)) {
             setErrorWebIntera('No se ha encontrado ningún vídeo.');
             return;
         }
         dbug('contentId -> ' . $contentId);
         include 'brightcove-funciones.php';
         //$aa = 'AAMAAAABAEZjb20uYnJpZ2h0Y292ZS5leHBlcmllbmNlLkV4cGVyaWVuY2VSdW50aW1lRmFjYWRlLmdldERhdGFGb3JFeHBlcmllbmNlAAIvMQAAAe8KAAAAAgIAKDcyOTBiYTVlOTQzZGM0MmI3ZDY4NmE1NjJmOTZkNWI0MGI0ZjE3OTIRCmNjY29tLmJyaWdodGNvdmUuZXhwZXJpZW5jZS5WaWV3ZXJFeHBlcmllbmNlUmVxdWVzdBlleHBlcmllbmNlSWQhY29udGVudE92ZXJyaWRlcxFUVExUb2tlbhlkZWxpdmVyeVR5cGUTcGxheWVyS2V5B1VSTAVCYrdWAacgAAkDAQqBA1Njb20uYnJpZ2h0Y292ZS5leHBlcmllbmNlLkNvbnRlbnRPdmVycmlkZRtjb250ZW50UmVmSWRzDXRhcmdldBVmZWF0dXJlZElkE2NvbnRlbnRJZBdjb250ZW50VHlwZRtmZWF0dXJlZFJlZklkFWNvbnRlbnRJZHMZY29udGVudFJlZklkAQYXdmlkZW9QbGF5ZXIFf////+AAAAAFQoo2IT7sSAAEAAEBAQYBBX/////gAAAABmVBUX5+LEFBQUFFVUEyOHZrfixaWnFYTFl0RnctQURCMlNwZUhmQlIzY3lyQ2t2SXJBZQaBGWh0dHA6Ly9ub3RpY2llcm9zLnRlbGV2aXNhLmNvbS9wcm9ncmFtYXMtbm90aWNpZXJvLWNvbi1qb2FxdWluLWxvcGV6LWRvcmlnYS8=';
         //dbug_r(brightcove_decode(base64_decode($aa)));
         $a_encodear = array('target' => 'com.brightcove.experience.ExperienceRuntimeFacade.getDataForExperience', 'response' => '/1', 'data' => array('0' => '7290ba5e943dc42b7d686a562f96d5b40b4f1792', '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(new SabreAMF_TypedObject('com.brightcove.experience.ContentOverride', array('contentRefId' => null, 'contentIds' => null, 'featuredRefId' => null, 'contentRefIds' => null, 'contentType' => 0, 'target' => 'videoPlayer', 'featuredId' => NAN, 'contentId' => $contentId))))))));
         // FALLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         $post = brightcove_encode($a_encodear);
         dbug(base64_encode($post));
         //dbug_r(brightcove_decode($post));
         //dbug_r(brightcove_decode(base64_decode('AAMAAAABAEZjb20uYnJpZ2h0Y292ZS5leHBlcmllbmNlLkV4cGVyaWVuY2VSdW50aW1lRmFjYWRlLmdldERhdGFGb3JFeHBlcmllbmNlAAIvMQAAAhYKAAAAAgIAKDcyOTBiYTVlOTQzZGM0MmI3ZDY4NmE1NjJmOTZkNWI0MGI0ZjE3OTIRCmNjY29tLmJyaWdodGNvdmUuZXhwZXJpZW5jZS5WaWV3ZXJFeHBlcmllbmNlUmVxdWVzdBlkZWxpdmVyeVR5cGUHVVJMGWV4cGVyaWVuY2VJZCFjb250ZW50T3ZlcnJpZGVzE3BsYXllcktleRFUVExUb2tlbgV/////4AAAAAaBZ2h0dHA6Ly90dm9sdWNpb24uZXNtYXMuY29tL3RlbGVub3ZlbGFzL2RyYW1hL2xhLXJvc2EtZGUtZ3VhZGFsdXBlLzIzNjM0OS9yb3NhLWd1YWRhbHVwZS1wZXF1ZW5hLWdyYW4taGlzdG9yaWEtYW1vci8FQmK3VgGnIAAJAwEKgQNTY29tLmJyaWdodGNvdmUuZXhwZXJpZW5jZS5Db250ZW50T3ZlcnJpZGUNdGFyZ2V0FWZlYXR1cmVkSWQTY29udGVudElkG2ZlYXR1cmVkUmVmSWQVY29udGVudElkcxljb250ZW50UmVmSWQbY29udGVudFJlZklkcxdjb250ZW50VHlwZQYXdmlkZW9QbGF5ZXIFf////+AAAAAFQoNbrQiDiAABAQEBBAAGZUFRfn4sQUFBQUVVQTI4dmt+LFpacVhMWXRGdy1BREIyU3BlSGZCUjNjeXJDa3ZJckFlBgE=')));
         dbug('a descargar: ' . $messagebroker);
         $t = brightcove_curl_web($messagebroker, $post);
         $res_decoded = brightcove_decode($t);
         dbug_r($res_decoded);
         $titulo1 = $res_decoded['data']->getAMFData();
         $titulo2 = $titulo1['programmedContent']['videoPlayer']->getAMFData();
         dbug_r($titulo2);
         $titulo3 = $titulo2['mediaDTO']->getAMFData();
         $titulo = $titulo3['displayName'];
         //scar todas las URL
         //preg_match_all('@http(s)?://[a-z0-9A-Z.?/%_=~-]+@i', $t, $match);
         preg_match_all('@http(s)?://[a-z0-9A-Z./%_-]+@i', $t, $match);
         //buscar qué URLs son las pics y los vídeos para usarlas
         dbug_r($match[0]);
         $imagen = $match[0][1];
         $urls_total = count($match[0]);
         for ($i = 0; $i < $urls_total; $i++) {
             if (esVideoAudioAnon($match[0][$i])) {
                 $obtenido['enlaces'][] = array('url' => strtr($match[0][$i], array('http://tvnhds.tvolucion.com/z/' => 'http://tvnpod.tvolucion.com/')), 'tipo' => 'http');
             }
         }
     }
     $obtenido['titulo'] = $titulo;
     $obtenido['imagen'] = $imagen;
     finalCadena($obtenido, false);
 }
?>
dfb" style="display:none"></div>
<div class="agregar_rtmp_downloader" id="rtmp<?php 
echo $R2['random_id'];
?>
df" style="display:none">
	Nombre del archivo:
	<form method="GET" action="http://127.0.0.1:25432/" id="rtmp<?php 
echo $R2['random_id'];
?>
f" target="_blank">
		<input type="text"     id="rtmp<?php 
echo $R2['random_id'];
?>
fnombre"   name="nombre" class="input" value="<?php 
echo generaNombreWindowsValido($R['titulo_res']);
?>
.<?php 
echo $R2['extension_res'];
?>
" autocomplete="off"><br/>
		<input type="checkbox" id="rtmp<?php 
echo $R2['random_id'];
?>
fv"><span class="modo_live_rtmp">Usar modo live, -v (marcar en caso de problemas)</span><br/>
		
		<input type="hidden"   id="rtmp<?php 
echo $R2['random_id'];
?>
frtmpdump" name="url"    value='<?php 
echo htmlentities($rtmpdump, ENT_SUBSTITUTE | ENT_COMPAT | ENT_HTML401);
Exemple #9
0
 function URLSDelArrayBrightCove($r, $tipo, &$obtenido_enlaces, $titulo, $extraParams)
 {
     if ($r['audioOnly'] != '1') {
         if ($r['encodingRate'] > 0) {
             $arrayTemp = array('calidad_ordenar' => $r['encodingRate'], 'titulo' => 'Calidad: ' . floor($r['encodingRate'] / 1000) . ' Kbps', 'url' => $r['defaultURL'], 'tipo' => $tipo);
         } else {
             $arrayTemp = array('calidad_ordenar' => 0, 'url' => $r['defaultURL'], 'tipo' => $tipo);
         }
         //rtmpdump --rtmp "rtmp://brightcove.fcod.llnwd.net/a500/e1/uds/rtmp/ondemand/&mp4:102076681001/102076681001_1194607581001_40628-20111001-193913.mp4&1396378800000&8ea0d55b8390f639ceb5d6cb0012f5a1" --app="a500/e1/uds/rtmp/ondemand?videoId=1194575820001&lineUpId=&pubId=102076681001&playerId=2202962695001" --swfUrl="http://admin.brightcove.com/viewer/us20121218.1107/federatedVideoUI/BrightcovePlayer.swf?uid=1355158765470" --playpath="mp4:102076681001/102076681001_1194607581001_40628-20111001-193913.mp4?videoId=1194575820001&lineUpId=&pubId=102076681001&playerId=2202962695001" --pageUrl="http://www.eitb.tv/es/video/escepticos/1162371025001/1194575820001/-todo-esta-escrito-/" -C "B:0" -C "S:mp4:102076681001/102076681001_1194607581001_40628-20111001-193913.mp4&1396378800000&8ea0d55b8390f639ceb5d6cb0012f5a1" -o "Escepticos_-3-.mp4"
         if (enString($r['defaultURL'], 'brightcove') && preg_match('@://.*?/(.*?)[\\?&].*?mp4:(.*?)$@', $r['defaultURL'], $matches)) {
             $a = $matches[1] ? $matches[1] : '';
             $CS = $matches[2] ? $matches[2] : '';
             $extra = '-a "' . $a . '" -C "B:0" -C "S:' . $CS . '" ';
         } else {
             //else edgefcs
             $extra = '';
         }
         //print_r($matches);
         // http://euskalvod-vh.akamaihd.net/z/2015/05/21/0007623468/0007623468_,768x432_12288,320x180_2560,480x270_5120,480x270_7680,00.mp4.csmil/manifest.f4m?videoId=4248876567001&lineUpId=&pubId=4053905864001&playerId=4191633842001&affiliateId=&g=PXFLHTJPFASF&hdcore=3.4.0
         // http://euskalvod-vh.akamaihd.net/z/2015/05/21/0007623468/0007623468_,768x432_12288,320x180_2560,480x270_5120,480x270_7680,00.mp4.csmil/manifest.f4m?videoId=4248876567001&pubId=4053905864001&playerId=4191633842001&hdcore=3.4.0
         if ($tipo === 'rtmpConcreto') {
             if (enString($r['defaultURL'], 'mp4:')) {
                 preg_match_all('@(mp4:.*?\\.mp4)@i', $r['defaultURL'], $match);
                 $y = $match[0][0];
                 if ($r['encodingRate'] > 0) {
                     $filename = generaNombreWindowsValido($titulo . ' - ' . floor($r['encodingRate'] / 1000) . ' Kbps' . '.mp4');
                 } else {
                     $filename = generaNombreWindowsValido($titulo . '.mp4');
                 }
                 $arrayTemp['rtmpdump'] = '-r "' . strtr($r['defaultURL'], array('&' . $y => '')) . '" -y "' . $y . '" ' . $extra . ' -o "' . $filename . '"';
                 $arrayTemp['nombre_archivo'] = $filename;
             } elseif (enString($r['defaultURL'], 'manifest.f4m')) {
                 $arrayTemp['tipo'] = 'f4m';
                 $arrayTemp['nombre_archivo'] = generaNombreWindowsValido($titulo . '.mp4');
                 $arrayTemp['url'] .= '?videoId=' . $extraParams['videoId'] . '&pubId=' . $extraParams['pubId'] . '&playerId=' . $extraParams['playerId'] . '&hdcore=3.4.0';
             } else {
                 $arrayTemp['tipo'] = 'http';
                 $arrayTemp['url_txt'] = 'Descargar';
             }
         }
         $obtenido_enlaces[] = $arrayTemp;
     }
 }
Exemple #10
0
 function calcula()
 {
     //Hay videos geobloqueados. pocos pero hay. OJO porque no irán
     /*
     POST a:
     es.medici.tv
     
     con:
     json=true&page=%2Fhenri-demarquette-charles-dutoit-royal-philharmonic-orchestra-annecy-classic-festival-2012&timezone_offset=-120
     */
     //comprobar que la web es correcta o fallar
     if (!enString($this->web, '#!')) {
         return;
     }
     $obtenido = array('enlaces' => array());
     //aparentemente se puede. enviemoslo.
     $p = strposF($this->web, '#!');
     $webFormateada = substr($this->web, $p);
     $cabecera = array("Host: es.medici.tv", "Content-type: application/x-www-form-urlencoded");
     $post = 'json=true&page=' . urlencode($webFormateada) . '&timezone_offset=-120';
     $ret = CargaWebCurl('http://es.medici.tv', $post);
     $ret = jsonRemoveUnicodeSequences($ret);
     dbug($ret);
     //imagen:
     //"main_image": "http:....jpg"
     $p = strposF($ret, '"main_image"');
     $p = strposF($ret, '"', $p);
     $f = strpos($ret, '"', $p);
     $imagen = substr($ret, $p, $f - $p);
     dbug('imagen=' . $imagen);
     //titulo:
     //"title": "..."
     $p = strposF($ret, '"title"');
     $p = strposF($ret, '"', $p);
     $f = strpos($ret, '"', $p);
     $titulo = substr($ret, $p, $f - $p);
     $titulo = limpiaTitulo($titulo);
     dbug('titulo=' . $titulo);
     //para las URL:
     //"url_smil": {"1": "http://medias.medici.tv/site/smil/20120822_full_en_1965_def_v2_low.mp4.smil", "3": "http://medias.medici.tv/site/smil/20120822_full_en_1965_def_v2_high.mp4.smil", "2": "http://medias.medici.tv/site/smil/20120822_full_en_1965_def_v2_mid.mp4.smil"}
     // Para url f4m válido agregar al final (&g=&hdcore=)
     if (enString($ret, 'manifest.f4m')) {
         $url_manifest = 'http://medicitvod' . entre1y2($ret, '"http://medicitvod', '"') . '&g=&hdcore=';
         dbug($url_manifest);
         $obtenido['enlaces'][] = array('url' => $url_manifest, 'tipo' => 'f4m', 'nombre_archivo' => generaNombreWindowsValido($titulo));
     } elseif (enString($ret, 'url_smil')) {
         $p2 = strpos($ret, '.mp4');
         $p1 = $p = 0;
         while ($p2 > $p1 && $p1 > -1) {
             $p1 = strpos($ret, '{', $p1 + 1);
             if ($p1 < $p2) {
                 $p = $p1;
             }
         }
         $f = strpos($ret, '}', $p);
         $URLs = substr($ret, $p, $f - $p);
         dbug($URLs);
         $videos = substr_count($URLs, '":');
         dbug('total videos=' . $videos);
         $calidades = array(3 => 'Calidad Alta', 2 => 'Calidad Media', 1 => 'Calidad Baja');
         for ($i = $videos; $i > 0; $i--) {
             //encontrar la url del archivo smil
             $p = strpos($URLs, '"' . $i . '"') + strlen('"' . $i . '"');
             $p = strposF($URLs, '"', $p);
             $f = strpos($URLs, '"', $p);
             $preURL_RTMP = substr($URLs, $p, $f - $p);
             dbug($URLs);
             //cambiar de rtmp a http
             $preURL_HTTP = substr($preURL_RTMP, 0, -1) . "0";
             $URL = $preURL_HTTP;
             $tipo = 'http';
             dbug($URL);
             if ($tipo == 'http') {
                 $obtenido['enlaces'][] = array('url' => $URL, 'tipo' => $tipo, 'url_txt' => $calidades[$i]);
             } else {
                 $obtenido['enlaces'][] = array('titulo' => $calidades[$i], 'url' => $URL, 'tipo' => $tipo);
             }
         }
     }
     $obtenido['titulo'] = $titulo;
     $obtenido['imagen'] = $imagen;
     finalCadena($obtenido);
 }
Exemple #11
0
 function calcula()
 {
     /*
     http://www.mundofox.com/videos/quien-mato-patricia-soler-22664
     https://player.ooyala.com/tframe.html?embedCode=FmZmowczoxwPru9zkOwKFWvZNW_K6JEH&amp;amp;pbid=81a5821a635845fb8f8a1368a9b402e9#sthash.NnkiKZi8.dpuf
     
     
     
     <script type="text/javascript" src="//player.ooyala.com/v3/81a5821a635845fb8f8a1368a9b402e9?tweaks=android-enable-hls"></script>
     http://player.ooyala.com/v3/81a5821a635845fb8f8a1368a9b402e9?tweaks=android-enable-hls
     OO.ready(function() { OO.Player.create('ooyalaplayer', 'FmZmowczoxwPru9zkOwKFWvZNW_K6JEH'); });
     "pcode":"NzYTAyOn6FTBAa0fo4wFfZoRHubJ"
     http://player.ooyala.com/player_api/v1/metadata/embed_code/81a5821a635845fb8f8a1368a9b402e9/FmZmowczoxwPru9zkOwKFWvZNW_K6JEH?videoPcode=NzYTAyOn6FTBAa0fo4wFfZoRHubJ&
     
     
     http://player.ooyala.com/info/primary/
     respuesta:
     Vhor0n+Xh0BdBhI8INdUxJNndoWEZ5zeDYXPKxCfyCAY+/WCAU9AcfZYdiSUD+3sLZ0LnZVK2cqr5MFQv/7EfsxyC+kw1R+s9HhpuzMVDJ6YOKDcwNA4VSgs8JV7Ke9Nph6jjOOykyngC092EmUuS6c7ByJFCL369xt+23hrpNLzZsmmFrnagF0cDZlQsvo2xhOln6A25C8P0UqZMPx6rsflbKp2gGuOVU8WiBvk9DaplKfbTNxHSD4JWlFYMm1ZwEtIEFxOsLKfSK+fNNDvf8W0jHG3uPo4uYfV/1Jqc24vKlWC/dcmzy8Z/5SHSRKdpAUQT9Ea2aibNGzORFi4OLLsceN9sHkfhqhu/OIDIsSwxQpz38vLFA==
     
     
     http://player.ooyala.com/nuplayer?embedCode=FmZmowczoxwPru9zkOwKFWvZNW_K6JEH&playerBrandingId=81a5821a635845fb8f8a1368a9b402e9
     respuesta:
     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
     z3sPNVelOaB0O8ugPt9f
     
     
     http://player.ooyala.com/sas/authorized?analytics_params=%7B%22pcode%22%3A%22NzYTAyOn6FTBAa0fo4wFfZoRHubJ%22%7D&device=WIN%2016%2C0%2C0%2C305&domain=www.mundofox.com&embed_code_list=FmZmowczoxwPru9zkOwKFWvZNW_K6JEH&parent_authorized=true&playerType=full&signature=dMPkmR3luQfoR1vpnXrIra3D04gA8AznaIKxrVTbSno&timestamp=1423361297617&token=AA-oI9kU1Dvf-0054d6c4d5-5xYuEbIJG1MKilRIiAxoWX.gksb9QkZhCUNEXxGs.04
     respuesta:
     Zz6FR1Eq4YsJ4/hhMwTUqqZ/Ej4Z4vTeBS1Qp8AjLl6NEu5qkvHA97oiEPdR
     8mGqNnneG5482VecYCob11IZQyTFDrHNTx6gM65fdZ36wg0RXNNVJpWxzZhQ
     ltFkBJW97gctNsp5m39ek10O3n148dScXzRz/lICStrwCdaVRXTTK2KX9Nch
     JtW+a+nRDoLQ1TomcsZJp5d5W6i3By60YyI6JzzrmBrfrxjSXQMEo6dwWbPF
     OYbZZ2KxNC4+0gXrlxEgNzjIsaKIlVnyKPMDKa6l5J46fy8bZHo5NjK2zgI3
     The0IXK36fPL4/WkEQ8csU0JPSmOTZ9AVHWEtNXiL+siy7fqijBHQYi3kAZ8
     6PkFDwDIh5kb5oLLZmxh/F+jn2c3reNm0ndpPgrMZf4fXuiPvcLLQR5ddCdt
     qVF8syD0YSEcLo1SYqd2DBdZeCQ6Zw4Q2oO9W5NEnGWhjwymhhnxweLmsMe5
     jnMMm+02p83enLJLa5LXbxBHOc8zVXsc+t9OgtLSUEYmKJ3T18WTn/V/px9/
     ToB+hG20u5Sj9dhOM07uoDy2VLVUs1fDM+q2uClCfiICZe91M9H36IF98ly6
     6x3vDStgADKhv0xBP85nxf5RRNBD/wp/pYSIykYwMrEDJIYyYXOM5ZoYr/hJ
     aWtLpQ5FwClHy4Us9NVNdMqFgPW7VjcCIe2H6xpt2KIL6jMK222NY6u4y/JZ
     37jJXlEoipfvrNiF/QQ9773demFMacC9GLX5S5W0CrM5k12tg4qfGdEACB0P
     WRosfMzJsg==
     
     
     Referer:	http://player.ooyala.com/static/cacheable/947272d312bbb31971ab9ee0b28b5a1f/player_v2.swf?player=81a5821a635845fb8f8a1368a9b402e9
     http://player.vimeo.com/external/117856376.hd.mp4?s=8c4b9b0d62db18eb3f0338b2b3963e43
     http://pdl.vimeocdn.com/96029/918/329902523.mp4?token2=1423375948_2fde98bab4d75f510ef74a6c2616aaf4&aksessionid=72878d8fc8ad2a274ca033ecb04904639c6912c41423361548
     
     
     
     
     
     http://player.ooyala.com/player.swf?player=81a5821a635845fb8f8a1368a9b402e9
     http://player.ooyala.com/static/cacheable/947272d312bbb31971ab9ee0b28b5a1f/player_v2.swf?player=81a5821a635845fb8f8a1368a9b402e9
     */
     //Código
     if (preg_match('#OO\\.ready\\(function\\(\\).*?\'ooyalaplayer\'.*?\'(.+?)\'#', $this->web_descargada, $matches)) {
         dbug_r($matches);
         $embedCode = $matches[1];
     } elseif (preg_match('#OO\\.Player\\.create\\(\'.+?\',\'(.+?)\'#', $this->web_descargada, $matches)) {
         dbug_r($matches);
         $embedCode = $matches[1];
     } else {
         setErrorWebIntera('No se pudo encontrar algún vídeo.');
         return;
     }
     $embedCode = trim($embedCode);
     if (preg_match('#player.ooyala.com/v3/(.+?)["\'\\?]#', $this->web_descargada, $matches)) {
         dbug_r($matches);
         $playerBrandingId = $matches[1];
     } else {
         setErrorWebIntera('No se pudo encontrar algún vídeo.');
         return;
     }
     $url = 'http://player.ooyala.com/nuplayer?autoplay=1&hide=all&embedCode=' . $embedCode;
     //$url = 'http://player.ooyala.com/nuplayer?embedCode='.$embedCode.'&playerBrandingId='.$playerBrandingId;
     $txt = CargaWebCurl($url);
     dbug_($txt);
     $res = ooyala_decrypt($txt);
     dbug_($res);
     $titulo = entre1y2($res, '<title>', '</');
     if (enString($res, 'previewImages')) {
         $imagen = entre1y2_a($res, 'previewImages', '<url>', '</');
     } else {
         preg_match('#<promo>.*:([a-zA-Z0-9]+?)<#', $res, $matches);
         dbug_r($matches);
         $imagen = entre1y2($res, '<shelfDomain>', '<') . '/' . $embedCode . '/' . $matches[1];
     }
     $obtenido = array('titulo' => $titulo, 'imagen' => $imagen, 'enlaces' => array());
     if (enString($res, '<flv_url>')) {
         $url = entre1y2($res, '<flv_url>', '</flv_url>');
         $obtenido['enlaces'][] = array('url' => $url, 'url_txt' => 'Descargar', 'tipo' => 'http');
     } else {
         $pcode = entre1y2($res, '<pcode>', '</pcode>');
         $url = 'http://player.ooyala.com/sas/player_api/v1/authorization/embed_code/' . $pcode . '/' . $embedCode . '?device=android-html5&domain=www.mundofox.com&supportedFormats=m3u8,mp4&profiles=&_=1407599471980';
         $txt = CargaWebCurlProxy($url, 'MX');
         dbug_($txt);
         $data = entre1y2($txt, '"data":"', '"');
         $m3u8 = base64_decode($data);
         //m3u8 downloade tiene un bug. Darle directamente el m3u8 que queremos
         $m3u8 = CargaWebCurl($m3u8);
         dbug_($m3u8);
         preg_match('#http[^\\r^\\n]*#', $m3u8, $matches);
         dbug_r($matches);
         $m3u8 = $matches[0];
         $obtenido['enlaces'][] = array('url' => $m3u8, 'nombre_archivo' => generaNombreWindowsValido($titulo) . '.mp4', 'tipo' => 'm3u8');
     }
     /*
     } else if (enString($res, '<httpDynamicStreamUrl>')) {
     	$f4m = entre1y2($res, '<httpDynamicStreamUrl>', '</httpDynamicStreamUrl>');
     
     	$obtenido['enlaces'][] = array(
     		'url'     => $f4m,
     		'nombre_archivo' => generaNombreWindowsValido($titulo) . '.mp4',
     		'tipo'    => 'f4m'
     	);
     }
     */
     finalCadena($obtenido);
 }
function generaInnerResultado()
{
    global $R, $R2;
    if ($R['BASE']['titulo'] == '') {
        $R['BASE']['titulo'] = 'Sin título';
    }
    if (isset($R['BASE']['imagen'])) {
        if ($R['BASE']['imagen'] == '') {
            $R['BASE']['imagen'] = '/img/picture_unrelated.jpg';
        }
    }
    $num = 0;
    foreach ($R['BASE']['enlaces'] as $res) {
        $url = isset($res['url']) ? $res['url'] : '';
        $rtmpdump = isset($res['rtmpdump']) ? $res['rtmpdump'] : '';
        $rtmpdumpHTTP = isset($res['rtmpdumpHTTP']) ? $res['rtmpdumpHTTP'] : '';
        $m3u8_pass = isset($res['m3u8_pass']) ? $res['m3u8_pass'] : '';
        $url_txt = isset($res['url_txt']) ? $res['url_txt'] : '';
        $extension = isset($res['extension']) ? $res['extension'] : '';
        $titulo = isset($res['titulo']) ? html_entity_decode($res['titulo']) : '';
        $otros_datos_mp3 = isset($res['otros_datos_mp3']) ? $res['otros_datos_mp3'] : '';
        $nombre_archivo = isset($res['nombre_archivo']) ? $res['nombre_archivo'] : '';
        $script = isset($res['script']) ? $res['script'] : '';
        dbug('$url=' . $url);
        dbug('$rtmpdump=' . $rtmpdump);
        dbug('$rtmpdumpHTTP=' . $rtmpdumpHTTP);
        dbug('$m3u8_pass='******'$url_txt=' . $url_txt);
        dbug('$extension=' . $extension);
        dbug('$titulo=' . $titulo);
        dbug('$otros_datos_mp3=' . $otros_datos_mp3);
        dbug('$nombre_archivo=' . $nombre_archivo);
        dbug('$script=' . $script);
        // Array temporal. Se genera por cada ciclo del foreach y se rellena con lo necesario para escribir la plantilla de resultados
        $R2 = array();
        if ($titulo) {
            $R2['dir_resultado'] = $titulo;
            include plantillaInclude('resultado_texto.php');
        }
        $aIncluir = '';
        //$tipo = "http" o "rtmp"
        if ($url) {
            switch ($res['tipo']) {
                case 'rtmp':
                    $aIncluir = plantillaInclude('resultado_rtmp.php');
                    if (!$extension) {
                        $extension = extraeExtension($url, '.');
                    }
                    break;
                case 'rtmpConcreto':
                    $aIncluir = plantillaInclude('resultado_rtmpConcreto.php');
                    if ($nombre_archivo === '') {
                        preg_match('@-o.*?"(.*?)"@i', $rtmpdump, $matches);
                        $nombre_archivo = generaNombreWindowsValido($matches ? $matches[1] : $titulo . '.mp4');
                    }
                    if (!$extension) {
                        $extension = extraeExtension($url, ".");
                    }
                    break;
                case 'rtmpConcretoHTTP':
                    $aIncluir = plantillaInclude('resultado_rtmpConcretoHTTP.php');
                    if ($nombre_archivo == '') {
                        $nombre_archivo = 'video.mp4';
                    }
                    if (!$extension) {
                        $extension = extraeExtension($url, '.');
                    }
                    break;
                case 'm3u8':
                    $aIncluir = plantillaInclude('resultado_m3u8.php');
                    if (!$extension) {
                        $extension = 'm3u8';
                    }
                    break;
                case 'f4m':
                    $aIncluir = plantillaInclude('resultado_f4m.php');
                    if (!$extension) {
                        $extension = 'f4m';
                    }
                    break;
                case 'js':
                    $aIncluir = plantillaInclude('resultado_js.php');
                    if (!$extension) {
                        $extension = 'mp4';
                    }
                    break;
                case 'jsFlash':
                    $aIncluir = plantillaInclude('resultado_jsFlash.php');
                    if (!$extension) {
                        $extension = 'mp4';
                    }
                    break;
                case 'srt':
                    $aIncluir = plantillaInclude('resultado_srt.php');
                    break;
                case 'http':
                default:
                    $aIncluir = plantillaInclude('resultado_url.php');
                    if (!$extension) {
                        $extension = extraeExtension($url, '.');
                    }
                    break;
            }
            if ($url_txt) {
                $url_txt = $url_txt;
            } else {
                $url_txt = $url;
            }
            global $lastID;
            if (!$lastID) {
                $lastID = 1;
            }
            $R2['dir_resultado'] = $url;
            $R2['dir_resultado_reproductor'] = urlencode($url);
            $R2['dir_resultado_txt'] = htmlentities2($url_txt, ENT_QUOTES);
            $R2['dir_resultado_rtmpdump_manual'] = $rtmpdump;
            $R2['dir_resultado_rtmpdump_manual_esc_doblecoma'] = htmlentities2($rtmpdump, ENT_QUOTES);
            $R2['dir_resultado_rtmpdumpHTTP'] = $rtmpdumpHTTP;
            $R2['dir_resultado_rtmpdumpHTTP_esc_doblecoma'] = htmlentities2($rtmpdumpHTTP, ENT_QUOTES);
            $R2['nombre_resultado_manual'] = $nombre_archivo;
            $R2['pass_m3u8'] = $m3u8_pass;
            $R2['extension_res'] = $extension;
            $R2['otros_datos_mp3'] = $otros_datos_mp3;
            $R2['num'] = $num;
            $R2['random_id'] = $lastID;
            $R2['script'] = $script;
            ++$lastID;
            ++$num;
            include $aIncluir;
        }
    }
}
Exemple #13
0
 function calcula()
 {
     $obtenido = array('enlaces' => array());
     if (enString($this->web_descargada, '<param name="publisherID"')) {
         $publisherId = entre1y2($this->web_descargada, '<param name="publisherID" value="', '"');
     }
     if (!isset($publisherId)) {
         setErrorWebIntera('No se ha encontrado ningún vídeo.');
         return;
     }
     if (enString($this->web_descargada, '<param name="@videoPlayer"')) {
         $contentId = entre1y2($this->web_descargada, '<param name="@videoPlayer" value="', '"');
     }
     if (!isset($contentId)) {
         setErrorWebIntera('No se ha encontrado ningún vídeo.');
         return;
     }
     if (enString($this->web_descargada, '<param name="playerID"')) {
         $experienceID = entre1y2($this->web_descargada, '<param name="playerID" value="', '"');
     }
     if (!isset($experienceID)) {
         setErrorWebIntera('No se ha encontrado ningún vídeo.');
         return;
     }
     dbug('$publisherId -> ' . $publisherId);
     dbug('$contentId -> ' . $contentId);
     dbug('experienceID = playerId -> ' . $experienceID);
     $messagebroker = 'http://c.brightcove.com/services/messagebroker/amf?playerId=' . $experienceID;
     include 'brightcove-funciones.php';
     /*
     $lol="AAMAAAABAEZjb20uYnJpZ2h0Y292ZS5leHBlcmllbmNlLkV4cGVyaWVuY2VSdW50aW1lRmFjYWRlLmdldERhdGFGb3JFeHBlcmllbmNlAAIvMQAAAcsKAAAAAgIAKDBhMGVmYTdhMTBjMTg2M2IyZjk5MmE2MGQ3MjJiYTlkNDExMzg4NGQRCmNjY29tLmJyaWdodGNvdmUuZXhwZXJpZW5jZS5WaWV3ZXJFeHBlcmllbmNlUmVxdWVzdCFjb250ZW50T3ZlcnJpZGVzE3BsYXllcktleRFUVExUb2tlbhlkZWxpdmVyeVR5cGUHVVJMGWV4cGVyaWVuY2VJZAkDAQqBA1Njb20uYnJpZ2h0Y292ZS5leHBlcmllbmNlLkNvbnRlbnRPdmVycmlkZRtmZWF0dXJlZFJlZklkFWNvbnRlbnRJZHMZY29udGVudFJlZklkF2NvbnRlbnRUeXBlDXRhcmdldBtjb250ZW50UmVmSWRzFWZlYXR1cmVkSWQTY29udGVudElkAQEBBAAGF3ZpZGVvUGxheWVyAQV/////4AAAAAVChKrndlYIAAYBBgEFf////+AAAAAGgTVodHRwOi8vd3d3LnRlbGVtYWRyaWQuZXMvcHJvZ3JhbWFzL21hZHJpbGVub3MtcG9yLWVsLW11bmRvL21hZHJpbGVub3MtcG9yLWVsLW11bmRvLXNpY2lsaWEFQjoHC+3hAAA=";
     
     print_r(brightcove_decode(base64_decode($lol)));
     */
     $a_encodear = array('target' => 'com.brightcove.experience.ExperienceRuntimeFacade.getDataForExperience', 'response' => '/1', 'data' => array('0' => '0a0efa7a10c1863b2f992a60d722ba9d4113884d', '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(base64_encode($post));
     
     $t = 'AAMAAAABAEZjb20uYnJpZ2h0Y292ZS5leHBlcmllbmNlLkV4cGVyaWVuY2VSdW50aW1lRmFjYWRlLmdldERhdGFGb3JFeHBlcmllbmNlAAIvMQAAAa8KAAAAAgIAKDBhMGVmYTdhMTBjMTg2M2IyZjk5MmE2MGQ3MjJiYTlkNDExMzg4NGQRCmNjY29tLmJyaWdodGNvdmUuZXhwZXJpZW5jZS5WaWV3ZXJFeHBlcmllbmNlUmVxdWVzdCFjb250ZW50T3ZlcnJpZGVzEVRUTFRva2VuGWRlbGl2ZXJ5VHlwZRNwbGF5ZXJLZXkHVVJMGWV4cGVyaWVuY2VJZAkDAQqBA1Njb20uYnJpZ2h0Y292ZS5leHBlcmllbmNlLkNvbnRlbnRPdmVycmlkZRtjb250ZW50UmVmSWRzF2NvbnRlbnRUeXBlFWZlYXR1cmVkSWQTY29udGVudElkDXRhcmdldBtmZWF0dXJlZFJlZklkFWNvbnRlbnRJZHMZY29udGVudFJlZklkAQQABX/////gAAAABUKMGgqQeggABhd2aWRlb1BsYXllcgEBAQYBBX/////gAAAABgEGf2h0dHA6Ly93d3cudGVsZW1hZHJpZC5lcy9wcm9ncmFtYXMvcnV0YS0xNzkvcnV0YS0xNzktbGEtY2FicmVyYQVCOgcL7eEAAA==';
     dbug_($t);
     $t = base64_decode($t);
     $t = brightcove_decode($t);
     //dbug_r($t);
     $t = brightcove_encode($t);
     dbug(base64_encode($t));
     $t = brightcove_decode($t);
     dbug_r($t);
     exit;
     */
     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();
     $publisherId = $base['publisherId'];
     $base2 = $base['programmedContent']['videoPlayer']->getAMFData();
     $base3 = $base2['mediaDTO']->getAMFData();
     $titulo = $base3['shortDescription'];
     $titulo = limpiaTitulo($titulo);
     $imagen = $base3['videoStillURL'];
     dbug('titulo = ' . $titulo);
     dbug('imagen = ' . $imagen);
     $mediaId = $base2['mediaId'];
     dbug('mediaId = ' . $mediaId);
     dbug('renditions');
     $renditions = $base3['renditions'];
     $t = $renditions[0]->getAMFData();
     if (enString($t['defaultURL'], '/hd/')) {
         // Modo url larga
         //http://telemadrid-f.akamaihd.net/hd/104403117001/201312/104403117001_2893,100922,090935,103695,001_6760d109-240a-432a-a857-f4434542ea55.mp4.csmil/bitrate=2?videoId=2892867548001&pubId=104403117001&playerId=111787372001&lineUpId=&affiliateId=&bandwidthEstimationTest=true&v=&fp=&r=&g=
         $finalURL = '.csmil/bitrate=2?videoId=' . $mediaId . '&pubId=' . $publisherId . '&playerId=' . $experienceID . '&v=&fp=&r=&g=';
         $aPartir = array();
         $URLBase = '';
         dbug('renditions');
         $renditions = $base3['renditions'];
         for ($i = 0, $i_t = count($renditions); $i < $i_t; $i++) {
             $temp = $renditions[$i]->getAMFData();
             $URLBase =& $temp['defaultURL'];
             $inicio = strposF($URLBase, '_');
             $final = strpos($URLBase, '_', $inicio);
             $n1 = substr($URLBase, $inicio, 5);
             $n2 = substr($URLBase, $inicio + 5, 5);
             $n3 = substr($URLBase, $inicio + 10, 3);
             $aPartir[] = substr($URLBase, $inicio, $final - $inicio);
         }
         dbug_r($aPartir);
         dbug('$URLBase => ' . $URLBase);
         $principio = substr($URLBase, 0, $inicio);
         $inicio2 = strpos($URLBase, '_', $inicio);
         $final = substr($URLBase, $inicio2);
         dbug('$principio => ' . $principio);
         dbug('$final => ' . $final);
         dbug('$finalURL => ' . $finalURL);
         //Se supone que todos son igual de largos. Los número separados por comas se formar a partir de el inicio común de todos como primer número, el final común como último número, y los intermedios son lo que cambia.
         /*
         Las siguientes son todas URL válidas:
         
         http://telemadridhdhd-f.akamaihd.net/hd/104403117001/104403117001_28405,62175,77044,77622,001_e9b9daed-e008-470c-b1d4-6463de1bb823.mp4.csmil/bitrate=2?videoId=2840532536001&lineUpId=&pubId=104403117001&playerId=111787372001&affiliateId=&bandwidthEstimationTest=true&v=3.1.0&fp=WIN%2011,9,900,170&r=PBMXA&g=DBNLQTFOYOHN
         http://telemadridhdhd-f.akamaihd.net/hd/104403117001/104403117001_284,05621750,05770440,05776220,01_e9b9daed-e008-470c-b1d4-6463de1bb823.mp4.csmil/bitrate=2?videoId=2840532536001&lineUpId=&pubId=104403117001&playerId=111787372001&affiliateId=&bandwidthEstimationTest=true&v=3.1.0&fp=WIN%2011,9,900,170&r=PBMXA&g=DBNLQTFOYOHN
         http://telemadridhdhd-f.akamaihd.net/hd/104403117001/104403117001_,2840562175001,2840577044001,2840577622001,_e9b9daed-e008-470c-b1d4-6463de1bb823.mp4.csmil/bitrate=2?videoId=2840532536001&lineUpId=&pubId=104403117001&playerId=111787372001&affiliateId=&bandwidthEstimationTest=true&v=3.1.0&fp=WIN%2011,9,900,170&r=PBMXA&g=DBNLQTFOYOHN
         */
         $obtenido['enlaces'] = array(array('url_txt' => 'Descargar', 'url' => $principio . ',' . implode(',', $aPartir) . ',' . $final . $finalURL, 'tipo' => 'http', 'extension' => 'mp4'));
     } else {
         $url = array('', 0);
         for ($i = 0, $i_t = count($renditions); $i < $i_t; $i++) {
             $temp = $renditions[$i]->getAMFData();
             if ($url[1] < $temp['encodingRate']) {
                 $url[0] = $temp['defaultURL'];
                 $url[1] = $temp['encodingRate'];
             }
         }
         dbug('$url => ' . $url[0]);
         /*
         rtmpdump
         -r "rtmp://telemadrid2-bc-od-flashfs.fplive.net:1935/telemadrid2-bc-od-flash?videoId=3712633770001&lineUpId=&pubId=104403117001&playerId=111787372001&affiliateId="
         -a "telemadrid2-bc-od-flash?videoId=3712633770001&lineUpId=&pubId=104403117001&playerId=111787372001&affiliateId="
         -f "WIN 14,0,0,145"
         -W "http://admin.brightcove.com/viewer/us20140807.1543/federatedVideoUI/BrightcovePlayer.swf?uid=1407518049436"
         -p "http://www.telemadrid.es/programas/aqui-en-madrid/aqui-en-madrid-04082014"
         -y "mp4:rtmp_uds/104403117001/201408/951/104403117001_3712803353001_d721fb63-a0b2-4ec6-a3cf-85641c726e34.mp4?videoId=3712633770001&lineUpId=&pubId=104403117001&playerId=111787372001&affiliateId="
         -o 104403117001_371280335
         3001_d721fb63-a0b2-4ec6-a3cf-85641c726e34.flv
         */
         /*
         $dominio = entre1y2($url[0], 'http://','/');
         dbug($dominio);
         //$url[0] = strtr($url[0], array($dominio => 'brightcove04.o.brightcove.com'));
         */
         $andpos = strpos($url[0], '&');
         $end = '?videoId=' . $mediaId . '&lineUpId=&pubId=' . $publisherId . '&playerId=' . $experienceID . '&affiliateId=';
         $r = substr($url[0], 0, $andpos);
         if ($r[strlen($r) - 1] === '/') {
             $r = substr($r, 0, strlen($r) - 1);
         }
         $obtenido['enlaces'] = array(array('url' => '-', 'rtmpdump' => '-r "' . $r . $end . '" ' . '-y "' . substr($url[0], $andpos + 1) . $end . '"', 'nombre_archivo' => generaNombreWindowsValido($titulo) . '.mp4', 'tipo' => 'rtmpConcreto', 'extension' => 'mp4'));
     }
     $obtenido['titulo'] = $titulo;
     $obtenido['imagen'] = $imagen;
     finalCadena($obtenido, false);
 }
Exemple #14
0
 function resuelveIDMetodo2($id, &$enlaces_array, &$titulo, &$imagen, $ignoraCaducados = false)
 {
     //http://www.tv3.cat/pvideo/FLV_bbd_media.jsp?ID=4048670&QUALITY=H&FORMAT=MP4
     $server2 = 'http://www.tv3.cat/pvideo/FLV_bbd_dadesItem.jsp?idint=' . $id;
     dbug('server2=' . $server2);
     $ret = CargaWebCurl($server2);
     dbug('obtenido=' . $ret);
     if (enString($ret, '<title>')) {
         //rectificar titulo
         dbug('rectificar titulo');
         //<h1>Amb Fidel, passi el que passi</h1>
         $titulo = entre1y2($ret, '<title>', '</');
         $titulo = utf8_encode($titulo);
         $titulo = limpiaTitulo($titulo);
         dbug('nuevo titulo=' . $titulo);
     }
     //<format>MP4GES</format>
     //PARA VIDEOS LIMITADOS
     //http://www.tv3.cat/pvideo/FLV_bbd_media.jsp?ID=3932951&QUALITY=H&FORMAT=MP4GES
     if (enString($ret, '<imgsrc>') && !isset($imagen)) {
         $p = strrposF($ret, '<imgsrc>');
         $f = strrpos($ret, '</imgsrc>', $p);
         $imagen = substr($ret, $p, $f - $p);
     }
     $formato = 'MP4';
     if (enString($ret, '<format>')) {
         //ENCUENTRA EL PRIMERO EN LA LISTA; NO EL MEJOR
         dbug('formato encontrado');
         $p = strrposF($ret, '<format>');
         $f = strrpos($ret, '</format>', $p);
         $formato = substr($ret, $p, $f - $p);
     }
     $server3 = 'http://www.tv3.cat/pvideo/FLV_bbd_media.jsp?' . 'ID=' . $id . '&QUALITY=H&FORMAT=' . $formato;
     dbug('server3=' . $server3);
     $server4 = 'http://www.tv3.cat/pvideo/FLV_bbd_media.jsp?' . 'ID=' . $id . '&QUALITY=H&PROFILE=APPMOB&FORMAT=' . $formato;
     dbug('server4=' . $server4);
     $ret = CargaWebCurl($server4);
     dbug('obtenido=');
     dbug_($ret);
     if (enString($ret, 'err.service.expired')) {
         if (!$ignoraCaducados) {
             setErrorWebIntera('El vídeo fue borrado de TV3');
         }
         return;
     } elseif (enString($ret, '<media')) {
         //a sacer el video. si falla la busqueda, entonces hay un error
         //<media videoname="La Costa Brava en caiac/Thalassa/13042012/BB_THALASS">
         //http://mp4-medium-dwn.media.tv3.cat/g/tvcatalunya/0/2/1394113435120.mp4
         //</media>
         $p = strrpos($ret, '<media');
         $ret = entre1y2_a($ret, $p, '>', '<');
         if (enString($ret, 'mp4:') || enString($ret, 'http://')) {
             dbug('urlFinal=' . $ret);
             if (strpos($ret, 'rtmp://') === 0) {
                 $ret = preg_replace('@rtmp://.*?mp4:(.*?)$@', 'http://mp4-medium-dwn.media.tv3.cat/$1', $ret);
                 dbug('urlFinal (mediante preg replace=' . $ret);
             }
             $enlaces_array[] = array('titulo' => 'Calidad media', 'url' => $ret, 'tipo' => 'http');
         }
     }
     $ret = CargaWebCurl($server3);
     dbug('obtenido=');
     dbug_($ret);
     if (enString($ret, '<media')) {
         //http://www.tv3.cat/feeds/videos/fitxaVideo.jsp?id=4874451&device=and-h&format=xml&version=1
         //a sacer el video. si falla la busqueda, entonces hay un error
         //<media videoname="La Costa Brava en caiac/Thalassa/13042012/BB_THALASS">
         //rtmp://mp4-500-str.tv3.cat/ondemand/mp4:g/tvcatalunya/2/2/1334322726322.mp4
         //</media>
         $p = strrpos($ret, '<media');
         $ret = entre1y2_a($ret, $p, '>', '<');
         if (enString($ret, 'mp4:')) {
             preg_match('@^(.*?/)(mp4:.*?)$@', $ret, $matches);
             dbug_r($matches);
             // 4/09/2012 metodo rectificado
             dbug('urlFinal=' . $ret);
             $enlaces_array[] = array('titulo' => 'Calidad alta', 'url' => $ret, 'rtmpdump' => '-r "' . $matches[1] . '" -y "' . $matches[2] . '" -o "' . generaNombreWindowsValido($titulo) . '.mp4"', 'tipo' => 'rtmpConcreto', 'extension' => 'mp4');
         } else {
             // 2/06/2014
             dbug('urlFinal=' . $ret);
             $ext = substr($ret, -3, 3);
             $enlaces_array[] = array('url' => $ret, 'rtmpdump' => '-r "' . $ret . '" -o "' . generaNombreWindowsValido($titulo) . '.' . $ext . '"', 'tipo' => 'rtmpConcreto', 'extension' => '.' . $ext);
         }
     }
 }