Página 1 de 8

TV/Pelis a la carta para reproductores con RTD1072/1283/1055

Publicado: 02 Jun 2011, 16:32
por calimocho
Este hilo es la continuación de lo escrito en http://blog.tvalacarta.info/plugin-xbmc/ tras la petición de Etherwalk de una versión para el reproductor HMR-2000 de O2Media.

Jesús, no tengo Wii y no sé si el PLS al que te refieres es el mismo usado como lista de reproducción de Audio. En los firmwares de estos reproductores se soporta el formato PLS, aunque únicamente se utiliza para la listas de emisoras de radio por internet. No tengo ni idea de si un PLS generado por la versión para Wiimc de Pelisalacarta podría ser aceptado tal cual.

Si lo modificas para que genere ficheros RSS supongo que funcionaría, sobre todo si los vídeos son MP4. Con los FLV me imagino que dependerá del reproductor y el firmware que lleve. Los últimos aparatos con firmwares basados en el SDK4 soportan flash e incluso llevan una especie de navegador web aparte de incorporar el doble de memoria y procesadores más rápidos.

La información sobre el media-translate la podrás entender perfectamente si traduces la web (mejor al inglés que al español) con las herramientas del idioma de Google.

Saludos.

Re: TV/Pelis a la carta para reproductores con RTD1072/1283/

Publicado: 04 Jun 2011, 00:07
por jesus
Un PLS es una lista de reproducción que incluye vídeos, algo parecido al RSS pero mucho más antiguo.

http://en.wikipedia.org/wiki/PLS_(file_format)

En cuanto al formato, si el bicho no soporta FLV será complicado ver algo en Megavideo aunque tengo en mente evitar ese problema (que también existe en cierta forma en la Wii) usando vlc o mencoder para hacer transcoding en tiempo real. No debería ser un problema.

Tengo una duda respecto al RSS, así que me vendrá bien algo de ayuda:

1) ¿Puedes hacerme un par de capturas de pantalla de cómo se accede a un RSS desde el aparato? Me da igual fotos cutres de móvil, pero necesito ver la navegación completa para hacerme una idea. Un vídeo sería genial también.
2) ¿Hay forma de navegar dentro del RSS o son listas planas? El RSS soporta una forma de navegación, que utiliza por ejemplo YouTube, pero no se explota mucho.

Lo siento pero probé a traducir el media-translate y sigo sin entender nada. Está claro que es una forma de pasar de videos normales a RSS pero ¿Es un plugin? ¿Es una herramienta? ¿Es un servicio que corre en tu ordenador?

Re: TV/Pelis a la carta para reproductores con RTD1072/1283/

Publicado: 04 Jun 2011, 11:36
por calimocho
jesus escribió:Un PLS es una lista de reproducción que incluye vídeos, algo parecido al RSS pero mucho más antiguo.

http://en.wikipedia.org/wiki/PLS_(file_format)
Ahora mismo no tengo lista de emisoras de radio en mi HMR-600, pero parece que quienes sí la tienen usan ese mismo formato. Si me pasas un PLS generado en la Wii podría ver si mi reproductor es capaz de mostrar los vídeos o no.
jesus escribió:En cuanto al formato, si el bicho no soporta FLV será complicado ver algo en Megavideo aunque tengo en mente evitar ese problema (que también existe en cierta forma en la Wii) usando vlc o mencoder para hacer transcoding en tiempo real. No debería ser un problema.
Reproduce vídeos de Youtube, así que se supone que acepta FLV, pero en el propio Youtube hay vídeos que no es capaz de reproducir e incluso en algunos aparatos han sacado firmwares donde Youtube no funcionaba en absoluto. Tampoco se reproducían los FLV que hasta hace un tiempo habían en la web de Canal 9 (ahora los han cambiado a MP4 y no hay problemas).
jesus escribió:1) ¿Puedes hacerme un par de capturas de pantalla de cómo se accede a un RSS desde el aparato? Me da igual fotos cutres de móvil, pero necesito ver la navegación completa para hacerme una idea. Un vídeo sería genial también.
En Youtube tienes este vídeo del HMR-600H que viene a ser un clon del mío (en realidad el de O2media es un clon del Ellion):
http://www.youtube.com/watch?v=P20CFIak5bo

A partir del minuto 6:02 se entra en el menú IMS que son los servicios de Internet que trae el firmware por defecto. Todo lo que ves hasta el 9:13 está hecho a base de ficheros RSS que enlazan a otros RSS bien locales, bien en internet.
jesus escribió:2) ¿Hay forma de navegar dentro del RSS o son listas planas? El RSS soporta una forma de navegación, que utiliza por ejemplo YouTube, pero no se explota mucho.
No sé si te he entendido bien. Espero que el vídeo te lo haya aclarado. Lo que te puedo decir es que el menú IMS te abre el archivo menu.rss donde cada item es un elemento del menú, que puede tener su thumbnail y enlazar a otro rss (local o remoto) o a un vídeo directamente. También se admite elegir el "estilo" de la página entre unos pocos predefinidos (en el vídeo de Ellion: listas como las de youtube o, por ejemplo, tipo albúm de fotos como en el resultado de la búsqueda en Picasa). También es posible incluir scripts en un lenguaje parecido a javascript (nada de documentación, hay que guiarse por lo que encuentras en los rss que vienen en los firmwares) y abrir archivos XML desde ellos.
jesus escribió:Lo siento pero probé a traducir el media-translate y sigo sin entender nada. Está claro que es una forma de pasar de videos normales a RSS pero ¿Es un plugin? ¿Es una herramienta? ¿Es un servicio que corre en tu ordenador?
El media-translate es una especie de TV/Pelis a la carta en versión rusa y para los reproductores con este tipo de chips de Realtek. En estos aparatos la única forma de añadir algo al menú original para que aparezca en la pantalla de la TV es a través del menú IMS editando el archivo menu.rss y añadiendo items con enlaces a canales RSS (que no enlacen a páginas web) o a tus propios RSS locales. Para hacerlos más versátiles y dado que desde un RSS local no puedes ejecutar programas, lo que se hace en media-translate es añadir scripts bash (de busybox) a modo de CGIs al servidor web del aparato (también busybox) y los programas necesarios para convertir ciertas páginas webs con enlaces a vídeos a ficheros RSS que se sirven en el servidor web del reproductor.

Un ejemplo del menú de Chucky: En un rss local tenemos un item cuyo link es

<script>"http://127.0.0.1/cgi-bin/translate?app/ ... ";</script>

Esto lo que hace es abrir el fichero /cgi-bin/translate (parte del media-translate) que ejecutará mi script en bash situado en app/tve/series y le pasará como argumentos el index1 (la plantilla XML a usar al hacer la conversión) y la url de la página web a convertir. Entonces, mi script lo que hace es descargar el HTML (con el msdl que viene en media translate) y usar una plantilla XML y un XSL para extraer los enlaces/thumbnails y crear otro RSS que será lo que se mostrará en la TV cuando se elija dicha opción en nuestro menú. Al final del camino, si todo sale bien, después de seleccionar la serie, temporada y capítulo el último RSS tendrá el enlace del vídeo MP4 de RTVE y lo reproducirá directamente.

Como ves, no es muy diferente a lo que haces tú en TV a la carta. La única diferencia es que es todo mucho más rudimentario y hay que trabajar con bash, sed, grep, msdl, awk y xsltproc en vez de con python.

Espero que, por lo menos, te haya aclarado un poco más las cosas.

EDITO:
1 - Después de escribir el mensaje me di cuenta que la versión para Wiimc se ejecutaba en el PC, así que la probé y copié el pls inicial al HMR. Éste es capaz de abrirlo y te muestra los enlaces tanto de las imágenes como de las otras listas de reproducción pero para él se trata de archivos de audio y no sabe qué hacer con dichos archivos.

2 - Ya puestos, desde el mismo navegador del PC seguí los enlaces y descargué la primera película de megavideo que apareció. El flv resultante lo reprodujo mi HMR sin problemas. Así pues, si megavideo usa los mismos codecs en todas sus películas, no habría que preocuparse por nada.

Saludos.

Re: TV/Pelis a la carta para reproductores con RTD1072/1283/

Publicado: 04 Jun 2011, 17:01
por chucky
calimocho escribió:
1 - Después de escribir el mensaje me di cuenta que la versión para Wiimc se ejecutaba en el PC, así que la probé y copié el pls inicial al HMR. Éste es capaz de abrirlo y te muestra los enlaces tanto de las imágenes como de las otras listas de reproducción pero para él se trata de archivos de audio y no sabe qué hacer con dichos archivos.

2 - Ya puestos, desde el mismo navegador del PC seguí los enlaces y descargué la primera película de megavideo que apareció. El flv resultante lo reprodujo mi HMR sin problemas. Así pues, si megavideo usa los mismos codecs en todas sus películas, no habría que preocuparse por nada.

Saludos.
Hola Jesus.

Me presento, soy chucky, Calimocho ya me conoce de sobra, juntos estamos desarrollando cositas para el reproductor con el RTD1283.

Mis conocimientos en programacion, son nulos, y he visto que el nivel en este foro es bastante alto, asi que intentare ayudaros en los que pueda.

Al final iba a comentar que he probado un archivo .flv y el cubo lo reproduce sin problemas, asi que por ahi, bien

He arrancado el servidor en windows, y a mi los archivos que me genera son .plx ¿?

Al final como siempre calimocho se me ha adelantado :P

Saludos

Edit: He estado mirando, y mediante translate, se sopota .m3U y .XSPF ambos son formatos de listas de reproduccion, quiza, y digo quiza porque soy muy ignorante, con tan solo cambiar el formato de salida de la lista de reproduccion (evidentemente las listas de distintos formatos, tienen que tener unos parametros distintos) se pueda usar tv/pelisalacarta en los cubos.

Re: TV/Pelis a la carta para reproductores con RTD1072/1283/

Publicado: 08 Jun 2011, 00:02
por jesus
Gracias a los dos por vuestras explicaciones, y perdón por no contestar antes pero es que hasta ahora no había podido ver el vídeo. Me gusta el aparato, ¿cuanto vale? ¿lo tienen en los Media Markt o hay que comprarlo por la web?

Si he entendido bien vuestras instrucciones, bastaría con hacer que la versión para wiimc de pelisalacarta sirviera en un formato distinto. Esta version lo hace con PLS, que es lo que wiimc entiende, pero no cuesta nada modificarlo para que lo haga por RSS.

Siguiendo también mi razonamiento, y corregidme por favor si me equivoco, no necesitamos para nada el media-translate. Bastará con levantar el servidor en un PC (o router), y añadir la URL inicial (por ejemplo http://192.168.2.5:8093/cinetube/noveda ... /index.rss o algo así) al dispositivo. A partir de ahí la navegación en el dispositivo irá saltando de entrada en entrada hasta el vídeo sin problemas, y todo el procesamiento de las páginas web se hará en pelisalacarta como en otras plataformas.

Para hacer una versión de prueba, que podría ser fácil pero tendré que hacer a ciegas, necesito RSS completos con una navegación. Ver cómo es el RSS que muestra los menús de primer nivel, ver cómo se hace un elemento "item" para que vaya al siguiente nivel, y así hasta el vídeo.

Me gusta la idea, veremos si realmente es posible :)

Re: TV/Pelis a la carta para reproductores con RTD1072/1283/

Publicado: 08 Jun 2011, 14:45
por calimocho
jesus escribió:Gracias a los dos por vuestras explicaciones, y perdón por no contestar antes pero es que hasta ahora no había podido ver el vídeo. Me gusta el aparato, ¿cuanto vale? ¿lo tienen en los Media Markt o hay que comprarlo por la web?
El HMR-600W ahora está en 169 euros en la web de 02Media. Si no te interesa la grabación de una fuente externa (únicamente grabar de la TDT), tienes el HMT-600 por 129 euros. Eso sin disco interno (no es imprescindible, pero sí recomendable). El mío lo compré en la web (PCcomponentes.com) y me parece que no se suele vender en grandes superficies. Eso sí, reproductores similares (mismo chipset, mismo firmware, diseño, caja y otros componentes distintos) o prácticamente iguales hay unos cuantos y seguro que alguno lo encuentras en Media Markt, en Carrefour o en El Corte Inglés y quizá más baratos. De todas formas, yo te recomendaría que, si no te corre prisa, te lo tomases con calma y esperases a que en España salgan los nuevos modelos (chip un 20% más rápido, doble memoria, red Gigabit, USB 3.0). En algunos países ya se están vendiendo y en España supongo que no tardarán mucho en aparecer (si es que no hay alguno por ahí ya). Aunque al final te quedaras con uno de los antiguos, sería a mejor precio que el actual.
jesus escribió:Si he entendido bien vuestras instrucciones, bastaría con hacer que la versión para wiimc de pelisalacarta sirviera en un formato distinto. Esta version lo hace con PLS, que es lo que wiimc entiende, pero no cuesta nada modificarlo para que lo haga por RSS.
Exacto.
jesus escribió: no necesitamos para nada el media-translate. Bastará con levantar el servidor en un PC (o router), y añadir la URL inicial (por ejemplo http://192.168.2.5:8093/cinetube/noveda ... /index.rss o algo así) al dispositivo. A partir de ahí la navegación en el dispositivo irá saltando de entrada en entrada hasta el vídeo sin problemas, y todo el procesamiento de las páginas web se hará en pelisalacarta como en otras plataformas.
Vuelves a estar en lo cierto.
jesus escribió:Para hacer una versión de prueba, que podría ser fácil pero tendré que hacer a ciegas, necesito RSS completos con una navegación. Ver cómo es el RSS que muestra los menús de primer nivel, ver cómo se hace un elemento "item" para que vaya al siguiente nivel, y así hasta el vídeo.
Ejemplos tienes bastantes en http://www.metafeeds.com/ (por ejemplo: http://www.metafeeds.com/api/miroguide/toprated ). La mayoría te debería servir como ejemplo de menú de primer nivel y para la navegación (el formato del enlace para abrir el siguiente nivel). Para el último nivel te puede valer el rss que enlazaste tú http://feeds.feedburner.com/WeeklyMarinePodcast-ipod. Ahí lo importante sería el <media:content url="http://....> que debería incluir cada item. También te puede venir bien echarle un vistazo a la única guía disponible sobre el tema: http://forum.xtreamer.net/mediawiki-1.1 ... _RSS_Guide. Puedes descargar el menú de Chucky (http://www.megaupload.com/?d=VT49JW9I) o el propio media-translate (que también es un menú IMS por sí mismo, si te fijas en la carpeta rss), aunque supongo éstos ya son demasiado tochos.

Si no te aclaras con algo o necesitas algo en concreto, aquí estamos.

Saludos.

Re: TV/Pelis a la carta para reproductores con RTD1072/1283/

Publicado: 08 Jun 2011, 23:08
por jesus
Con eso tengo bastante para comenzar, gracias :)

Re: TV/Pelis a la carta para reproductores con RTD1072/1283/

Publicado: 18 Jul 2011, 20:56
por egoeimai
Hola, soy nuevo en el foro. He llegado a este hilo buscando información sobre como usar pelisalacarta en un equipo IAMM 83 (uno de los tantos que hay basados en Realtek). Como no he visto mucho movimiento me lo he currado por mi mismo y he conseguido modificar el launcher.py de la versión para wiiMC y hacer que funcione. Ahora mismo solo me queda ponerle una interfaz más atractiva y ver porque falla peliculasyonky y algún que otro stream. He decidido registrarme por si alguien quiere que le facilite información y a cambio en un futuro exista la opción de mi mediacenter en las próximas versiones que salgan. Lo dicho, a vuestra disposición.

Re: TV/Pelis a la carta para reproductores con RTD1072/1283/

Publicado: 20 Jul 2011, 18:40
por jesus
¡Estaría genial si me pasaras lo que has hecho!

Envíame un MP, o postéalo aquí directamente. Como prefieras.

Re: TV/Pelis a la carta para reproductores con RTD1072/1283/

Publicado: 22 Jul 2011, 12:14
por egoeimai
No se como adjuntar ficheros, pero si os sirve de ayuda os copio y pego el grueso de lo que he modificado en launcher.py:

if self.path == "/":
import channelselector
channelslist = channelselector.getmainlist()

f = open(CABECERA1)
f.seek(0)
respuesta += f.read()
respuesta += "<channel>\n"
respuesta += "<title>Pelisalacarta</title>\n"
respuesta += "<link>http:/127.0.0.1:9000/</link>\n"
for channel in channelslist:
respuesta += "<item>\n"
respuesta += "<title>"+channel.title+"</title>\n"
respuesta += "<link>http://"+host+"/"+channel.channel+"/"+channel.action+"/none/none/playlist.plx</link>\n"
respuesta += "<media:thumbnail url=\"http://www.mimediacenter.info/xbmc/"+PL ... nnel+".png\" />\n"
# respuesta += "<mediaDisplay name=\"onePartView\"/>\n"
respuesta += "</item>\n"
respuesta += "\n"

elif self.path.startswith("/channelselector/channeltypes"):

import channelselector
channelslist = channelselector.getchanneltypes()

f = open(CABECERA1)
f.seek(0)
respuesta += f.read()
respuesta += "<channel>\n"
respuesta += "<title>Canales-Tipo</title>\n"
respuesta += "<link>/channelselector/channeltypes</link>\n"
for channel in channelslist:
respuesta += "<item>\n"
respuesta += "<type>playlist</type>\n"
respuesta += "<title>"+channel.title+"</title>\n"
respuesta += "<link>http://"+host+"/"+channel.channel+"/"+channel.action+"/"+channel.category+"/none/playlist.plx</link>\n"
respuesta += "<media:thumbnail url=\"http://www.mimediacenter.info/xbmc/"+PL ... nnel+".png\" />\n"
# respuesta += "<mediaDisplay name=\"onePartView\"/>\n"
respuesta += "</item>\n"
respuesta += "\n"

elif self.path.startswith("/channelselector/listchannels"):

category = self.path.split("/")[3]
print "##category="+category

import channelselector
channelslist = channelselector.filterchannels(category)

f = open(CABECERA1)
f.seek(0)
respuesta += f.read()
respuesta += "<channel>\n"
respuesta += "<title>Lista de canales</title>\n"
respuesta += "<link>/channelselector/listchannels</link>\n"
for channel in channelslist:
if channel.type=="generic" or channel.type=="wiimc":
respuesta += "<item>\n"
respuesta += "<type>playlist</type>\n"
respuesta += "<title>"+channel.title+"</title>\n"
respuesta += "<link>http://"+host+"/"+channel.channel+"/mainlist/none/none/playlist.plx</link>\n"
respuesta += "<media:thumbnail url=\"http://www.mimediacenter.info/xbmc/"+PL ... nnel+".png\" />\n"
# respuesta += "<mediaDisplay name=\"onePartView\"/>\n"
respuesta += "</item>\n"
respuesta += "\n"

else:
from platform.wiimc import wiitools
itemlist,channel = wiitools.getitems(self.path)

import urllib
if "/play/" in self.path:
f = open(CABECERA2)
f.seek(0)
respuesta += f.read()
respuesta += "<channel>\n"
respuesta += "<title>Pelisalacarta</title>\n"
respuesta += "<link>%s</link>\n" % self.path
else:
f = open(CABECERA1)
f.seek(0)
respuesta += f.read()
respuesta += "<channel>\n"
respuesta += "<title>Fuentes</title>\n"
respuesta += "<link>%s</link>\n" % self.path

for item in itemlist:
respuesta += "<item>\n"
if item.action=="search":
if item.server=="": item.server="none"
if item.url=="": item.url="none"
url = "http://%s/%s/%s/%s/%s/playlist.plx" % ( host , channel , item.action , urllib.quote_plus(item.url) , item.server )
respuesta += "<type>search</type>\n"
respuesta += "<title>%s</title>\n" % item.title
if item.thumbnail != "":
respuesta += "<media:thumbnail url=\"%s\" />\n" % item.thumbnail
respuesta += "<link>%s</link>\n" % url
# respuesta += "<mediaDisplay name=\"onePartView\"/>\n"
respuesta += "\n"

elif item.folder or item.action=="play":
if item.server=="": item.server="none"
if item.url=="": item.url="none"
if item.title=="": item.title="Ver el video-"

url = "http://%s/%s/%s/%s/%s/playlist.plx" % ( host , channel , item.action , urllib.quote_plus(item.url) , item.server )
respuesta += "<type>playlist</type>\n"
respuesta += "<title>%s</title>\n" % item.title
if item.thumbnail != "":
respuesta += "<media:thumbnail url=\"%s\" />\n" % item.thumbnail
respuesta += "<link>%s</link>\n" % url
# respuesta += "<mediaDisplay name=\"onePartView\"/>\n"
respuesta += "\n"
else:
respuesta += "<title>%s</title>\n" % item.title
respuesta += "<translate>Content-type:video/x-flv</translate>\n"
respuesta += "<protocol>http</protocol>\n"
respuesta += "<location><script>translate_base_url+\"stream,,%s\";</script></location>\n" % item.url
respuesta += "<stream_url><script>translate_base_url+\"stream,,%s\";</script></stream_url>\n" % item.url
respuesta += "<stream_class>video</stream_class>\n"
respuesta += "<stream_protocol>http</stream_protocol>\n"
respuesta += "<image>%s</image>\n" % item.thumbnail
respuesta += "<mediaDisplay name=\"onePartView\"/>\n"
respuesta += "\n"
respuesta += "</item>\n\n"

respuesta += "</channel>\n"
respuesta += "</rss>\n"



Los ficheros CABECERA1 y CABECERA2 contienen los inicios de los ficheros rss-xml que contienen diferentes scripts dependiendo de si se trata de un menu o de los enlaces finales a los streams. Son ademas los que controlan la presentación en pantalla y lo que me estoy currando para que quede chulo. Si los necesitas te los mando.

Saludos