[HILO OFICIAL] WESTERN DIGITAL HD TV LIVE

juliojs escribió:osdMod_UMSP_pack_v0.81

Qué chulo ha quedado, muchas gracias juliojs. Muchas gracias también PuMa por series21. La gente que viene a casa de visita flipa con el aparato tal y como está después del currazo vuestro [plas] [plas]
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!


Julio, llevo usándolo desde hace un montón de tiempo pero no me acordaba de donde lo había sacado ni quien era su autor :-? , por eso no lo añadí. Por supuesto el mérito es del que lo parió así que puedes cambiar lo que te parezca.
Un saludo.
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ó: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)
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


No creo que deje de aceptar mkvs!!! A lo mejor te refieres al WD mini, que ese ya no se si soportaba mkv de origen. Pero el WD Live, fijo que acepta mkv, y además la última versión oficial 1.02.21 sí que lo acepta sin problemas.

Saludos
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)


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.
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!!
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!!!!
Necesito ayuda, estoy toqueteando estos dias el WDTV LIVE HD, lo tengo actualizado a la ultima versión oficial y con el WDlxTV Live: 0.4.2.2 el caso es que estoy probando plantillas para mis sipnosis pero tengo un problema, no consigo poner los cuadros de selección en forma horizontal, me explico es como los de la imagen:

Imagen

Que tengo que hacer para que los cuadros de selección salgan así y no verticales con formato carátula? he estado mirando el archivo de configuración del WDlxTV Live: 0.4.2.2 pero no doy con la tecla, como puedo conseguir ponerlos?

GRACIAS!!!
Hola,
ayer se me fue la luz en casa. Después de poner los plomos en su sitio seguí trasteando con el ordenata. Vi que juliojs había sacado una versión nueva del pack de plugins y me puse a actualizar.

Peeero, al hacer el ftp a la dirección del WD no conectaba... revise la conexión y todo ok...

Menos mal que me acorde de los plomitos... mire la ip en el WD y chimpon, había cambiado el último número.

Total, la pregunta: ¿puedo ponerla fija? Por cierto, me conecto por cable.
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?
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?


Si, le pasas el mkvmerge poniendo en Compresión "Ninguna" y ya está. El proceso no recodifica el video, y dura unos 5 minutos, no mucho más!
soymicmic escribió:Total, la pregunta: ¿puedo ponerla fija? Por cierto, me conecto por cable.

Sí. Cuando configuras los parámetros de red del WD llega un momento en que te da a elegir si lo quieres automático o manual. Elige manual, rellena los datos y ya está. Yo lo tengo así precisamente para evitar que me pase eso.
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!!!!


Gracias por la Info, lo acabo de hacer, aveces tambien me pasaba a mi.
Juliojs puedes decirme que lineas tengo que cambiar en el S00custom-options del WDLXTV_LIVE para dejar la apariencia de los iconos de video exactamente igual que la tenias tu en el OSDMOD? Es decir, que quiero que se vean los iconos de video de 12 en 12 y no de 8 en 8; pero no solo eso(que ya consegui) sino que sean del mismo tamaño y la misma separacion entre los iconos(que es lo que ya no consigo)
Gracias
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.
¡Buenos días!

Nueva revisión de peliculasyonkis.php

Cambios
# @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


<?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&eacute;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;
}


?>


A disfrutarla
kito0791 escribió:¡Buenos días!

Nueva revisión de peliculasyonkis.php

Cambios
# @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




A disfrutarla


Gracias por el curro!!!!
kito0791 escribió:¡Buenos días!

Nueva revisión de peliculasyonkis.php

Cambios
# @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

...
A disfrutarla


GRACIAS KITO, sigue así mákina!! Se sabe algo de plugin de RTVE (sin ánimo de meter prisa) sólo si se había echado un ojo... q bastante hacéis!
PuMa está baneado por "se acabó lo que se daba"
kito0791 escribió:¡Buenos días!

Nueva revisión de peliculasyonkis.php

Cambios
# @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




A disfrutarla


Estaba justo haciendo lo mismo, o parecido XD

Una cosa, quita "Buena Calidad" de todas las pelis, quita buena y deja calidad


PD: Ya lo quito yo
<?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&eacute;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;
}


?>


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 XD

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)
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 XD

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&eacute;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
PuMa está baneado por "se acabó lo que se daba"
kito la web tiene un critero como el culo.

Para mi sólo hay buena calidad ( si es DVD RIP - DVD SCREENER-BR SCREENER O HD )

Ellos ponen como buena calidad CAM O TS SCREENER y eso es engañar a la gente :p

Asi que como quieras, yo dejo que muestre solo la calidad que no ponga ni buena ni media ni mala ya que su criterio no esta bien.

Cada uno que lo ponga como quiera


PD: EStrenos online hay que pegarle un repasoXD
PuMa escribió:PD: EStrenos online hay que pegarle un repasoXD


Le echaré un vistazo
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 XD

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&eacute;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


Gracias por esta actualización! es un detalle que echaba en falta aunque yo también creo que es mejor que dejes sólo el formato (DVDrip,screener,etc) ya que según parece se atreven a llamar buena calidad a un screener :-?

Yo soy exigente ya que cualquier cosa por debajo de un DVDRip no la veo.El Audio es tan importante como la imagen por eso no quiero saber nada de los screeners.Ni que no hubiera películas DVDrips para ver mientras no salen las más recientes en DVD
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.
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.


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...
si quieres que alguien te ayude en la compilacion
lo podrias colgar aqui
http://forum.wdlxtv.com/viewtopic.php?f ... 5&start=40

que te parece?
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?
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?


Al contrario es poner # delante de la linea y asi no la carga.
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 .
¿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.
Hola quería preguntar si va fluida la reproduccion de mkv a traves de pendrives.

Un saludo y gracias.
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.



Solo con los firm de b-rad se puede instalar un pluggin llamado autores (creo recordar) que hace lo que tu quieres, en el ultimo firm 4.2.2 incluso viene inplementado ya en el propio firm.
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 .


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!
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/ [chulito] [jaja]
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!


Borra el viejo antes, y no reinicies o te volverá a coger el TGZ ...
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!
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/ [chulito] [jaja]


Que malas son las prisas, lo siento [ayay]
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...
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...


Explica melo mejor y si necesito algo mas dime lo, a si mañana lo pruebo a ver si hay suerte y funciona.
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.


No te lo puedo explicar mejor, sólo tienes que sustituir lo que hayas actualizado en /tmp/umsp-plugins , nada más...
Pregunta… donde puedo sacar info o como conecto mi WDTV LIVE con ubuntu 10.4 red. es decir poner en red
PuMa está baneado por "se acabó lo que se daba"
A alguno le funciona cinetube peliculas?
gois74 escribió:Pregunta… donde puedo sacar info o como conecto mi WDTV LIVE con ubuntu 10.4 red. es decir poner en red


Mientras estén en la misma red no vas a tener problemas, comparte alguna carpeta y verás que aparece el nombre del pc para seleccionar en el menú.

PuMa escribió:A alguno le funciona cinetube peliculas?


Probadas un par de pelis ahora mismo y sin problemas...
Gracias por el gran trabajo realizado y por hacernos un poquito mas felices con nuestro WD. Solo una preguntilla, 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?

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!!!
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.

Imagen
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... [snif]


Gracias y saludos!
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!!!


Estoy modificando estrenosonline, pero lo que si he podido comprobar al menos en una peli es que muchos de los enlaces a megaupload ya no están disponibles, así que aunque el plugin no esté completamente funcional, es posible que enlaces que aparecen luego no estén en MU.
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... [snif]


Gracias y saludos!


A mi también me pasa, y juraria que a más gente, pero nadie sabe nada. Yo agradezco enormemente el trabajo que se está haciendo con los plugins, pero claro, si al final, para lo que realmente es el cacharro (ver pelis o series online) si no me funciona...

Estoy intentando mirar en algún log del propio WD a ver si encuentro alguna información. Un compañero decia que tenía problemas al iniciar algunos videos con el autores activado, pero no creo que tenga que ver con nuestro problema (el video empieza, el problema viene después).

Saludos y gracias a todos por el curre!
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.

Imagen


¿como has hecho esas sinopsis de series? Yo sólo se hacer las de peliculas, imagino que existirá alguna plantilla ¿cual?.

Gracias por adelantado.
11196 respuestas