› Foros › Tecnología › Electrónica de consumo
juliojs escribió:osdMod_UMSP_pack_v0.81
juliojs escribió:
Gracias!
Lo ví en el sitio original hace un par de días y se me olvidó incluirlo...
http://forum.wdlxtv.com/viewtopic.php?f=53&t=1157
Para la próxima versión lo incluyo con las imágenes y el logo correspondiente, hoy ya no creo que me de tiempo...
Con tu permiso cambio el autor a "gpika" de wdlxtv.com y añado tu nick como autor de cambios en el idioma, ok?
Saludos!
ivanpd escribió:Hola perdon si esta respondido pero no veo nada en el inicio del post
He leido que el wd tv live ya no acepta mkv es asi? no hay alguna forma de hacer que lo coja de nuevo mediante downgrade o lo que sea. YA que voy a usar muchos mkv con el aparato
Gracias por als respuestas
ivanpd escribió:He leido que el wd tv live ya no acepta mkv es asi? no hay alguna forma de hacer que lo coja de nuevo mediante downgrade o lo que sea. YA que voy a usar muchos mkv con el aparato
Son Gokuu escribió:ivanpd escribió:Hola perdon si esta respondido pero no veo nada en el inicio del post
He leido que el wd tv live ya no acepta mkv es asi? no hay alguna forma de hacer que lo coja de nuevo mediante downgrade o lo que sea. YA que voy a usar muchos mkv con el aparato
Gracias por als respuestas
Ein? Primera noticia que tengo (y que me resulta harto rara)
rodas007 escribió:Pero quien a dicho tal cosa??Leeros un poco los hilos antes de postear,las nuevas peliculas que se ripean con el mkvmerge,tiene una pequeña incompativilidad con nuestro dispositivo y no funcionan,en un error que ya esta reportado y a esperar que se corriga y listo.
FreEkeR escribió:rodas007 escribió:Pero quien a dicho tal cosa??Leeros un poco los hilos antes de postear,las nuevas peliculas que se ripean con el mkvmerge,tiene una pequeña incompativilidad con nuestro dispositivo y no funcionan,en un error que ya esta reportado y a esperar que se corriga y listo.
Sip, cierto, venía a rectificar mi mensaje para poner lo del mkvmerge!
Total, solucionar estas películas lo haces en 5 minutos.... si llega!!
ivanpd escribió:FreEkeR escribió:rodas007 escribió:Pero quien a dicho tal cosa??Leeros un poco los hilos antes de postear,las nuevas peliculas que se ripean con el mkvmerge,tiene una pequeña incompativilidad con nuestro dispositivo y no funcionan,en un error que ya esta reportado y a esperar que se corriga y listo.
Sip, cierto, venía a rectificar mi mensaje para poner lo del mkvmerge!
Total, solucionar estas películas lo haces en 5 minutos.... si llega!!
PEro lo que tienes que hacer es pasarle el programa a la pelicula y ya estaria, sería como recodificar la peli de nuevo, se tardaria mas de 5 minutos, no?
soymicmic escribió:Total, la pregunta: ¿puedo ponerla fija? Por cierto, me conecto por cable.
netamego escribió:Hola,
Tras diversas pruebas lo pongo aquí por si a alguien le sirve de algo.
Con las series no me pasa casi, solo con algunos capítulos y siempre con los mismos, no es aleatorio.
Con las pelis me pasa con prácticamente todas. Me de igual cinetube que yonkis que peliculas21 etc.
El síntoma es que se queda el circulito azul dando vueltas y la película no se inicia.
Tras quitar el autoframe rate (config_tool -c AUTORES=OFF), los problemas han desaparecido como por arte de magia.
Parece que el AUTORES lanza por debajo el ffmpeg y hay con ciertos videos que se queda tostado.
Muchas gracias a todos especialmente a julius,kito,puma os lo estais currando mucho. gracias de verdad!!!!
<?php
function _pluginMain($prmQuery) {
# If the DREAMBOX_HOSTNAME is not defined, the whole
# plugin is not visible in the menu
if (file_exists('/conf/config')) {
$config = file_get_contents('/conf/config');
if(preg_match('/DREAMBOX_HOSTNAME=\'(.+)\'/', $config, $results)) {
$dreamboxAddress = $results[1];
}
}
# Do we have a bouquet as the parameter?
$queryData = array();
parse_str($prmQuery, $queryData);
if ($queryData['bouquet'] != '') {
$bouquet = $queryData['bouquet'];
} else {
$bouquet = '';
}
# No, we need to ask for the list of bouquets
if ( $bouquet == '' ) {
# Get all bouquets
$dreamboxBouquetsUrl = 'web/getservices';
$reader = new XMLReader();
$bouquetsXML = file_get_contents('http://' . $dreamboxAddress . '/' . $dreamboxBouquetsUrl);
$reader->XML($bouquetsXML);
while ($reader->read()) {
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1service')) {
#
# Read e1service child nodes until end
#
do {
$reader->read();
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicereference')) {
$newBouquet['sref'] = $reader->readString();
}
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicename')) {
$newBouquet['title'] = utf8_decode($reader->readString());
}
} while (!(($reader->nodeType == XMLReader::END_ELEMENT) && ($reader->localName == 'e1service')));
#
# New bouquet item parsed. Now add as media item:
#
$retMediaItems[] = array (
'id' => 'umsp://plugins/dreambox-channels?bouquet=' . $newBouquet['sref'],
'dc:title' => $newBouquet['title'],
'upnp:class' => 'object.container'
);
} # end if
} #end while
# If there's just one bouquet, jump directly into the bouquet contents
# Othervise show the bouquet list
if ( count($retMediaItems) == 1 ) {
return _pluginMain('bouquet=' . $newBouquet['sref']);
} else {
return $retMediaItems;
}
} else {
# We have a bouquet sRef as a parameter -> list all channels in that bouquet
# $bouquet looks like '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET \"userbouquet.favourites.tv\" ORDER BY bouquet',
# but we should feed it in as '1:7:1:0:0:0:0:0:0:0:FROM%20BOUQUET%20%22userbouquet.favourites.tv%22%20ORDER%20BY%20bouquet'
$dreamboxServiceUrl = 'web/getservices?sRef=' . str_replace('\\"', "%22", str_replace(" ", "%20", $bouquet));
$reader = new XMLReader();
$channellistXML = file_get_contents('http://' . $dreamboxAddress . '/' . $dreamboxServiceUrl);
$reader->XML($channellistXML);
while ($reader->read()) {
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1service')) {
#
# Read channelinfo child nodes until end
#
do {
$reader->read();
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicereference')) {
$newChannel['id'] = $reader->readString();
}
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicename')) {
$newChannel['title'] = $reader->readString();
}
} while (!(($reader->nodeType == XMLReader::END_ELEMENT) && ($reader->localName == 'e1service')));
#
# New channelinfo item parsed. Now add as media item:
#
$retMediaItems[] = array (
'id' => $newChannel['id'],
'res' => 'http://localhost/umsp/plugins/dreambox-proxy.php?itemUrl=http://' . $dreamboxAddress . ':8001/' . $newChannel['id'],
'dc:title' => $newChannel['title'],
'upnp:class' => 'object.item.videoitem',
# picons should be under /usr/lib/enigma1/python/Plugins/Extensions/WebInterface/web-data/streampage on the Dreambox
'upnp:album_art' => 'http://' . $dreamboxAddress . '/web-data/streampage/' . rawurlencode($newChannel['title']) . '.png',
'protocolInfo' => '*:*:*:*'
);
} # end if
} # end while
return $retMediaItems;
} # end if
}
?>
<?php
#------------------------------------------
# Plugin para WDTV Live
# Enlace a pelis de la web PeliculasYonkis.com
#
# @author kito0791
# @version 0.4
# @date 25/08/2010
#
# @author kito0791 - Añadida decodificación para enlaces a megavideo cuando una peli tiene más de una parte (antes esos enlaces no funcionaban)
# @date 27/08/2010
# @author juliojs - Añadidas carátulas de Xzener (http://community.mediabrowser.tv/permalinks/1436/xzener-s-fanart-collection).
# - Añadidos iconos de megavideo y megaupload.
# @date 04/09/2010
# @author kito0791 - Añadida información sobre la película, calidas, idioma, formato
# - Cambio en numeración de los enlaces, ahora creo que es más comprensible.
# - Añadida decodificación para enlaces a megaupload cuando una peli tiene más de una parte
# @date 07/09/2010
#
# Nota: la web solo te muestra 12 resultados de búsqueda
#------------------------------------------
function unescape($cadena_entrada)
{
$cadena_salida="";
$longitud=strlen($cadena_entrada);
if(($longitud%3)==0)
for($i=0; $i<$longitud; $i+=3) $cadena_salida.=chr(hexdec(substr($cadena_entrada,$i+1,2)));
return $cadena_salida;
}
function decodificar($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 141;
$f = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
if ($i == $longitud-1) $f -= 7;
else if ($i > 0) $f -= ($i * 2) + 2;
$cadena_salida.= chr($f);
$d += $i + 1;
}
return $cadena_salida;
}
function decodificar2($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 140;
$f = 0;
$b = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
if ($i == $longitud-1) $f -= 5;
else if ($i > 0)
{ $b = $i*3;
while ($b>25) $b -= 4;
$f -= $b+ 1;
}
$cadena_salida.= chr($f);
}
return $cadena_salida;
}
function decoMegaup($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 254;
$f = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
$cadena_salida.= chr($f);
}
return $cadena_salida;
}
function _pluginMain($prmQuery) {
$queryData = array();
parse_str($prmQuery, $queryData);
if ($queryData['category_url'] !='') {
$items = _pluginCreateMovieItems($queryData['category_url']);
return $items;
} elseif ($queryData['movie_url'] !='') {
$items = _pluginCreateVideoItems($queryData['movie_url']);
return $items;
} elseif ($queryData['general_url'] !='') {
if (preg_match('/listadoA/',$queryData['general_url'])) $items = _pluginCreateCategoryList();
else $items = _pluginCreateListItems($queryData['general_url']);
return $items;
} else {
$items = _pluginCreateGeneralList();
return $items;
}
}
function _pluginSearch($prmQuery) {
preg_match('/and dc:title contains "(.*?)"/', $prmQuery, $searchstring);
if ( isset($searchstring[1]) ) {
$cadena = 'http://www.peliculasyonkis.com/buscarPelicula.php?s='.$searchstring[1];
$items = _pluginCreateMovieItems($cadena);
return $items;
} else {
return null;
}
}
function _pluginCreateGeneralList() {
$categories = array(
array ( 'nombre' => 'Estrenos Cartelera',
'ico' => 'http://i53.tinypic.invalid/20zsiuh.jpg',
'genero' => 'cartelera/' ),
array ( 'nombre' => 'Estrenos DVD',
'ico' => 'http://i55.tinypic.invalid/23t2iap.jpg',
'genero' => 'estrenos-dvd/' ),
array ( 'nombre' => 'Nuevas en la Web',
'ico' => 'http://i52.tinypic.invalid/f4faqo.jpg',
'genero' => 'estrenos-web/' ),
array ( 'nombre' => 'Actualizadas',
'ico' => 'http://i52.tinypic.invalid/fk6zdh.jpg',
'genero' => 'actualizadas/' ),
array ( 'nombre' => 'Listado Alfabético',
'ico' => 'http://i53.tinypic.invalid/2rctwn6.jpg',
'genero' => 'listadoA' ),
);
for ($row = 0; $row < 5; $row++) {
foreach ($categories[$row] as $name => $id) {
$url = "http://www.peliculasyonkis.com/ultimas-peliculas/" . $categories[$row]["genero"] . "/";
}
$data = array(
'general_url' => $url
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($categories[$row]["nombre"],0,"UTF-8"),
'upnp:album_art'=> $categories[$row]["ico"],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateCategoryList() {
$categories = array(
array ( 'nombre' => '0-9',
'ico' => 'http://i53.tinypic.invalid/11azl2a.jpg',
'genero' => 'listaPeliculasNumeric.php' ),
array ( 'nombre' => 'A',
'ico' => 'http://i55.tinypic.invalid/1g6nps.jpg',
'genero' => 'listaPeliculasA.php' ),
array ( 'nombre' => 'B',
'ico' => 'http://i55.tinypic.invalid/f1z9k7.jpg',
'genero' => 'listaPeliculasB.php' ),
array ( 'nombre' => 'C',
'ico' => 'http://i55.tinypic.invalid/igequr.jpg',
'genero' => 'listaPeliculasC.php' ),
array ( 'nombre' => 'D',
'ico' => 'http://i55.tinypic.invalid/312ctvs.jpg',
'genero' => 'listaPeliculasD.php' ),
array ( 'nombre' => 'E',
'ico' => 'http://i56.tinypic.invalid/1zr16v6.jpg',
'genero' => 'listaPeliculasE.php' ),
array ( 'nombre' => 'F',
'ico' => 'http://i51.tinypic.invalid/2i23n1x.jpg',
'genero' => 'listaPeliculasF.php' ),
array ( 'nombre' => 'G',
'ico' => 'http://i55.tinypic.invalid/90adll.jpg',
'genero' => 'listaPeliculasG.php' ),
array ( 'nombre' => 'H',
'ico' => 'http://i51.tinypic.invalid/o55c9l.jpg',
'genero' => 'listaPeliculasH.php' ),
array ( 'nombre' => 'I',
'ico' => 'http://i53.tinypic.invalid/u101l.jpg',
'genero' => 'listaPeliculasI.php' ),
array ( 'nombre' => 'J',
'ico' => 'http://i55.tinypic.invalid/se4kye.jpg',
'genero' => 'listaPeliculasJ.php' ),
array ( 'nombre' => 'K',
'ico' => 'http://i55.tinypic.invalid/2i1z3ic.jpg',
'genero' => 'listaPeliculasK.php' ),
array ( 'nombre' => 'L',
'ico' => 'http://i51.tinypic.invalid/28bz9t4.jpg',
'genero' => 'listaPeliculasL.php' ),
array ( 'nombre' => 'M',
'ico' => 'http://i53.tinypic.invalid/12383s8.jpg',
'genero' => 'listaPeliculasM.php' ),
array ( 'nombre' => 'N',
'ico' => 'http://i55.tinypic.invalid/2e4c381.jpg',
'genero' => 'listaPeliculasN.php' ),
array ( 'nombre' => 'O',
'ico' => 'http://i56.tinypic.invalid/2mzwm6s.jpg',
'genero' => 'listaPeliculasO.php' ),
array ( 'nombre' => 'P',
'ico' => 'http://i54.tinypic.invalid/2qn62s1.jpg',
'genero' => 'listaPeliculasP.php' ),
array ( 'nombre' => 'Q',
'ico' => 'http://i53.tinypic.invalid/ngabdi.jpg',
'genero' => 'listaPeliculasQ.php' ),
array ( 'nombre' => 'R',
'ico' => 'http://i53.tinypic.invalid/xc24qs.jpg',
'genero' => 'listaPeliculasR.php' ),
array ( 'nombre' => 'S',
'ico' => 'http://i51.tinypic.invalid/iy1k5g.jpg',
'genero' => 'listaPeliculasS.php' ),
array ( 'nombre' => 'T',
'ico' => 'http://i52.tinypic.invalid/2v325uh.jpg',
'genero' => 'listaPeliculasT.php' ),
array ( 'nombre' => 'U',
'ico' => 'http://i53.tinypic.invalid/24y0fm9.jpg',
'genero' => 'listaPeliculasU.php' ),
array ( 'nombre' => 'V',
'ico' => 'http://i55.tinypic.invalid/29erke9.jpg',
'genero' => 'listaPeliculasV.php' ),
array ( 'nombre' => 'W',
'ico' => 'http://i56.tinypic.invalid/2lucqh0.jpg',
'genero' => 'listaPeliculasW.php' ),
array ( 'nombre' => 'X',
'ico' => 'http://i52.tinypic.invalid/2ci9151.jpg',
'genero' => 'listaPeliculasX.php' ),
array ( 'nombre' => 'Y',
'ico' => 'http://i55.tinypic.invalid/14c6zo0.jpg',
'genero' => 'listaPeliculasY.php' ),
array ( 'nombre' => 'Z',
'ico' => 'http://i56.tinypic.invalid/28l7z2d.jpg',
'genero' => 'listaPeliculasZ.php' ),
);
for ($row = 0; $row < 27; $row++) {
foreach ($categories[$row] as $name => $id) {
$url = "http://www.peliculasyonkis.com/lista-peliculas/" . $categories[$row]["genero"] . "/";
}
$data = array(
'category_url' => $url
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($categories[$row]["nombre"],0,"UTF-8"),
'upnp:album_art'=> $categories[$row]["ico"],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateMovieItems($url) {
$html = file_get_contents($url);
preg_match_all('/<a href="(.*?)" title="(.*?)"><img width="77" height="110" src="(.*?)" alt/',$html,$title);
if (empty($title[1])) break;
for ($z = 0; $z < sizeof($title[1]); $z++) {
if ($search == 'search') { $titulo = $title[2][$z]; $direccion = $title[1][$z]; $caratula = $title[3][$z];}
else { $titulo = $title[2][$z]; $direccion = $title[1][$z]; $caratula = $title[3][$z];};
$data = array(
'movie_url' => $direccion
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($titulo,0,"UTF-8"),
'upnp:album_art'=> $caratula,
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateListItems($url) {
$html = file_get_contents($url);
$cuantos = preg_match_all('/<a href="(.*?)" title="(.*?)"><img width=\'100\' height=\'144\' src=\'(.*?)\' alt/',$html,$datos);
for ($z = 0; $z < $cuantos; $z++) {
$data = array(
'movie_url' => $datos[1][$z]
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($datos[2][$z],0,"UTF-8"),
'upnp:album_art'=> $datos[3][$z],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateVideoItems($url) {
$html = file_get_contents($url);
$cuantos = preg_match_all('/alt="Megavideo" (.*?) href="(.*?)&id=(.*?)" target="peli">/',$html,$megavid);
preg_match('/<li>Nombre de la pelicula: <b>(.*?)</',$html,$title);
preg_match_all("/\/q\/(.*?)' alt='(.*?)' style='vertical-align: middle;' \/><\/span>/",$html,$quality);
preg_match_all("/Duraci(.*?)n: (.*?)<br \/><b>(.*?)<\/b>/",$html,$formato);
preg_match_all('/\/f\/(.*?)" alt="(.*?)" style="vertical-align: middle;" \/><\/div>/',$html,$language);
if (file_exists('/conf/config')) {
$config = file_get_contents('/conf/config');
if(preg_match('/MEGA_AUTH=\'(.+)\'/', $config, $config_result)) {
$auth = $config_result[1];
preg_match_all('/id=(.*?)" title="Descargar archivo"/',$html,$megaup);
}
}
for ($i = 0; $i < $cuantos; $i++) {
$partes = explode("&al=", $megavid[3][$i]);
if (strlen($partes[0])== 51) $partes = explode(":", decodificar2(unescape($partes[0])));
for ($z = 0; $z < sizeof($partes); $z++)
{
$part = (sizeof($partes) > 1) ? "/".($z+1) : "";
if (sizeof($partes)>1) $auxiliar = $partes[$z];
else $auxiliar = decodificar(unescape($partes[$z]));
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $auxiliar,
'dc:title' => html_entity_decode($title[1],0,"UTF-8") . " (" . html_entity_decode($quality[2][$i],0,"UTF-8") . " " . html_entity_decode($formato[3][$i],0,"UTF-8") . " " . html_entity_decode($language[2][$i],0,"UTF-8") . ") (Megavideo #" . ($i+1) . $part . ")",
'res' => "http://localhost/umsp/plugins/megavideo-proxy.php?id=" . $auxiliar,
'upnp:class' => 'object.item.videoitem',
'upnp:album_art'=> 'http://i34.tinypic.invalid/t53qbr.jpg',
'protocolInfo' => '*:*:*:*'
);
}
}
$opts = array(
'http' => array(
'method' => "HEAD",
'max_redirects' => '0',
'header' => 'Cookie: user=' . $auth . "\r\n"
)
);
$context = stream_context_create($opts);
for ($i = 0; $i < sizeof($megaup[1]); $i++)
{
$partes = explode(":",decoMegaup(unescape($megaup[1][$i])));
for ($z = 0; $z < sizeof($partes); $z++)
{
$part = (sizeof($partes) > 1) ? "/".($z+1) : "";
$auxiliar = $partes[$z];
$getHeaders = @file_get_contents("http://www.megaupload.com/?d=" . $auxiliar, false, $context);
if (preg_match('/ocation: (.+)/',$http_response_header[3],$res)) {
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $auxiliar,
'dc:title' => html_entity_decode($title[1],0,"UTF-8") . " (" . html_entity_decode($quality[2][$cuantos+$i],0,"UTF-8"). " " . html_entity_decode($formato[3][$i+$cuantos],0,"UTF-8") . " " . html_entity_decode($language[2][$i+$cuantos],0,"UTF-8") . ") (Megaupload #" . ($i+1) . $part . ")",
'res' => $res[1],
'upnp:class' => 'object.item.videoitem',
'upnp:album_art'=> 'http://i36.tinypic.invalid/332w29c.jpg',
'protocolInfo' => '*:*:*:*'
);
}
}
}
return $retMediaItems;
}
?>
kito0791 escribió:¡Buenos días!
Nueva revisión de peliculasyonkis.php
Cambios
A disfrutarla
kito0791 escribió:¡Buenos días!
Nueva revisión de peliculasyonkis.php
Cambios
...
A disfrutarla
kito0791 escribió:¡Buenos días!
Nueva revisión de peliculasyonkis.php
Cambios
A disfrutarla
<?php
#------------------------------------------
# Plugin para WDTV Live
# Enlace a pelis de la web PeliculasYonkis.com
#
# @author kito0791
# @version 0.4
# @date 25/08/2010
#
# @author kito0791 - Añadida decodificación para enlaces a megavideo cuando una peli tiene más de una parte (antes esos enlaces no funcionaban)
# @date 27/08/2010
# @author juliojs - Añadidas carátulas de Xzener (http://community.mediabrowser.tv/permalinks/1436/xzener-s-fanart-collection).
# - Añadidos iconos de megavideo y megaupload.
# @date 04/09/2010
# @author kito0791 - Añadida información sobre la película, calidas, idioma, formato
# - Cambio en numeración de los enlaces, ahora creo que es más comprensible.
# - Añadida decodificación para enlaces a megaupload cuando una peli tiene más de una parte
# @date 07/09/2010
#
# Nota: la web solo te muestra 12 resultados de búsqueda
#------------------------------------------
function unescape($cadena_entrada)
{
$cadena_salida="";
$longitud=strlen($cadena_entrada);
if(($longitud%3)==0)
for($i=0; $i<$longitud; $i+=3) $cadena_salida.=chr(hexdec(substr($cadena_entrada,$i+1,2)));
return $cadena_salida;
}
function decodificar($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 141;
$f = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
if ($i == $longitud-1) $f -= 7;
else if ($i > 0) $f -= ($i * 2) + 2;
$cadena_salida.= chr($f);
$d += $i + 1;
}
return $cadena_salida;
}
function decodificar2($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 140;
$f = 0;
$b = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
if ($i == $longitud-1) $f -= 5;
else if ($i > 0)
{ $b = $i*3;
while ($b>25) $b -= 4;
$f -= $b+ 1;
}
$cadena_salida.= chr($f);
}
return $cadena_salida;
}
function decoMegaup($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 254;
$f = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
$cadena_salida.= chr($f);
}
return $cadena_salida;
}
function _pluginMain($prmQuery) {
$queryData = array();
parse_str($prmQuery, $queryData);
if ($queryData['category_url'] !='') {
$items = _pluginCreateMovieItems($queryData['category_url']);
return $items;
} elseif ($queryData['movie_url'] !='') {
$items = _pluginCreateVideoItems($queryData['movie_url']);
return $items;
} elseif ($queryData['general_url'] !='') {
if (preg_match('/listadoA/',$queryData['general_url'])) $items = _pluginCreateCategoryList();
else $items = _pluginCreateListItems($queryData['general_url']);
return $items;
} else {
$items = _pluginCreateGeneralList();
return $items;
}
}
function _pluginSearch($prmQuery) {
preg_match('/and dc:title contains "(.*?)"/', $prmQuery, $searchstring);
if ( isset($searchstring[1]) ) {
$cadena = 'http://www.peliculasyonkis.com/buscarPelicula.php?s='.$searchstring[1];
$items = _pluginCreateMovieItems($cadena);
return $items;
} else {
return null;
}
}
function _pluginCreateGeneralList() {
$categories = array(
array ( 'nombre' => 'Estrenos Cartelera',
'ico' => 'http://i53.tinypic.invalid/20zsiuh.jpg',
'genero' => 'cartelera/' ),
array ( 'nombre' => 'Estrenos DVD',
'ico' => 'http://i55.tinypic.invalid/23t2iap.jpg',
'genero' => 'estrenos-dvd/' ),
array ( 'nombre' => 'Nuevas en la Web',
'ico' => 'http://i52.tinypic.invalid/f4faqo.jpg',
'genero' => 'estrenos-web/' ),
array ( 'nombre' => 'Actualizadas',
'ico' => 'http://i52.tinypic.invalid/fk6zdh.jpg',
'genero' => 'actualizadas/' ),
array ( 'nombre' => 'Listado Alfabético',
'ico' => 'http://i53.tinypic.invalid/2rctwn6.jpg',
'genero' => 'listadoA' ),
);
for ($row = 0; $row < 5; $row++) {
foreach ($categories[$row] as $name => $id) {
$url = "http://www.peliculasyonkis.com/ultimas-peliculas/" . $categories[$row]["genero"] . "/";
}
$data = array(
'general_url' => $url
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($categories[$row]["nombre"],0,"UTF-8"),
'upnp:album_art'=> $categories[$row]["ico"],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateCategoryList() {
$categories = array(
array ( 'nombre' => '0-9',
'ico' => 'http://i53.tinypic.invalid/11azl2a.jpg',
'genero' => 'listaPeliculasNumeric.php' ),
array ( 'nombre' => 'A',
'ico' => 'http://i55.tinypic.invalid/1g6nps.jpg',
'genero' => 'listaPeliculasA.php' ),
array ( 'nombre' => 'B',
'ico' => 'http://i55.tinypic.invalid/f1z9k7.jpg',
'genero' => 'listaPeliculasB.php' ),
array ( 'nombre' => 'C',
'ico' => 'http://i55.tinypic.invalid/igequr.jpg',
'genero' => 'listaPeliculasC.php' ),
array ( 'nombre' => 'D',
'ico' => 'http://i55.tinypic.invalid/312ctvs.jpg',
'genero' => 'listaPeliculasD.php' ),
array ( 'nombre' => 'E',
'ico' => 'http://i56.tinypic.invalid/1zr16v6.jpg',
'genero' => 'listaPeliculasE.php' ),
array ( 'nombre' => 'F',
'ico' => 'http://i51.tinypic.invalid/2i23n1x.jpg',
'genero' => 'listaPeliculasF.php' ),
array ( 'nombre' => 'G',
'ico' => 'http://i55.tinypic.invalid/90adll.jpg',
'genero' => 'listaPeliculasG.php' ),
array ( 'nombre' => 'H',
'ico' => 'http://i51.tinypic.invalid/o55c9l.jpg',
'genero' => 'listaPeliculasH.php' ),
array ( 'nombre' => 'I',
'ico' => 'http://i53.tinypic.invalid/u101l.jpg',
'genero' => 'listaPeliculasI.php' ),
array ( 'nombre' => 'J',
'ico' => 'http://i55.tinypic.invalid/se4kye.jpg',
'genero' => 'listaPeliculasJ.php' ),
array ( 'nombre' => 'K',
'ico' => 'http://i55.tinypic.invalid/2i1z3ic.jpg',
'genero' => 'listaPeliculasK.php' ),
array ( 'nombre' => 'L',
'ico' => 'http://i51.tinypic.invalid/28bz9t4.jpg',
'genero' => 'listaPeliculasL.php' ),
array ( 'nombre' => 'M',
'ico' => 'http://i53.tinypic.invalid/12383s8.jpg',
'genero' => 'listaPeliculasM.php' ),
array ( 'nombre' => 'N',
'ico' => 'http://i55.tinypic.invalid/2e4c381.jpg',
'genero' => 'listaPeliculasN.php' ),
array ( 'nombre' => 'O',
'ico' => 'http://i56.tinypic.invalid/2mzwm6s.jpg',
'genero' => 'listaPeliculasO.php' ),
array ( 'nombre' => 'P',
'ico' => 'http://i54.tinypic.invalid/2qn62s1.jpg',
'genero' => 'listaPeliculasP.php' ),
array ( 'nombre' => 'Q',
'ico' => 'http://i53.tinypic.invalid/ngabdi.jpg',
'genero' => 'listaPeliculasQ.php' ),
array ( 'nombre' => 'R',
'ico' => 'http://i53.tinypic.invalid/xc24qs.jpg',
'genero' => 'listaPeliculasR.php' ),
array ( 'nombre' => 'S',
'ico' => 'http://i51.tinypic.invalid/iy1k5g.jpg',
'genero' => 'listaPeliculasS.php' ),
array ( 'nombre' => 'T',
'ico' => 'http://i52.tinypic.invalid/2v325uh.jpg',
'genero' => 'listaPeliculasT.php' ),
array ( 'nombre' => 'U',
'ico' => 'http://i53.tinypic.invalid/24y0fm9.jpg',
'genero' => 'listaPeliculasU.php' ),
array ( 'nombre' => 'V',
'ico' => 'http://i55.tinypic.invalid/29erke9.jpg',
'genero' => 'listaPeliculasV.php' ),
array ( 'nombre' => 'W',
'ico' => 'http://i56.tinypic.invalid/2lucqh0.jpg',
'genero' => 'listaPeliculasW.php' ),
array ( 'nombre' => 'X',
'ico' => 'http://i52.tinypic.invalid/2ci9151.jpg',
'genero' => 'listaPeliculasX.php' ),
array ( 'nombre' => 'Y',
'ico' => 'http://i55.tinypic.invalid/14c6zo0.jpg',
'genero' => 'listaPeliculasY.php' ),
array ( 'nombre' => 'Z',
'ico' => 'http://i56.tinypic.invalid/28l7z2d.jpg',
'genero' => 'listaPeliculasZ.php' ),
);
for ($row = 0; $row < 27; $row++) {
foreach ($categories[$row] as $name => $id) {
$url = "http://www.peliculasyonkis.com/lista-peliculas/" . $categories[$row]["genero"] . "/";
}
$data = array(
'category_url' => $url
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($categories[$row]["nombre"],0,"UTF-8"),
'upnp:album_art'=> $categories[$row]["ico"],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateMovieItems($url) {
$html = file_get_contents($url);
preg_match_all('/<a href="(.*?)" title="(.*?)"><img width="77" height="110" src="(.*?)" alt/',$html,$title);
if (empty($title[1])) break;
for ($z = 0; $z < sizeof($title[1]); $z++) {
if ($search == 'search') { $titulo = $title[2][$z]; $direccion = $title[1][$z]; $caratula = $title[3][$z];}
else { $titulo = $title[2][$z]; $direccion = $title[1][$z]; $caratula = $title[3][$z];};
$data = array(
'movie_url' => $direccion
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($titulo,0,"UTF-8"),
'upnp:album_art'=> $caratula,
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateListItems($url) {
$html = file_get_contents($url);
$cuantos = preg_match_all('/<a href="(.*?)" title="(.*?)"><img width=\'100\' height=\'144\' src=\'(.*?)\' alt/',$html,$datos);
for ($z = 0; $z < $cuantos; $z++) {
$data = array(
'movie_url' => $datos[1][$z]
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($datos[2][$z],0,"UTF-8"),
'upnp:album_art'=> $datos[3][$z],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateVideoItems($url) {
$html = file_get_contents($url);
$cuantos = preg_match_all('/alt="Megavideo" (.*?) href="(.*?)&id=(.*?)" target="peli">/',$html,$megavid);
preg_match('/<li>Nombre de la pelicula: <b>(.*?)</',$html,$title);
preg_match_all("/\/q\/(.*?)' alt='Buena(.*?)' style='vertical-align: middle;' \/><\/span>/",$html,$quality);
preg_match_all("/Duraci(.*?)n: (.*?)<br \/><b>(.*?)<\/b>/",$html,$formato);
preg_match_all('/\/f\/(.*?)" alt="(.*?)" style="vertical-align: middle;" \/><\/div>/',$html,$language);
if (file_exists('/conf/config')) {
$config = file_get_contents('/conf/config');
if(preg_match('/MEGA_AUTH=\'(.+)\'/', $config, $config_result)) {
$auth = $config_result[1];
preg_match_all('/id=(.*?)" title="Descargar archivo"/',$html,$megaup);
}
}
for ($i = 0; $i < $cuantos; $i++) {
$partes = explode("&al=", $megavid[3][$i]);
if (strlen($partes[0])== 51) $partes = explode(":", decodificar2(unescape($partes[0])));
for ($z = 0; $z < sizeof($partes); $z++)
{
$part = (sizeof($partes) > 1) ? "/".($z+1) : "";
if (sizeof($partes)>1) $auxiliar = $partes[$z];
else $auxiliar = decodificar(unescape($partes[$z]));
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $auxiliar,
'dc:title' => html_entity_decode($title[1],0,"UTF-8") . " (" . html_entity_decode($quality[2][$i],0,"UTF-8") . " " . html_entity_decode($formato[3][$i],0,"UTF-8") . " " . html_entity_decode($language[2][$i],0,"UTF-8") . ") (Megavideo #" . ($i+1) . $part . ")",
'res' => "http://localhost/umsp/plugins/megavideo-proxy.php?id=" . $auxiliar,
'upnp:class' => 'object.item.videoitem',
'upnp:album_art'=> 'http://i34.tinypic.invalid/t53qbr.jpg',
'protocolInfo' => '*:*:*:*'
);
}
}
$opts = array(
'http' => array(
'method' => "HEAD",
'max_redirects' => '0',
'header' => 'Cookie: user=' . $auth . "\r\n"
)
);
$context = stream_context_create($opts);
for ($i = 0; $i < sizeof($megaup[1]); $i++)
{
$partes = explode(":",decoMegaup(unescape($megaup[1][$i])));
for ($z = 0; $z < sizeof($partes); $z++)
{
$part = (sizeof($partes) > 1) ? "/".($z+1) : "";
$auxiliar = $partes[$z];
$getHeaders = @file_get_contents("http://www.megaupload.com/?d=" . $auxiliar, false, $context);
if (preg_match('/ocation: (.+)/',$http_response_header[3],$res)) {
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $auxiliar,
'dc:title' => html_entity_decode($title[1],0,"UTF-8") . " (" . html_entity_decode($quality[2][$cuantos+$i],0,"UTF-8"). " " . html_entity_decode($formato[3][$i+$cuantos],0,"UTF-8") . " " . html_entity_decode($language[2][$i+$cuantos],0,"UTF-8") . ") (Megaupload #" . ($i+1) . $part . ")",
'res' => $res[1],
'upnp:class' => 'object.item.videoitem',
'upnp:album_art'=> 'http://i36.tinypic.invalid/332w29c.jpg',
'protocolInfo' => '*:*:*:*'
);
}
}
}
return $retMediaItems;
}
?>
PuMa escribió:A ver que te parece, es que sino la gente que no tiene ni idea lee buena calidad en todas las pelis y luego les sale una CAM
Antes quedaba asi
No eres tú, soy yo (2010) ( Buena Calidad TS-Screener Audio Latino) (Megavideo #1/1)
Ahora quedaria así
No eres tú, soy yo (2010) ( Calidad TS-Screener Audio Latino) (Megavideo #1/1)
<?php
#------------------------------------------
# Plugin para WDTV Live
# Enlace a pelis de la web PeliculasYonkis.com
#
# @author kito0791
# @version 0.4
# @date 25/08/2010
#
# @author kito0791 - Añadida decodificación para enlaces a megavideo cuando una peli tiene más de una parte (antes esos enlaces no funcionaban)
# @date 27/08/2010
# @author juliojs - Añadidas carátulas de Xzener (http://community.mediabrowser.tv/permalinks/1436/xzener-s-fanart-collection).
# - Añadidos iconos de megavideo y megaupload.
# @date 04/09/2010
# @author kito0791 - Añadida información sobre la película, calidad, idioma, formato
# - Cambio en numeración de los enlaces, ahora creo que es más comprensible.
# - Añadida decodificación para enlaces a megaupload cuando una peli tiene más de una parte
# @date 07/09/2010
#
# Nota: la web solo te muestra 12 resultados de búsqueda
#------------------------------------------
function unescape($cadena_entrada)
{
$cadena_salida="";
$longitud=strlen($cadena_entrada);
if(($longitud%3)==0)
for($i=0; $i<$longitud; $i+=3) $cadena_salida.=chr(hexdec(substr($cadena_entrada,$i+1,2)));
return $cadena_salida;
}
function decodificar($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 141;
$f = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
if ($i == $longitud-1) $f -= 7;
else if ($i > 0) $f -= ($i * 2) + 2;
$cadena_salida.= chr($f);
$d += $i + 1;
}
return $cadena_salida;
}
function decodificar2($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 140;
$f = 0;
$b = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
if ($i == $longitud-1) $f -= 5;
else if ($i > 0)
{ $b = $i*3;
while ($b>25) $b -= 4;
$f -= $b+ 1;
}
$cadena_salida.= chr($f);
}
return $cadena_salida;
}
function decoMegaup($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 254;
$f = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
$cadena_salida.= chr($f);
}
return $cadena_salida;
}
function _pluginMain($prmQuery) {
$queryData = array();
parse_str($prmQuery, $queryData);
if ($queryData['category_url'] !='') {
$items = _pluginCreateMovieItems($queryData['category_url']);
return $items;
} elseif ($queryData['movie_url'] !='') {
$items = _pluginCreateVideoItems($queryData['movie_url']);
return $items;
} elseif ($queryData['general_url'] !='') {
if (preg_match('/listadoA/',$queryData['general_url'])) $items = _pluginCreateCategoryList();
else $items = _pluginCreateListItems($queryData['general_url']);
return $items;
} else {
$items = _pluginCreateGeneralList();
return $items;
}
}
function _pluginSearch($prmQuery) {
preg_match('/and dc:title contains "(.*?)"/', $prmQuery, $searchstring);
if ( isset($searchstring[1]) ) {
$cadena = 'http://www.peliculasyonkis.com/buscarPelicula.php?s='.$searchstring[1];
$items = _pluginCreateMovieItems($cadena);
return $items;
} else {
return null;
}
}
function _pluginCreateGeneralList() {
$categories = array(
array ( 'nombre' => 'Estrenos Cartelera',
'ico' => 'http://i53.tinypic.invalid/20zsiuh.jpg',
'genero' => 'cartelera/' ),
array ( 'nombre' => 'Estrenos DVD',
'ico' => 'http://i55.tinypic.invalid/23t2iap.jpg',
'genero' => 'estrenos-dvd/' ),
array ( 'nombre' => 'Nuevas en la Web',
'ico' => 'http://i52.tinypic.invalid/f4faqo.jpg',
'genero' => 'estrenos-web/' ),
array ( 'nombre' => 'Actualizadas',
'ico' => 'http://i52.tinypic.invalid/fk6zdh.jpg',
'genero' => 'actualizadas/' ),
array ( 'nombre' => 'Listado Alfabético',
'ico' => 'http://i53.tinypic.invalid/2rctwn6.jpg',
'genero' => 'listadoA' ),
);
for ($row = 0; $row < 5; $row++) {
foreach ($categories[$row] as $name => $id) {
$url = "http://www.peliculasyonkis.com/ultimas-peliculas/" . $categories[$row]["genero"] . "/";
}
$data = array(
'general_url' => $url
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($categories[$row]["nombre"],0,"UTF-8"),
'upnp:album_art'=> $categories[$row]["ico"],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateCategoryList() {
$categories = array(
array ( 'nombre' => '0-9',
'ico' => 'http://i53.tinypic.invalid/11azl2a.jpg',
'genero' => 'listaPeliculasNumeric.php' ),
array ( 'nombre' => 'A',
'ico' => 'http://i55.tinypic.invalid/1g6nps.jpg',
'genero' => 'listaPeliculasA.php' ),
array ( 'nombre' => 'B',
'ico' => 'http://i55.tinypic.invalid/f1z9k7.jpg',
'genero' => 'listaPeliculasB.php' ),
array ( 'nombre' => 'C',
'ico' => 'http://i55.tinypic.invalid/igequr.jpg',
'genero' => 'listaPeliculasC.php' ),
array ( 'nombre' => 'D',
'ico' => 'http://i55.tinypic.invalid/312ctvs.jpg',
'genero' => 'listaPeliculasD.php' ),
array ( 'nombre' => 'E',
'ico' => 'http://i56.tinypic.invalid/1zr16v6.jpg',
'genero' => 'listaPeliculasE.php' ),
array ( 'nombre' => 'F',
'ico' => 'http://i51.tinypic.invalid/2i23n1x.jpg',
'genero' => 'listaPeliculasF.php' ),
array ( 'nombre' => 'G',
'ico' => 'http://i55.tinypic.invalid/90adll.jpg',
'genero' => 'listaPeliculasG.php' ),
array ( 'nombre' => 'H',
'ico' => 'http://i51.tinypic.invalid/o55c9l.jpg',
'genero' => 'listaPeliculasH.php' ),
array ( 'nombre' => 'I',
'ico' => 'http://i53.tinypic.invalid/u101l.jpg',
'genero' => 'listaPeliculasI.php' ),
array ( 'nombre' => 'J',
'ico' => 'http://i55.tinypic.invalid/se4kye.jpg',
'genero' => 'listaPeliculasJ.php' ),
array ( 'nombre' => 'K',
'ico' => 'http://i55.tinypic.invalid/2i1z3ic.jpg',
'genero' => 'listaPeliculasK.php' ),
array ( 'nombre' => 'L',
'ico' => 'http://i51.tinypic.invalid/28bz9t4.jpg',
'genero' => 'listaPeliculasL.php' ),
array ( 'nombre' => 'M',
'ico' => 'http://i53.tinypic.invalid/12383s8.jpg',
'genero' => 'listaPeliculasM.php' ),
array ( 'nombre' => 'N',
'ico' => 'http://i55.tinypic.invalid/2e4c381.jpg',
'genero' => 'listaPeliculasN.php' ),
array ( 'nombre' => 'O',
'ico' => 'http://i56.tinypic.invalid/2mzwm6s.jpg',
'genero' => 'listaPeliculasO.php' ),
array ( 'nombre' => 'P',
'ico' => 'http://i54.tinypic.invalid/2qn62s1.jpg',
'genero' => 'listaPeliculasP.php' ),
array ( 'nombre' => 'Q',
'ico' => 'http://i53.tinypic.invalid/ngabdi.jpg',
'genero' => 'listaPeliculasQ.php' ),
array ( 'nombre' => 'R',
'ico' => 'http://i53.tinypic.invalid/xc24qs.jpg',
'genero' => 'listaPeliculasR.php' ),
array ( 'nombre' => 'S',
'ico' => 'http://i51.tinypic.invalid/iy1k5g.jpg',
'genero' => 'listaPeliculasS.php' ),
array ( 'nombre' => 'T',
'ico' => 'http://i52.tinypic.invalid/2v325uh.jpg',
'genero' => 'listaPeliculasT.php' ),
array ( 'nombre' => 'U',
'ico' => 'http://i53.tinypic.invalid/24y0fm9.jpg',
'genero' => 'listaPeliculasU.php' ),
array ( 'nombre' => 'V',
'ico' => 'http://i55.tinypic.invalid/29erke9.jpg',
'genero' => 'listaPeliculasV.php' ),
array ( 'nombre' => 'W',
'ico' => 'http://i56.tinypic.invalid/2lucqh0.jpg',
'genero' => 'listaPeliculasW.php' ),
array ( 'nombre' => 'X',
'ico' => 'http://i52.tinypic.invalid/2ci9151.jpg',
'genero' => 'listaPeliculasX.php' ),
array ( 'nombre' => 'Y',
'ico' => 'http://i55.tinypic.invalid/14c6zo0.jpg',
'genero' => 'listaPeliculasY.php' ),
array ( 'nombre' => 'Z',
'ico' => 'http://i56.tinypic.invalid/28l7z2d.jpg',
'genero' => 'listaPeliculasZ.php' ),
);
for ($row = 0; $row < 27; $row++) {
foreach ($categories[$row] as $name => $id) {
$url = "http://www.peliculasyonkis.com/lista-peliculas/" . $categories[$row]["genero"] . "/";
}
$data = array(
'category_url' => $url
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($categories[$row]["nombre"],0,"UTF-8"),
'upnp:album_art'=> $categories[$row]["ico"],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateMovieItems($url) {
$html = file_get_contents($url);
preg_match_all('/<a href="(.*?)" title="(.*?)"><img width="77" height="110" src="(.*?)" alt/',$html,$title);
if (empty($title[1])) break;
for ($z = 0; $z < sizeof($title[1]); $z++) {
if ($search == 'search') { $titulo = $title[2][$z]; $direccion = $title[1][$z]; $caratula = $title[3][$z];}
else { $titulo = $title[2][$z]; $direccion = $title[1][$z]; $caratula = $title[3][$z];};
$data = array(
'movie_url' => $direccion
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($titulo,0,"UTF-8"),
'upnp:album_art'=> $caratula,
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateListItems($url) {
$html = file_get_contents($url);
$cuantos = preg_match_all('/<a href="(.*?)" title="(.*?)"><img width=\'100\' height=\'144\' src=\'(.*?)\' alt/',$html,$datos);
for ($z = 0; $z < $cuantos; $z++) {
$data = array(
'movie_url' => $datos[1][$z]
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($datos[2][$z],0,"UTF-8"),
'upnp:album_art'=> $datos[3][$z],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateVideoItems($url) {
$calidad = array (
'Calidad Media' => 'Q3',
'Buena Calidad' => 'Q4',
'Video con calidad muy alta (HD)' => 'Q5'
);
$html = file_get_contents($url);
$cuantos = preg_match_all('/alt="Megavideo" (.*?) href="(.*?)&id=(.*?)" target="peli">/',$html,$megavid);
preg_match('/<li>Nombre de la pelicula: <b>(.*?)</',$html,$title);
preg_match_all("/\/q\/(.*?)' alt='(.*?)' style='vertical-align: middle;' \/><\/span>/",$html,$quality);
preg_match_all("/Duraci(.*?)n: (.*?)<br \/><b>(.*?)<\/b>/",$html,$formato);
preg_match_all('/\/f\/(.*?)" alt="(.*?)" style="vertical-align: middle;" \/><\/div>/',$html,$language);
if (file_exists('/conf/config')) {
$config = file_get_contents('/conf/config');
if(preg_match('/MEGA_AUTH=\'(.+)\'/', $config, $config_result)) {
$auth = $config_result[1];
preg_match_all('/id=(.*?)" title="Descargar archivo"/',$html,$megaup);
}
}
for ($i = 0; $i < $cuantos; $i++) {
$partes = explode("&al=", $megavid[3][$i]);
if (strlen($partes[0])== 51) $partes = explode(":", decodificar2(unescape($partes[0])));
for ($z = 0; $z < sizeof($partes); $z++)
{
$part = (sizeof($partes) > 1) ? "/".($z+1) : "";
if (sizeof($partes)>1) $auxiliar = $partes[$z];
else $auxiliar = decodificar(unescape($partes[$z]));
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $auxiliar,
'dc:title' => html_entity_decode($title[1],0,"UTF-8") . " (" . html_entity_decode($calidad[$quality[2][$i]],0,"UTF-8") . " " . html_entity_decode($formato[3][$i],0,"UTF-8") . " " . html_entity_decode($language[2][$i],0,"UTF-8") . ") (Megavideo #" . ($i+1) . $part . ")",
'res' => "http://localhost/umsp/plugins/megavideo-proxy.php?id=" . $auxiliar,
'upnp:class' => 'object.item.videoitem',
'upnp:album_art'=> 'http://i34.tinypic.invalid/t53qbr.jpg',
'protocolInfo' => '*:*:*:*'
);
}
}
$opts = array(
'http' => array(
'method' => "HEAD",
'max_redirects' => '0',
'header' => 'Cookie: user=' . $auth . "\r\n"
)
);
$context = stream_context_create($opts);
for ($i = 0; $i < sizeof($megaup[1]); $i++)
{
$partes = explode(":",decoMegaup(unescape($megaup[1][$i])));
for ($z = 0; $z < sizeof($partes); $z++)
{
$part = (sizeof($partes) > 1) ? "/".($z+1) : "";
$auxiliar = $partes[$z];
$getHeaders = @file_get_contents("http://www.megaupload.com/?d=" . $auxiliar, false, $context);
if (preg_match('/ocation: (.+)/',$http_response_header[3],$res)) {
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $auxiliar,
'dc:title' => html_entity_decode($title[1],0,"UTF-8") . " (" . html_entity_decode($quality[2][$cuantos+$i],0,"UTF-8"). " " . html_entity_decode($formato[3][$i+$cuantos],0,"UTF-8") . " " . html_entity_decode($language[2][$i+$cuantos],0,"UTF-8") . ") (Megaupload #" . ($i+1) . $part . ")",
'res' => $res[1],
'upnp:class' => 'object.item.videoitem',
'upnp:album_art'=> 'http://i36.tinypic.invalid/332w29c.jpg',
'protocolInfo' => '*:*:*:*'
);
}
}
}
return $retMediaItems;
}
?>
kito0791 escribió:PuMa escribió:A ver que te parece, es que sino la gente que no tiene ni idea lee buena calidad en todas las pelis y luego les sale una CAM
Antes quedaba asi
No eres tú, soy yo (2010) ( Buena Calidad TS-Screener Audio Latino) (Megavideo #1/1)
Ahora quedaria así
No eres tú, soy yo (2010) ( Calidad TS-Screener Audio Latino) (Megavideo #1/1)
¡Hola!
El problema de tu modificación es que no va a funcionar cuando la calidad sea "calidad media" o "video con calidad muy alta (HD)" que suele venir en los enlaces de MU, así que para que no salga el título muy largo, lo he cambiado, a ver que os parece.<?php
#------------------------------------------
# Plugin para WDTV Live
# Enlace a pelis de la web PeliculasYonkis.com
#
# @author kito0791
# @version 0.4
# @date 25/08/2010
#
# @author kito0791 - Añadida decodificación para enlaces a megavideo cuando una peli tiene más de una parte (antes esos enlaces no funcionaban)
# @date 27/08/2010
# @author juliojs - Añadidas carátulas de Xzener (http://community.mediabrowser.tv/permalinks/1436/xzener-s-fanart-collection).
# - Añadidos iconos de megavideo y megaupload.
# @date 04/09/2010
# @author kito0791 - Añadida información sobre la película, calidad, idioma, formato
# - Cambio en numeración de los enlaces, ahora creo que es más comprensible.
# - Añadida decodificación para enlaces a megaupload cuando una peli tiene más de una parte
# @date 07/09/2010
#
# Nota: la web solo te muestra 12 resultados de búsqueda
#------------------------------------------
function unescape($cadena_entrada)
{
$cadena_salida="";
$longitud=strlen($cadena_entrada);
if(($longitud%3)==0)
for($i=0; $i<$longitud; $i+=3) $cadena_salida.=chr(hexdec(substr($cadena_entrada,$i+1,2)));
return $cadena_salida;
}
function decodificar($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 141;
$f = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
if ($i == $longitud-1) $f -= 7;
else if ($i > 0) $f -= ($i * 2) + 2;
$cadena_salida.= chr($f);
$d += $i + 1;
}
return $cadena_salida;
}
function decodificar2($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 140;
$f = 0;
$b = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
if ($i == $longitud-1) $f -= 5;
else if ($i > 0)
{ $b = $i*3;
while ($b>25) $b -= 4;
$f -= $b+ 1;
}
$cadena_salida.= chr($f);
}
return $cadena_salida;
}
function decoMegaup($cadena_entrada) {
$cadena_salida="";
$longitud=strlen($cadena_entrada);
$d = 254;
$f = 0;
for($i=0; $i<$longitud; $i++)
{
$f = $d ^ ord(substr($cadena_entrada,$i,1));
$cadena_salida.= chr($f);
}
return $cadena_salida;
}
function _pluginMain($prmQuery) {
$queryData = array();
parse_str($prmQuery, $queryData);
if ($queryData['category_url'] !='') {
$items = _pluginCreateMovieItems($queryData['category_url']);
return $items;
} elseif ($queryData['movie_url'] !='') {
$items = _pluginCreateVideoItems($queryData['movie_url']);
return $items;
} elseif ($queryData['general_url'] !='') {
if (preg_match('/listadoA/',$queryData['general_url'])) $items = _pluginCreateCategoryList();
else $items = _pluginCreateListItems($queryData['general_url']);
return $items;
} else {
$items = _pluginCreateGeneralList();
return $items;
}
}
function _pluginSearch($prmQuery) {
preg_match('/and dc:title contains "(.*?)"/', $prmQuery, $searchstring);
if ( isset($searchstring[1]) ) {
$cadena = 'http://www.peliculasyonkis.com/buscarPelicula.php?s='.$searchstring[1];
$items = _pluginCreateMovieItems($cadena);
return $items;
} else {
return null;
}
}
function _pluginCreateGeneralList() {
$categories = array(
array ( 'nombre' => 'Estrenos Cartelera',
'ico' => 'http://i53.tinypic.invalid/20zsiuh.jpg',
'genero' => 'cartelera/' ),
array ( 'nombre' => 'Estrenos DVD',
'ico' => 'http://i55.tinypic.invalid/23t2iap.jpg',
'genero' => 'estrenos-dvd/' ),
array ( 'nombre' => 'Nuevas en la Web',
'ico' => 'http://i52.tinypic.invalid/f4faqo.jpg',
'genero' => 'estrenos-web/' ),
array ( 'nombre' => 'Actualizadas',
'ico' => 'http://i52.tinypic.invalid/fk6zdh.jpg',
'genero' => 'actualizadas/' ),
array ( 'nombre' => 'Listado Alfabético',
'ico' => 'http://i53.tinypic.invalid/2rctwn6.jpg',
'genero' => 'listadoA' ),
);
for ($row = 0; $row < 5; $row++) {
foreach ($categories[$row] as $name => $id) {
$url = "http://www.peliculasyonkis.com/ultimas-peliculas/" . $categories[$row]["genero"] . "/";
}
$data = array(
'general_url' => $url
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($categories[$row]["nombre"],0,"UTF-8"),
'upnp:album_art'=> $categories[$row]["ico"],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateCategoryList() {
$categories = array(
array ( 'nombre' => '0-9',
'ico' => 'http://i53.tinypic.invalid/11azl2a.jpg',
'genero' => 'listaPeliculasNumeric.php' ),
array ( 'nombre' => 'A',
'ico' => 'http://i55.tinypic.invalid/1g6nps.jpg',
'genero' => 'listaPeliculasA.php' ),
array ( 'nombre' => 'B',
'ico' => 'http://i55.tinypic.invalid/f1z9k7.jpg',
'genero' => 'listaPeliculasB.php' ),
array ( 'nombre' => 'C',
'ico' => 'http://i55.tinypic.invalid/igequr.jpg',
'genero' => 'listaPeliculasC.php' ),
array ( 'nombre' => 'D',
'ico' => 'http://i55.tinypic.invalid/312ctvs.jpg',
'genero' => 'listaPeliculasD.php' ),
array ( 'nombre' => 'E',
'ico' => 'http://i56.tinypic.invalid/1zr16v6.jpg',
'genero' => 'listaPeliculasE.php' ),
array ( 'nombre' => 'F',
'ico' => 'http://i51.tinypic.invalid/2i23n1x.jpg',
'genero' => 'listaPeliculasF.php' ),
array ( 'nombre' => 'G',
'ico' => 'http://i55.tinypic.invalid/90adll.jpg',
'genero' => 'listaPeliculasG.php' ),
array ( 'nombre' => 'H',
'ico' => 'http://i51.tinypic.invalid/o55c9l.jpg',
'genero' => 'listaPeliculasH.php' ),
array ( 'nombre' => 'I',
'ico' => 'http://i53.tinypic.invalid/u101l.jpg',
'genero' => 'listaPeliculasI.php' ),
array ( 'nombre' => 'J',
'ico' => 'http://i55.tinypic.invalid/se4kye.jpg',
'genero' => 'listaPeliculasJ.php' ),
array ( 'nombre' => 'K',
'ico' => 'http://i55.tinypic.invalid/2i1z3ic.jpg',
'genero' => 'listaPeliculasK.php' ),
array ( 'nombre' => 'L',
'ico' => 'http://i51.tinypic.invalid/28bz9t4.jpg',
'genero' => 'listaPeliculasL.php' ),
array ( 'nombre' => 'M',
'ico' => 'http://i53.tinypic.invalid/12383s8.jpg',
'genero' => 'listaPeliculasM.php' ),
array ( 'nombre' => 'N',
'ico' => 'http://i55.tinypic.invalid/2e4c381.jpg',
'genero' => 'listaPeliculasN.php' ),
array ( 'nombre' => 'O',
'ico' => 'http://i56.tinypic.invalid/2mzwm6s.jpg',
'genero' => 'listaPeliculasO.php' ),
array ( 'nombre' => 'P',
'ico' => 'http://i54.tinypic.invalid/2qn62s1.jpg',
'genero' => 'listaPeliculasP.php' ),
array ( 'nombre' => 'Q',
'ico' => 'http://i53.tinypic.invalid/ngabdi.jpg',
'genero' => 'listaPeliculasQ.php' ),
array ( 'nombre' => 'R',
'ico' => 'http://i53.tinypic.invalid/xc24qs.jpg',
'genero' => 'listaPeliculasR.php' ),
array ( 'nombre' => 'S',
'ico' => 'http://i51.tinypic.invalid/iy1k5g.jpg',
'genero' => 'listaPeliculasS.php' ),
array ( 'nombre' => 'T',
'ico' => 'http://i52.tinypic.invalid/2v325uh.jpg',
'genero' => 'listaPeliculasT.php' ),
array ( 'nombre' => 'U',
'ico' => 'http://i53.tinypic.invalid/24y0fm9.jpg',
'genero' => 'listaPeliculasU.php' ),
array ( 'nombre' => 'V',
'ico' => 'http://i55.tinypic.invalid/29erke9.jpg',
'genero' => 'listaPeliculasV.php' ),
array ( 'nombre' => 'W',
'ico' => 'http://i56.tinypic.invalid/2lucqh0.jpg',
'genero' => 'listaPeliculasW.php' ),
array ( 'nombre' => 'X',
'ico' => 'http://i52.tinypic.invalid/2ci9151.jpg',
'genero' => 'listaPeliculasX.php' ),
array ( 'nombre' => 'Y',
'ico' => 'http://i55.tinypic.invalid/14c6zo0.jpg',
'genero' => 'listaPeliculasY.php' ),
array ( 'nombre' => 'Z',
'ico' => 'http://i56.tinypic.invalid/28l7z2d.jpg',
'genero' => 'listaPeliculasZ.php' ),
);
for ($row = 0; $row < 27; $row++) {
foreach ($categories[$row] as $name => $id) {
$url = "http://www.peliculasyonkis.com/lista-peliculas/" . $categories[$row]["genero"] . "/";
}
$data = array(
'category_url' => $url
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($categories[$row]["nombre"],0,"UTF-8"),
'upnp:album_art'=> $categories[$row]["ico"],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateMovieItems($url) {
$html = file_get_contents($url);
preg_match_all('/<a href="(.*?)" title="(.*?)"><img width="77" height="110" src="(.*?)" alt/',$html,$title);
if (empty($title[1])) break;
for ($z = 0; $z < sizeof($title[1]); $z++) {
if ($search == 'search') { $titulo = $title[2][$z]; $direccion = $title[1][$z]; $caratula = $title[3][$z];}
else { $titulo = $title[2][$z]; $direccion = $title[1][$z]; $caratula = $title[3][$z];};
$data = array(
'movie_url' => $direccion
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($titulo,0,"UTF-8"),
'upnp:album_art'=> $caratula,
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateListItems($url) {
$html = file_get_contents($url);
$cuantos = preg_match_all('/<a href="(.*?)" title="(.*?)"><img width=\'100\' height=\'144\' src=\'(.*?)\' alt/',$html,$datos);
for ($z = 0; $z < $cuantos; $z++) {
$data = array(
'movie_url' => $datos[1][$z]
);
$dataString = http_build_query($data, 'pluginvar_');
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $dataString,
'dc:title' => html_entity_decode($datos[2][$z],0,"UTF-8"),
'upnp:album_art'=> $datos[3][$z],
'upnp:class' => 'object.container',
);
}
return $retMediaItems;
}
function _pluginCreateVideoItems($url) {
$calidad = array (
'Calidad Media' => 'Q3',
'Buena Calidad' => 'Q4',
'Video con calidad muy alta (HD)' => 'Q5'
);
$html = file_get_contents($url);
$cuantos = preg_match_all('/alt="Megavideo" (.*?) href="(.*?)&id=(.*?)" target="peli">/',$html,$megavid);
preg_match('/<li>Nombre de la pelicula: <b>(.*?)</',$html,$title);
preg_match_all("/\/q\/(.*?)' alt='(.*?)' style='vertical-align: middle;' \/><\/span>/",$html,$quality);
preg_match_all("/Duraci(.*?)n: (.*?)<br \/><b>(.*?)<\/b>/",$html,$formato);
preg_match_all('/\/f\/(.*?)" alt="(.*?)" style="vertical-align: middle;" \/><\/div>/',$html,$language);
if (file_exists('/conf/config')) {
$config = file_get_contents('/conf/config');
if(preg_match('/MEGA_AUTH=\'(.+)\'/', $config, $config_result)) {
$auth = $config_result[1];
preg_match_all('/id=(.*?)" title="Descargar archivo"/',$html,$megaup);
}
}
for ($i = 0; $i < $cuantos; $i++) {
$partes = explode("&al=", $megavid[3][$i]);
if (strlen($partes[0])== 51) $partes = explode(":", decodificar2(unescape($partes[0])));
for ($z = 0; $z < sizeof($partes); $z++)
{
$part = (sizeof($partes) > 1) ? "/".($z+1) : "";
if (sizeof($partes)>1) $auxiliar = $partes[$z];
else $auxiliar = decodificar(unescape($partes[$z]));
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $auxiliar,
'dc:title' => html_entity_decode($title[1],0,"UTF-8") . " (" . html_entity_decode($calidad[$quality[2][$i]],0,"UTF-8") . " " . html_entity_decode($formato[3][$i],0,"UTF-8") . " " . html_entity_decode($language[2][$i],0,"UTF-8") . ") (Megavideo #" . ($i+1) . $part . ")",
'res' => "http://localhost/umsp/plugins/megavideo-proxy.php?id=" . $auxiliar,
'upnp:class' => 'object.item.videoitem',
'upnp:album_art'=> 'http://i34.tinypic.invalid/t53qbr.jpg',
'protocolInfo' => '*:*:*:*'
);
}
}
$opts = array(
'http' => array(
'method' => "HEAD",
'max_redirects' => '0',
'header' => 'Cookie: user=' . $auth . "\r\n"
)
);
$context = stream_context_create($opts);
for ($i = 0; $i < sizeof($megaup[1]); $i++)
{
$partes = explode(":",decoMegaup(unescape($megaup[1][$i])));
for ($z = 0; $z < sizeof($partes); $z++)
{
$part = (sizeof($partes) > 1) ? "/".($z+1) : "";
$auxiliar = $partes[$z];
$getHeaders = @file_get_contents("http://www.megaupload.com/?d=" . $auxiliar, false, $context);
if (preg_match('/ocation: (.+)/',$http_response_header[3],$res)) {
$retMediaItems[] = array (
'id' => 'umsp://plugins/peliculasyonkis?' . $auxiliar,
'dc:title' => html_entity_decode($title[1],0,"UTF-8") . " (" . html_entity_decode($quality[2][$cuantos+$i],0,"UTF-8"). " " . html_entity_decode($formato[3][$i+$cuantos],0,"UTF-8") . " " . html_entity_decode($language[2][$i+$cuantos],0,"UTF-8") . ") (Megaupload #" . ($i+1) . $part . ")",
'res' => $res[1],
'upnp:class' => 'object.item.videoitem',
'upnp:album_art'=> 'http://i36.tinypic.invalid/332w29c.jpg',
'protocolInfo' => '*:*:*:*'
);
}
}
}
return $retMediaItems;
}
?>
Ahora los vídeos que tengan Buena calidad --> Q4
calidad media -->Q3
vídeos con calidad muy alta (HD) --> Q5
Es lo que pone la web, aunque luego el formato sea ts-screener o cam, intento ser lo más fiel a la web
Por otro lado, como bien dices, a ver si (yo el primero) vamos diciendo que estamos tocando o haciendo para no pisarnos,jejeje
PD Estrenosonline está acabado???
EDITADO:
Aquí lo tenéis empaquetado.
kito0791_osdMod_UMSP_pack_v0.82.zip
http://www.megaupload.com/?d=6U66LZUL
cachiputi escribió:Como hago para probar un pluguin que e modificado en el WDTVL ?¿
Seria este:<?php
function _pluginMain($prmQuery) {
# If the DREAMBOX_HOSTNAME is not defined, the whole
# plugin is not visible in the menu
if (file_exists('/conf/config')) {
$config = file_get_contents('/conf/config');
if(preg_match('/DREAMBOX_HOSTNAME=\'(.+)\'/', $config, $results)) {
$dreamboxAddress = $results[1];
}
}
# Do we have a bouquet as the parameter?
$queryData = array();
parse_str($prmQuery, $queryData);
if ($queryData['bouquet'] != '') {
$bouquet = $queryData['bouquet'];
} else {
$bouquet = '';
}
# No, we need to ask for the list of bouquets
if ( $bouquet == '' ) {
# Get all bouquets
$dreamboxBouquetsUrl = 'web/getservices';
$reader = new XMLReader();
$bouquetsXML = file_get_contents('http://' . $dreamboxAddress . '/' . $dreamboxBouquetsUrl);
$reader->XML($bouquetsXML);
while ($reader->read()) {
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1service')) {
#
# Read e1service child nodes until end
#
do {
$reader->read();
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicereference')) {
$newBouquet['sref'] = $reader->readString();
}
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicename')) {
$newBouquet['title'] = utf8_decode($reader->readString());
}
} while (!(($reader->nodeType == XMLReader::END_ELEMENT) && ($reader->localName == 'e1service')));
#
# New bouquet item parsed. Now add as media item:
#
$retMediaItems[] = array (
'id' => 'umsp://plugins/dreambox-channels?bouquet=' . $newBouquet['sref'],
'dc:title' => $newBouquet['title'],
'upnp:class' => 'object.container'
);
} # end if
} #end while
# If there's just one bouquet, jump directly into the bouquet contents
# Othervise show the bouquet list
if ( count($retMediaItems) == 1 ) {
return _pluginMain('bouquet=' . $newBouquet['sref']);
} else {
return $retMediaItems;
}
} else {
# We have a bouquet sRef as a parameter -> list all channels in that bouquet
# $bouquet looks like '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET \"userbouquet.favourites.tv\" ORDER BY bouquet',
# but we should feed it in as '1:7:1:0:0:0:0:0:0:0:FROM%20BOUQUET%20%22userbouquet.favourites.tv%22%20ORDER%20BY%20bouquet'
$dreamboxServiceUrl = 'web/getservices?sRef=' . str_replace('\\"', "%22", str_replace(" ", "%20", $bouquet));
$reader = new XMLReader();
$channellistXML = file_get_contents('http://' . $dreamboxAddress . '/' . $dreamboxServiceUrl);
$reader->XML($channellistXML);
while ($reader->read()) {
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1service')) {
#
# Read channelinfo child nodes until end
#
do {
$reader->read();
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicereference')) {
$newChannel['id'] = $reader->readString();
}
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicename')) {
$newChannel['title'] = $reader->readString();
}
} while (!(($reader->nodeType == XMLReader::END_ELEMENT) && ($reader->localName == 'e1service')));
#
# New channelinfo item parsed. Now add as media item:
#
$retMediaItems[] = array (
'id' => $newChannel['id'],
'res' => 'http://localhost/umsp/plugins/dreambox-proxy.php?itemUrl=http://' . $dreamboxAddress . ':8001/' . $newChannel['id'],
'dc:title' => $newChannel['title'],
'upnp:class' => 'object.item.videoitem',
# picons should be under /usr/lib/enigma1/python/Plugins/Extensions/WebInterface/web-data/streampage on the Dreambox
'upnp:album_art' => 'http://' . $dreamboxAddress . '/web-data/streampage/' . rawurlencode($newChannel['title']) . '.png',
'protocolInfo' => '*:*:*:*'
);
} # end if
} # end while
return $retMediaItems;
} # end if
}
?>
Es para ver si funciona con las Dreambox Enigma-1.
Si me podeis explicar brevemente como probar este pluguin, lo agradeceria, así ya melas apañaría yo solo.
Jaar escribió:has conseguido probarlo cahiputi?cachiputi escribió:Como hago para probar un pluguin que e modificado en el WDTVL ?¿
Seria este:<?php
function _pluginMain($prmQuery) {
# If the DREAMBOX_HOSTNAME is not defined, the whole
# plugin is not visible in the menu
if (file_exists('/conf/config')) {
$config = file_get_contents('/conf/config');
if(preg_match('/DREAMBOX_HOSTNAME=\'(.+)\'/', $config, $results)) {
$dreamboxAddress = $results[1];
}
}
# Do we have a bouquet as the parameter?
$queryData = array();
parse_str($prmQuery, $queryData);
if ($queryData['bouquet'] != '') {
$bouquet = $queryData['bouquet'];
} else {
$bouquet = '';
}
# No, we need to ask for the list of bouquets
if ( $bouquet == '' ) {
# Get all bouquets
$dreamboxBouquetsUrl = 'web/getservices';
$reader = new XMLReader();
$bouquetsXML = file_get_contents('http://' . $dreamboxAddress . '/' . $dreamboxBouquetsUrl);
$reader->XML($bouquetsXML);
while ($reader->read()) {
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1service')) {
#
# Read e1service child nodes until end
#
do {
$reader->read();
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicereference')) {
$newBouquet['sref'] = $reader->readString();
}
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicename')) {
$newBouquet['title'] = utf8_decode($reader->readString());
}
} while (!(($reader->nodeType == XMLReader::END_ELEMENT) && ($reader->localName == 'e1service')));
#
# New bouquet item parsed. Now add as media item:
#
$retMediaItems[] = array (
'id' => 'umsp://plugins/dreambox-channels?bouquet=' . $newBouquet['sref'],
'dc:title' => $newBouquet['title'],
'upnp:class' => 'object.container'
);
} # end if
} #end while
# If there's just one bouquet, jump directly into the bouquet contents
# Othervise show the bouquet list
if ( count($retMediaItems) == 1 ) {
return _pluginMain('bouquet=' . $newBouquet['sref']);
} else {
return $retMediaItems;
}
} else {
# We have a bouquet sRef as a parameter -> list all channels in that bouquet
# $bouquet looks like '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET \"userbouquet.favourites.tv\" ORDER BY bouquet',
# but we should feed it in as '1:7:1:0:0:0:0:0:0:0:FROM%20BOUQUET%20%22userbouquet.favourites.tv%22%20ORDER%20BY%20bouquet'
$dreamboxServiceUrl = 'web/getservices?sRef=' . str_replace('\\"', "%22", str_replace(" ", "%20", $bouquet));
$reader = new XMLReader();
$channellistXML = file_get_contents('http://' . $dreamboxAddress . '/' . $dreamboxServiceUrl);
$reader->XML($channellistXML);
while ($reader->read()) {
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1service')) {
#
# Read channelinfo child nodes until end
#
do {
$reader->read();
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicereference')) {
$newChannel['id'] = $reader->readString();
}
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicename')) {
$newChannel['title'] = $reader->readString();
}
} while (!(($reader->nodeType == XMLReader::END_ELEMENT) && ($reader->localName == 'e1service')));
#
# New channelinfo item parsed. Now add as media item:
#
$retMediaItems[] = array (
'id' => $newChannel['id'],
'res' => 'http://localhost/umsp/plugins/dreambox-proxy.php?itemUrl=http://' . $dreamboxAddress . ':8001/' . $newChannel['id'],
'dc:title' => $newChannel['title'],
'upnp:class' => 'object.item.videoitem',
# picons should be under /usr/lib/enigma1/python/Plugins/Extensions/WebInterface/web-data/streampage on the Dreambox
'upnp:album_art' => 'http://' . $dreamboxAddress . '/web-data/streampage/' . rawurlencode($newChannel['title']) . '.png',
'protocolInfo' => '*:*:*:*'
);
} # end if
} # end while
return $retMediaItems;
} # end if
}
?>
Es para ver si funciona con las Dreambox Enigma-1.
Si me podeis explicar brevemente como probar este pluguin, lo agradeceria, así ya melas apañaría yo solo.
netamego escribió:Hola,
Tras diversas pruebas lo pongo aquí por si a alguien le sirve de algo.
Con las series no me pasa casi, solo con algunos capítulos y siempre con los mismos, no es aleatorio.
Con las pelis me pasa con prácticamente todas. Me de igual cinetube que yonkis que peliculas21 etc.
El síntoma es que se queda el circulito azul dando vueltas y la película no se inicia.
Tras quitar el autoframe rate (config_tool -c AUTORES=OFF), los problemas han desaparecido como por arte de magia.
Parece que el AUTORES lanza por debajo el ffmpeg y hay con ciertos videos que se queda tostado.
Muchas gracias a todos especialmente a julius,kito,puma os lo estais currando mucho. gracias de verdad!!!!
enric1967 escribió:netamego escribió:Hola,
Tras diversas pruebas lo pongo aquí por si a alguien le sirve de algo.
Con las series no me pasa casi, solo con algunos capítulos y siempre con los mismos, no es aleatorio.
Con las pelis me pasa con prácticamente todas. Me de igual cinetube que yonkis que peliculas21 etc.
El síntoma es que se queda el circulito azul dando vueltas y la película no se inicia.
Tras quitar el autoframe rate (config_tool -c AUTORES=OFF), los problemas han desaparecido como por arte de magia.
Parece que el AUTORES lanza por debajo el ffmpeg y hay con ciertos videos que se queda tostado.
Muchas gracias a todos especialmente a julius,kito,puma os lo estais currando mucho. gracias de verdad!!!!
Quitar el autoframe rate quiere decir borrar # que hay delante?
cachiputi escribió:No, estoy a la espera de que alguien lo empaquete y lo incluya en el UMSP.php para poder probarlo bien.
No creo que funcione, pero por intentarlo...
masteralivex escribió:¿Hay manera de que la opción de resolución HDMI Auto sea realmente Auto?, no hay manera de que cambie la resolución el solito para pelis 24p, 23’976fps, etc para evitar el maldito judder.
juliojs escribió:cachiputi escribió:No, estoy a la espera de que alguien lo empaquete y lo incluya en el UMSP.php para poder probarlo bien.
No creo que funcione, pero por intentarlo...
No necesitas empaquetar nada, si has modificado un plugin simplemente sobreescribe el antiguo de la carpeta /tmp/umsp-plugins .
<?php
function _pluginMain($prmQuery) {
# If the DREAMBOX_HOSTNAME is not defined, the whole
# plugin is not visible in the menu
if (file_exists('/conf/config')) {
$config = file_get_contents('/conf/config');
if(preg_match('/DREAMBOX_HOSTNAME=\'(.+)\'/', $config, $results)) {
$dreamboxAddress = $results[1];
}
}
# Do we have a bouquet as the parameter?
$queryData = array();
parse_str($prmQuery, $queryData);
if ($queryData['bouquet'] != '') {
$bouquet = $queryData['bouquet'];
} else {
$bouquet = '';
}
# No, we need to ask for the list of bouquets
if ( $bouquet == '' ) {
# Get all bouquets
$dreamboxBouquetsUrl = 'web/getservices';
$reader = new XMLReader();
$bouquetsXML = file_get_contents('http://' . $dreamboxAddress . '/' . $dreamboxBouquetsUrl);
$reader->XML($bouquetsXML);
while ($reader->read()) {
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1service')) {
#
# Read e1service child nodes until end
#
do {
$reader->read();
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicereference')) {
$newBouquet['sref'] = $reader->readString();
}
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicename')) {
$newBouquet['title'] = utf8_decode($reader->readString());
}
} while (!(($reader->nodeType == XMLReader::END_ELEMENT) && ($reader->localName == 'e1service')));
#
# New bouquet item parsed. Now add as media item:
#
$retMediaItems[] = array (
'id' => 'umsp://plugins/dreambox-channels?bouquet=' . $newBouquet['sref'],
'dc:title' => $newBouquet['title'],
'upnp:class' => 'object.container'
);
} # end if
} #end while
# If there's just one bouquet, jump directly into the bouquet contents
# Othervise show the bouquet list
if ( count($retMediaItems) == 1 ) {
return _pluginMain('bouquet=' . $newBouquet['sref']);
} else {
return $retMediaItems;
}
} else {
# We have a bouquet sRef as a parameter -> list all channels in that bouquet
# $bouquet looks like '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET \"userbouquet.favourites.tv\" ORDER BY bouquet',
# but we should feed it in as '1:7:1:0:0:0:0:0:0:0:FROM%20BOUQUET%20%22userbouquet.favourites.tv%22%20ORDER%20BY%20bouquet'
$dreamboxServiceUrl = 'web/getservices?sRef=' . str_replace('\\"', "%22", str_replace(" ", "%20", $bouquet));
$reader = new XMLReader();
$channellistXML = file_get_contents('http://' . $dreamboxAddress . '/' . $dreamboxServiceUrl);
$reader->XML($channellistXML);
while ($reader->read()) {
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1service')) {
#
# Read channelinfo child nodes until end
#
do {
$reader->read();
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicereference')) {
$newChannel['id'] = $reader->readString();
}
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicename')) {
$newChannel['title'] = $reader->readString();
}
} while (!(($reader->nodeType == XMLReader::END_ELEMENT) && ($reader->localName == 'e1service')));
#
# New channelinfo item parsed. Now add as media item:
#
$retMediaItems[] = array (
'id' => $newChannel['id'],
'res' => 'http://localhost/umsp/plugins/dreambox-proxy.php?itemUrl=http://' . $dreamboxAddress . ':8001/' . $newChannel['id'],
'dc:title' => $newChannel['title'],
'upnp:class' => 'object.item.videoitem',
# picons should be under /usr/lib/enigma1/python/Plugins/Extensions/WebInterface/web-data/streampage on the Dreambox
'upnp:album_art' => 'http://' . $dreamboxAddress . '/web-data/streampage/' . rawurlencode($newChannel['title']) . '.png',
'protocolInfo' => '*:*:*:*'
);
} # end if
} # end while
return $retMediaItems;
} # end if
}
?>
kito0791 escribió:EDITADO:
Aquí lo tenéis empaquetado.
kito0791_osdMod_UMSP_pack_v0.82.zip
http://www.megaupload.com/?d=6U66LZUL
cachiputi escribió:Pues por mucho que lo intento, no me guarda el nuevo.
Asi que quien lo quiera probar, aqui le dejo el codigo. Tendria que servir para todas las Dreambox Enigma-1 (DM500S)<?php
function _pluginMain($prmQuery) {
# If the DREAMBOX_HOSTNAME is not defined, the whole
# plugin is not visible in the menu
if (file_exists('/conf/config')) {
$config = file_get_contents('/conf/config');
if(preg_match('/DREAMBOX_HOSTNAME=\'(.+)\'/', $config, $results)) {
$dreamboxAddress = $results[1];
}
}
# Do we have a bouquet as the parameter?
$queryData = array();
parse_str($prmQuery, $queryData);
if ($queryData['bouquet'] != '') {
$bouquet = $queryData['bouquet'];
} else {
$bouquet = '';
}
# No, we need to ask for the list of bouquets
if ( $bouquet == '' ) {
# Get all bouquets
$dreamboxBouquetsUrl = 'web/getservices';
$reader = new XMLReader();
$bouquetsXML = file_get_contents('http://' . $dreamboxAddress . '/' . $dreamboxBouquetsUrl);
$reader->XML($bouquetsXML);
while ($reader->read()) {
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1service')) {
#
# Read e1service child nodes until end
#
do {
$reader->read();
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicereference')) {
$newBouquet['sref'] = $reader->readString();
}
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicename')) {
$newBouquet['title'] = utf8_decode($reader->readString());
}
} while (!(($reader->nodeType == XMLReader::END_ELEMENT) && ($reader->localName == 'e1service')));
#
# New bouquet item parsed. Now add as media item:
#
$retMediaItems[] = array (
'id' => 'umsp://plugins/dreambox-channels?bouquet=' . $newBouquet['sref'],
'dc:title' => $newBouquet['title'],
'upnp:class' => 'object.container'
);
} # end if
} #end while
# If there's just one bouquet, jump directly into the bouquet contents
# Othervise show the bouquet list
if ( count($retMediaItems) == 1 ) {
return _pluginMain('bouquet=' . $newBouquet['sref']);
} else {
return $retMediaItems;
}
} else {
# We have a bouquet sRef as a parameter -> list all channels in that bouquet
# $bouquet looks like '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET \"userbouquet.favourites.tv\" ORDER BY bouquet',
# but we should feed it in as '1:7:1:0:0:0:0:0:0:0:FROM%20BOUQUET%20%22userbouquet.favourites.tv%22%20ORDER%20BY%20bouquet'
$dreamboxServiceUrl = 'web/getservices?sRef=' . str_replace('\\"', "%22", str_replace(" ", "%20", $bouquet));
$reader = new XMLReader();
$channellistXML = file_get_contents('http://' . $dreamboxAddress . '/' . $dreamboxServiceUrl);
$reader->XML($channellistXML);
while ($reader->read()) {
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1service')) {
#
# Read channelinfo child nodes until end
#
do {
$reader->read();
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicereference')) {
$newChannel['id'] = $reader->readString();
}
if (($reader->nodeType == XMLReader::ELEMENT) && ($reader->localName == 'e1servicename')) {
$newChannel['title'] = $reader->readString();
}
} while (!(($reader->nodeType == XMLReader::END_ELEMENT) && ($reader->localName == 'e1service')));
#
# New channelinfo item parsed. Now add as media item:
#
$retMediaItems[] = array (
'id' => $newChannel['id'],
'res' => 'http://localhost/umsp/plugins/dreambox-proxy.php?itemUrl=http://' . $dreamboxAddress . ':8001/' . $newChannel['id'],
'dc:title' => $newChannel['title'],
'upnp:class' => 'object.item.videoitem',
# picons should be under /usr/lib/enigma1/python/Plugins/Extensions/WebInterface/web-data/streampage on the Dreambox
'upnp:album_art' => 'http://' . $dreamboxAddress . '/web-data/streampage/' . rawurlencode($newChannel['title']) . '.png',
'protocolInfo' => '*:*:*:*'
);
} # end if
} # end while
return $retMediaItems;
} # end if
}
?>
Caundo alguien pueda probarlo, que confirme si funciona.
Gracias!
juliojs escribió:Borra el viejo antes, y no reinicies o te volverá a coger el TGZ ...
mmt escribió:kito0791 escribió:EDITADO:
Aquí lo tenéis empaquetado.
kito0791_osdMod_UMSP_pack_v0.82.zip
http://www.megaupload.com/?d=6U66LZUL
umsp-plugins.tgz esta mal comprimido. plugins estan dentro de carpeta.
Me tomo la libertad, con tu permiso, de subirlo corregido
kito0791_osdMod_UMSP_pack_v0.82.zip Corregido
http://www.megaupload.com/?d=SWE5MID1
PD Se podria hacer algo con esto...hay enlaces a pelis megavideo,megaupload http://www.mywebporno.com/
cachiputi escribió:juliojs escribió:Borra el viejo antes, y no reinicies o te volverá a coger el TGZ ...
Ok, pero me e dado cuenta que en /temp/ump.../ que es donde tengo que borrar el que hay y meter este modificado, existe una carpeta llamada dreambox-e2 que dentro de ella tiene también el archivo de serie...también sustituyo ese?
y todo sin reiniciar al final, no?
gracias!
juliojs escribió:cachiputi escribió:juliojs escribió:Borra el viejo antes, y no reinicies o te volverá a coger el TGZ ...
Ok, pero me e dado cuenta que en /temp/ump.../ que es donde tengo que borrar el que hay y meter este modificado, existe una carpeta llamada dreambox-e2 que dentro de ella tiene también el archivo de serie...también sustituyo ese?
y todo sin reiniciar al final, no?
gracias!
No, esos déjalos, estaba justo cambiando ahora el umsp.php para que apuntase a esa ruta y dejar sólo los que vienen incluidos en el firmware, que parecen más nuevos...
cachiputi escribió:Explica melo mejor y si necesito algo mas dime lo, a si mañana lo pruebo a ver si hay suerte y funciona.
gois74 escribió:Pregunta… donde puedo sacar info o como conecto mi WDTV LIVE con ubuntu 10.4 red. es decir poner en red
PuMa escribió:A alguno le funciona cinetube peliculas?
promet07 escribió:hoy intentaba ver el ultimo capitulo de "El Internado" desdee el plugin de "Antena 3" y a los dos minutos o menos se ponia a dar tirones hasta que se paraba por completo. Luego probé a verlo a traves de "Series yonkis" e idem de lo mismo. A alguien le ha pasado?
promet07 escribió:Por lo demas, perfecto! He visto varias pelis desde "cinetube" y sin problemas, eso si, muchas no funcionan, sobre todo las de "estrenosonline".
Gracias amigos, sois unos cracks!!!
ChiLL escribió:promet07 escribió:hoy intentaba ver el ultimo capitulo de "El Internado" desdee el plugin de "Antena 3" y a los dos minutos o menos se ponia a dar tirones hasta que se paraba por completo. Luego probé a verlo a traves de "Series yonkis" e idem de lo mismo. A alguien le ha pasado?
A mi, y tenia pensado preguntarlo por si tenia solucion...
Gracias y saludos!
Prodboy escribió:Buenas, necesito ayuda.
¿Como puedo eliminar la linea de datos de la parte inferior cada vez que marco un archivo? es posible quitarla? uso el WDlxTV Live: 0.4.2.2 os dejo una foto para que veáis a que me refiero.