Página 1 de 1

Nueva versión modificada, Pelisalacarta XBMC y HTML (Beta)

Publicado: 02 Abr 2015, 19:35
por divadr
Hola, chicos!

Para los amantes de la versión HTML traigo novedades! He estado liado modificando la versión HTML para asemejar lo mas posible su funcionamiento a la versión parar XBMC, he tenido que crear una herramienta que he llamada guitools.py, se encarga de gestionar el uso de las librerías especificas de cada plataforma, por poner un ejemplo:

Código: Seleccionar todo

def Dialog_OK(title, text):

  if "xbmc" in PLATFORM_NAME:
    import xbmcgui
    xbmcgui.Dialog().ok(title,text)
 
  elif "mediaserver" in PLATFORM_NAME:
    from platformcode.mediaserver import cliente
    cliente.Dialogo().MostrarOK(title,text)
Por ahora solo he puesto XBMC y HTML, para la versión HTML he creado otra herramienta llamada cliente.py, que equivaldría a xbmcgui, xbmcplugin, etc... tiene una serie de funciones para comunicarse con el cliente http y hacerle mostrar los diálogos oportunos.

Y aquí va lo importante:

Características de la nueva versión HTML:

1. Compatibilidad con los modulos porgramados para XBMC, tan solo hay que cambiarles las llamadas a xmbc.loquesea, por guitools.loquesea, yo ya he cambiado los necesarios para que funcione, pero si la propuesta es aceptada, seria cuestión de cambiarlos todos.

2. Nuevo diseño, basado en pelisalacarta 4.0.

3. Añadidos Dialogos: Alert, Progreso, Pregunta Si/No, Select, Teclado virtual, etc...

4. Los vídeos se reproducen en un Pop-up, dentro de la misma página, con las opciones disponibles hasta ahora, Enlace directo, VLC, HTML5

5. Menu de configuración renovado, ordenado por secciones, también en un popup, y se puede cargar desde cualquier canal con config.open_settings()

6. Biblioteca, favoritos, descargar, lista de descargas, todo funcionando igual que en XBMC

7. Diseño personalizable, editando el archivo pelisalacarta.css, (en un futuro se pueden crear varios diseños y que se puedan escoger desde el cliente, guardar la selección mediante cookies, asi cada cliente podría tener un diseño mas acorde a sus características)

8. Multicliente, Pueden estar varios clientes conectados a la vez y utilizando pelisalacarta en el mismo server

9. Muchas cosas que seguro que me dejo...

Para que todo esto funcione he tenido que usar una conexión websocket cliente/servidor, por defecto en el puerto 8081, navegadores antiguos pueden no ser compatibles, si se carga la página, pero no aparecen las opciones, es que el navegador no es compatible.

Por ahora se que en el blusens, no funciona, aunque todavía me niego a creer que no sea compatible, ya que en el foro de blusens hay un mensaje de 2011 diciendo que no es compatible con websockets, pero que están trabajando en incorporar esta opcion, y de eso ya hace 4 años!

De todos modos, es posible hacer otra versión que en vez de usar websockets, utilize peticiones http, cada x segundos, para comunicar el cliente con el servidor, pero el rendimiento es mucho mejor así, y en principio todos los navegadores con soporte HTML5 deberían funcionar.

Problemas:

Uno de los principales problemas de pelisalacarta HTML, son los "referer", cuando el navegador solicita contenido fuera del server python, (imágenes, videos, etc) envía una cabecera indicando la página de donde proviene dicha solicitud, algunos servers, como medida de protección para que no se enlace a su contenido desde otras páginas, bloquean la conexión, o te muestran otro contenido genérico.

Para solucionar esto con las imágenes, he creado un pequeño "proxy" con el server de python y mediante JavaScript, si la imagen no se carga correctamente, realiza la petición a través del server python, y este solicita la imagen al servidor sin referer, ya que desde JavaScript no se puede eliminar el referer.

El problema viene con los videos, que para hacer lo mismo, el "proxy" tendría que ser un poco mas complejo, para poder solicitar parte del vídeo, avanzar, retroceder, si paras la reproducción, que no siga descargando, etc...

Actualmente esta es la situación:

En PC: con el plugin VLC va perfecto, ya que no envía referer
En Android: (y supongo que iOS igual) puedes abrir el video directamente en el reproductor de android u otro que tengas instalado y va perfectamente.
En WebTV: ahí es donde tengo dudas, ya que no dispongo de ninguna, reproducioendo los videos en HTML5, en principio tendríamos el problema, abrir el enlace directamente, no se como reaccionaria, así que es cuestión de probar

De todas formas este problema esta desde siempre, y creo que afecta a muy pocos servers.

Aquí os la dejo para que podáis trastear y opinar!!!
Espero que os guste.

Re: Nueva versión modificada, Pelisalacarta XBMC y HTML (Be

Publicado: 03 Abr 2015, 08:56
por divadr
se me olvido decir... que el adjunto contiene solo los archivos modificados, tenéis que sobrescribirlos a la ultima versión del svn

Re: Nueva versión modificada, Pelisalacarta XBMC y HTML (Be

Publicado: 05 Abr 2015, 14:42
por supercopito
Gracias la probaremos.

Re: Nueva versión modificada, Pelisalacarta XBMC y HTML (Be

Publicado: 06 Abr 2015, 07:50
por supercopito
Lo he estado probando en el pc y he de decir que me dejas bocabierto esta muy bien. :shock: :shock:

Re: Nueva versión modificada, Pelisalacarta XBMC y HTML (Be

Publicado: 14 Abr 2015, 19:23
por super_berny
divadr, perdona por la tardanza, pero he estado un poco liado con otros temas y hasta hoy no me he podido mirar tu codigo.
Aun no lo he probado, pero lo que he visto me gusta. ¿Podriamos decir q ya tenemos un launcher independiente de la plataforma?

Voy a intentar combinar tu trabajo con mi github a ver si salgo de esta :lol:

Re: Nueva versión modificada, Pelisalacarta XBMC y HTML (Be

Publicado: 15 Abr 2015, 12:49
por divadr
Podriamos tenerlo independiente por lo menos para estas 2 plataformas... para las demas tengo q estudiarlo... no se aun que camino tomara pelisalacarta 4.0 y por lo tanto no se si a la larga sera viable...
Esperate antes de convinar porque pronto subire una segunda version con algunos fallos corregidos...

Re: Nueva versión modificada, Pelisalacarta XBMC y HTML (Be

Publicado: 17 Abr 2015, 07:33
por super_berny
divadr escribió:Esperate antes de convinar porque pronto subire una segunda version con algunos fallos corregidos...
Ok sigo esperando y pensando :D
A ver q te parece: Creo q core/guitools.py se podria enfocar como una interface, es decir declaramos todos los metodos q han de tener todas las plataformas y llamamos al metodo especifico del un archivo plataformcode/guitools.py. Algo similar a lo que hace core/config.
De este modo independizamos el codigo de cada plataforma y sera mas facil irlas manteniendo.

Re: Nueva versión modificada, Pelisalacarta XBMC y HTML (Be

Publicado: 17 Abr 2015, 07:50
por supercopito
Yo puedo comentar que al final se ha conseguido funcionar para el blusens y va muy bien, con algunos bug pero seguro que esto se arregla, y pienso que lo suyo fuese que se hiciese lo mas compatible para la mayoría de plataformas, de esa forma se agilizaría el desarrollo/evolución de todo lo que se haga ya que hacerse para una plataforma podría valer para otras, pongo un ejemplo a la hora de agregar series o peliculas a la biblioteca en la verisón anterior a la modificada por divdadr no se podía y así muchas cosas ....

Re: Nueva versión modificada, Pelisalacarta XBMC y HTML (Be

Publicado: 17 Abr 2015, 07:53
por divadr
si, es una opción... de momento lo hice así, porque era mas rápido, pero claro esta, que se puede hacer de muchas formas, y habrá que buscar la que mejor se integre con el resto del código.

Re: Nueva versión modificada, Pelisalacarta XBMC y HTML (Be

Publicado: 27 Abr 2015, 14:40
por kaptus
Buenas!!


Esta version se puede probar en un smartv?

saludos kaptus