Home

Sugerencia EPG canales IPTV

satup

Usuario
Amigo OpenSPA
14 Sep 2010
35
2
0
Modifico el post y agrupo los avances.

Picons en canales IPTV y DVB

Un poco de teoría. Los skins, por defecto, utilizan la referencia del canal para buscar el picon, ésto puede verse abriendo el skin con el e2skinner y buscando la localización de los picons. Ésto no puede ocurrir en el caso de los IPTV, puesto que no podemos añadir caracteres especiales al nombre del picon, por lo que para esos casos utilizaremos el nombre del canal (nombre exacto).
Debido a que si el skin no encuentra el picon muestra el picon por defecto, debemos cambiar éste por una imagen transparente (adjunto abajo) para que muestre el fondo.

Ahora la práctica, si no habeis cambiado nada, el skin por defecto estará en la carpeta /usr/share/enigma2/BlackModernHD_openSPA, una vez allí cambiar el picon_default.png por el adjunto y editar el archivo skin.xml y buscar y modificar estas líneas


Código:
<widget source="session.CurrentService" render="Picon" position="122,33" size="100,60" zPosition="9" transparent="0" alphatest="on">
      <convert type="nBmExtendedServiceInfo">Reference</convert>
    </widget>

por

Código:
<widget source="session.CurrentService" render="Picon" position="122,33" size="100,60" zPosition="9" transparent="0" alphatest="on">
      <convert type="nBmExtendedServiceInfo">Reference</convert>
    </widget><widget source="session.CurrentService" render="Picon" position="122,33" size="100,60" zPosition="9" transparent="0" alphatest="on">
      <convert type="nBmExtendedServiceInfo">Name</convert>
    </widget>

Código:
<widget source="session.CurrentService" render="Picon" position="53,596" size="100,60" zPosition="10" transparent="1" alphatest="on">
      <convert type="ServiceName">Reference</convert>
    </widget>

por

Código:
<widget source="session.CurrentService" render="Picon" position="53,596" size="100,60" zPosition="10" transparent="1" alphatest="on">
      <convert type="ServiceName">Reference</convert>
    </widget>
    <widget source="session.CurrentService" render="Picon" position="53,596" size="100,60" zPosition="10" transparent="1" alphatest="on">
      <convert type="ServiceName">Name</convert>
    </widget>

una vez hecho esto, reiniciar GUI y añadir los picons de los IPTV a la carpeta de los picons, por defecto /usr/share/enigma2/picon

Canales con URL cambiante

Hay cierto canales en directo, que cambian su URL con el tiempo, tipo MiTele.es o algunos de suscripción. Estos canales se podían ver en el TVWeb, que mediante un script en Python obtenía la URL, pero no se podían ver en la lista de canales, puesto que cambiaba, pero utilizando el OpenWebif, por defecto en la OpenSPA, como servidor estático, podemos obtener la URL y reproducirla.

Para ello vamos a la carpeta /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers, y añadimos al archivo web.py

Código:
def P_iptv(self, request):
            if  request.args["server"][0]==id_del_server :
                        '''introducir el código para obtener el enlace'''
            return zapService(self.session, "4097:0:0:0:0:0:0:0:0:0:"+enlace+":"+request.args["name"][0],request.args["name"][0])
Ahora tenemos que añadir los canales a nuetra lista, la url tiene que ser tipo http://ip_del_deco/web/iptv?server=id_del_server&channel=id_del_canal&name=nombre_del_canal

Reiniciamos GUI y listo, de momento no puede zapear con canal+ canal-, puesto que al reproducir un canal no existente, se vuelve al inicio de la lista, y hay que cambiar desde la lista

EPG en canales IPTV

De momento no he conseguido hacerlo funcionar, sigo investigando
 

Adjuntos

  • picon_default.png
    picon_default.png
    261 bytes · Visitas: 76
  • Me gusta
Reactions: Antrusky y jpbravo

satup

Usuario
Amigo OpenSPA
14 Sep 2010
35
2
0
He estado investigando y he visto que con el CrossEPG, canales como los de Rai, utilizan un script en python para descargar la EPG de la web y luego lo enlazan con el servicio especificado en el archivo de configuración, buscando en el lamedb.

Supongo que podría hacerse lo mismo con los IPTV, pero no sé cómo añadirlos al lamedb, si alguien sabe y me dice cómo podría probarlo.

Gracias
 

satup

Usuario
Amigo OpenSPA
14 Sep 2010
35
2
0
He añadido los canales IPTV al lamedb, y funcionan, cambiando el 4097:0:0:0 por 1:0:1:(id) (el id vale para diferenciarlos).

He probado el script de la Rai del CrossEPG con uno de esos canales y con un canal de DVB-S.

Funciona perfecto en el canal de DVB-S, pero no funciona en el IPTV, que deja de funcionar.
No sé si es por el cambio de 4097 a 1 o por qué, pero no funciona.

Seguiré probando

EDITO: He vuelto a poner el 4097:0:0:0 y ya se ven, pero sigo sin poder poner la EPG, creo que lo detecta como un canal IPTV y no muestra EPG
 

satup

Usuario
Amigo OpenSPA
14 Sep 2010
35
2
0
Comento, sigo sin saber añadir un canal IPTV al lamedb (tampoco sé si se puede) y que lo relacione con el bouquet, si alguien sabe y me lo dice le estaría muy agradecido.

También estoy interesado en añadir canales que cambian su URL (tipo MiTele), sé que en el TVWeb se puede (lo he hecho), pero me gustaría hacerlo en la lista de canales.
Se me ha ocurrido usar el OpenWebif como servidor estático para redirigir las peticiones, redirige las peticiones, pero no muestra el video en rtmp (tanto en PC como en AzBox), en http funciona perfectamente en PC pero no en el AzBox, para ello he usado el comando redirect en el archivo web.py añadiendo un nuevo comando.

Saludos
 

morser

OpenSpa Team
Miembro del equipo
21 Mar 2007
7.207
1.306
0
56
Con el spzAddIPTV se añaden los canales IPTV a la lista de canales, puedes crear un bouquet y añadirlos alli uno a uno o en masa y luego te saldran en la lista de canales en el bouquet donde los hayas añadido.
 

satup

Usuario
Amigo OpenSPA
14 Sep 2010
35
2
0
Con el spzAddIPTV se añaden los canales IPTV a la lista de canales, puedes crear un bouquet y añadirlos alli uno a uno o en masa y luego te saldran en la lista de canales en el bouquet donde los hayas añadido.

Sí, eso ya lo sé, pero hay canales como los de MiTele.es que cambia el enlace con el tiempo, y yo lo que quería saber es cómo añadirlos y que cambien automáticamente el enlace con el tiempo, por eso era lo del servidor, que como he dicho funciona perfectamente en el PC en el caso de enlaces http.
 

morser

OpenSpa Team
Miembro del equipo
21 Mar 2007
7.207
1.306
0
56
Con el spzAddIPTV se añaden los canales IPTV a la lista de canales, puedes crear un bouquet y añadirlos alli uno a uno o en masa y luego te saldran en la lista de canales en el bouquet donde los hayas añadido.

Sí, eso ya lo sé, pero hay canales como los de MiTele.es que cambia el enlace con el tiempo, y yo lo que quería saber es cómo añadirlos y que cambien automáticamente el enlace con el tiempo, por eso era lo del servidor, que como he dicho funciona perfectamente en el PC en el caso de enlaces http.

Es imposible poner enlaces que cambien. En el Tvweb cuando eliges el video te busca el enlace y una vez encontrado pulsas la tecla verde y el video se ve, pero si tardas mas de 5 segundos en pulsar al tecla verde no se vera porque los enlaces de mitele caducan a los 5 segundos. En el TVweb bastaria entonces con salir hacia atras y volverle a dar para que vuelva a buscar el enlace pero en los IPTV de la lista de canales ere tu el que pone el enlace y si no lo cambias tu no se modifica nunca.
 

satup

Usuario
Amigo OpenSPA
14 Sep 2010
35
2
0
Con el spzAddIPTV se añaden los canales IPTV a la lista de canales, puedes crear un bouquet y añadirlos alli uno a uno o en masa y luego te saldran en la lista de canales en el bouquet donde los hayas añadido.

Sí, eso ya lo sé, pero hay canales como los de MiTele.es que cambia el enlace con el tiempo, y yo lo que quería saber es cómo añadirlos y que cambien automáticamente el enlace con el tiempo, por eso era lo del servidor, que como he dicho funciona perfectamente en el PC en el caso de enlaces http.

Es imposible poner enlaces que cambien. En el Tvweb cuando eliges el video te busca el enlace y una vez encontrado pulsas la tecla verde y el video se ve, pero si tardas mas de 5 segundos en pulsar al tecla verde no se vera porque los enlaces de mitele caducan a los 5 segundos. En el TVweb bastaria entonces con salir hacia atras y volverle a dar para que vuelva a buscar el enlace pero en los IPTV de la lista de canales ere tu el que pone el enlace y si no lo cambias tu no se modifica nunca.


Eso era lo que yo quería, que cambiara automáticamente, por eso lo de utilizar el servidor del OpenWebif como dirección estatica tipo http://127.0.0.1/web/iptv?url=parametros_para_reconocer_el_video para añadir al bouquet, y ese script python que cambie la url, no sé si me explico.

Esto funciona en el PC con enlaces http, pero nada más, no sé si tú que sabes más del tema podrías ayudarme
 

morser

OpenSpa Team
Miembro del equipo
21 Mar 2007
7.207
1.306
0
56
Sí, eso ya lo sé, pero hay canales como los de MiTele.es que cambia el enlace con el tiempo, y yo lo que quería saber es cómo añadirlos y que cambien automáticamente el enlace con el tiempo, por eso era lo del servidor, que como he dicho funciona perfectamente en el PC en el caso de enlaces http.

Es imposible poner enlaces que cambien. En el Tvweb cuando eliges el video te busca el enlace y una vez encontrado pulsas la tecla verde y el video se ve, pero si tardas mas de 5 segundos en pulsar al tecla verde no se vera porque los enlaces de mitele caducan a los 5 segundos. En el TVweb bastaria entonces con salir hacia atras y volverle a dar para que vuelva a buscar el enlace pero en los IPTV de la lista de canales ere tu el que pone el enlace y si no lo cambias tu no se modifica nunca.


Eso era lo que yo quería, que cambiara automáticamente, por eso lo de utilizar el servidor del OpenWebif como dirección estatica tipo http://127.0.0.1/web/iptv?url=parametros_para_reconocer_el_video para añadir al bouquet, y ese script python que cambie la url, no sé si me explico.

Esto funciona en el PC con enlaces http, pero nada más, no sé si tú que sabes más del tema podrías ayudarme

Sinceramente no lo veo. El Tvweb revisa el codigo fuente de la pagina web para buscar el enlace, se deberia hacer algo que cuando pongas un canal de estos revise la pagina web y devuelva el enlace del video pero para esto se deberia modificar el codigo de enigma porque si ahora en la url de la lista de canales pones la direccion de un script por poner un ejemplo, no se vera nada porque el espera un video, no un codigo. Ademas, lo malo que tiene todo esto es que las paginas webs cambian bastante a menudo y la busqueda de los enlaces dejan de funcionar, sin contar de que cada web lo tiene de diferente manera por lo que seria necesario un script distinto para cada una. Por otro lado, lo logico es poner en la lista de canales emisiones en vivo, no videos a la carta, para eso ya esta el TVweb.
 

satup

Usuario
Amigo OpenSPA
14 Sep 2010
35
2
0
Es imposible poner enlaces que cambien. En el Tvweb cuando eliges el video te busca el enlace y una vez encontrado pulsas la tecla verde y el video se ve, pero si tardas mas de 5 segundos en pulsar al tecla verde no se vera porque los enlaces de mitele caducan a los 5 segundos. En el TVweb bastaria entonces con salir hacia atras y volverle a dar para que vuelva a buscar el enlace pero en los IPTV de la lista de canales ere tu el que pone el enlace y si no lo cambias tu no se modifica nunca.


Eso era lo que yo quería, que cambiara automáticamente, por eso lo de utilizar el servidor del OpenWebif como dirección estatica tipo http://127.0.0.1/web/iptv?url=parametros_para_reconocer_el_video para añadir al bouquet, y ese script python que cambie la url, no sé si me explico.

Esto funciona en el PC con enlaces http, pero nada más, no sé si tú que sabes más del tema podrías ayudarme

Sinceramente no lo veo. El Tvweb revisa el codigo fuente de la pagina web para buscar el enlace, se deberia hacer algo que cuando pongas un canal de estos revise la pagina web y devuelva el enlace del video pero para esto se deberia modificar el codigo de enigma porque si ahora en la url de la lista de canales pones la direccion de un script por poner un ejemplo, no se vera nada porque el espera un video, no un codigo. Ademas, lo malo que tiene todo esto es que las paginas webs cambian bastante a menudo y la busqueda de los enlaces dejan de funcionar, sin contar de que cada web lo tiene de diferente manera por lo que seria necesario un script distinto para cada una. Por otro lado, lo logico es poner en la lista de canales emisiones en vivo, no videos a la carta, para eso ya esta el TVweb.


Esto haría lo mismo, según la petición ejecutaría el código y redireccionaría al stream, he probado con un flv en http y funciona.
Evidentemente sería para streams en directo, pero tipo Telecinco o Cuatro en MiTele, que cambian cada poco tiempo.

Sigo investigando, de momento publico el código que funciona con los flv en http, hay que modificarlo y añadir los script para cada servidor.

En el archivo /usr/lib/enigma2/python/Plugins/Extensions/OpenWebif/controllers/web.py, hay que añadir el siguiente código

Código:
def P_iptv(self, request):
            if  request.args["server"][0]==introducir_id_server :
            request.redirect(introducir_url_video)
               
                return "a"
                else:
                        return "a"

se puede añadir más código para obtener el enlace.

De momento sólo funciona con lo dicho anteriormente, pero podría intentarse ampliar a más protocolos.

Para ejecutarlo, añadir en el bouquet la url http://ip_del_deco/web/iptv?server=id_del_server

Por cierto, para obtener picons tanto en IPTV como en canales normales hay que modificar el picon por defecto por uno transparente, y añadir el siguiente código en el skin.xml

Código:
<widget source="session.CurrentService" render="Picon" position="53,596" size="100,60" zPosition="10" transparent="1" alphatest="on">
  <convert type="ServiceName">Name</convert>
</widget>

Añadir los picon nombrados con el_nombre_del_canal.png a la carpeta de los picons y reiniciar GUI, con esto hacemos que los canales "normales" utilicen la referencia para el picon, y los IPTV utilicen el nombre
 

satup

Usuario
Amigo OpenSPA
14 Sep 2010
35
2
0
CONSEGUIDO!!!

El código que puse anteriormente no vale, cambiarlo por este

Código:
def P_iptv(self, request):
if request.args["server"][0]==introducir_id_server :
return zapService(self.session, "4097:0:0:0:0:0:0:0:0:0:url:nombre_canal,nombre_canal)

la url cambiar : por %3A

lo que hace es crear un nuevo canal "ficticio" (no lo mete en ningún bouquet) con la url nueva

el bouquet debe ser el mencionado en el otro post

Ahora a ver si puedo poner la EPG
 

alojamora

Usuario
Loco por OpenSPA
Fan de OpenSPA
20 Oct 2010
313
1
0
podrias explicarlo mas detalladamente, decir como se modifica el picon y donde esta el skin.xml , gracias
 

satup

Usuario
Amigo OpenSPA
14 Sep 2010
35
2
0
podrias explicarlo mas detalladamente, decir como se modifica el picon y donde esta el skin.xml , gracias


Editado el primer post con los tutoriales, si alguien sabe como cambiar el título del post que me lo diga para cambiarlo
 

alojamora

Usuario
Loco por OpenSPA
Fan de OpenSPA
20 Oct 2010
313
1
0
Muchas gracias satup perfectamente explicado pero no deja descargar el archivo picon_default.png
 

alojamora

Usuario
Loco por OpenSPA
Fan de OpenSPA
20 Oct 2010
313
1
0
Hecho tal como dices y me siguen sin salir los picon de los IPTV
 

satup

Usuario
Amigo OpenSPA
14 Sep 2010
35
2
0
Hecho tal como dices y me siguen sin salir los picon de los IPTV
¿Has añadido los picon nombrados con el nombre del canal.png (el nombre debe ser exacto, mayúsculas, espacios, todo) a la carpeta de picon con los atributos igual que los otros?

Sólo salen en la barra de info, por lo menos a mí
 

alojamora

Usuario
Loco por OpenSPA
Fan de OpenSPA
20 Oct 2010
313
1
0
A que te refieres con lo de nombre exacto, por ejemplo Esport 3 pongo Esport 3.png y la carpeta de los picon yo la tengo en media/usb estos deben ir dentro de esa carpeta tambien ¿no?
 

satup

Usuario
Amigo OpenSPA
14 Sep 2010
35
2
0
A que te refieres con lo de nombre exacto, por ejemplo Esport 3 pongo Esport 3.png y la carpeta de los picon yo la tengo en media/usb estos deben ir dentro de esa carpeta tambien ¿no?


Sí, acabo de mirar, y ahora mismo no me funciona, me ha funcionado pero ahora no, lo miro y te digo