Servidor Web Stream Local | Instalacion Enigma2

Nuestros receptores enigma2 usando el modulo python SimpleHttpServer nos permiten crear un servidor web local, teniendo en cuenta que cada dia es mas comun en nuestros hogares tener dispositivos de visionado en distintas habitaciones asi como nuestros propios moviles, durante este articulo vamos a desarrollar como crearnos un servidor web local para de esta manera esos dispositivos de nuestra red accedan a los canales y EPG del receptor Enigma2.

¿ Por que es buena opcion de usar un servidor local para nuestras transmisiones y epg en local ?

  1. Si tenemos el epg en nuestro servidor local creado la carga del mismo sera mas rapida que si la descarga se realiza desde un servidor web externo.
  2. Si tenemos como mencionemos al principio diversos dispositivos en nuestra red local, nos evitamos tener que estar metiendo la lista en todos esos dispositivos, y hacerlo ademas en cada actualizacion de la lista canales, simplemente actualizando el archivo m3u de nuestro servidor local automaticamente ya estarian actualizados todos nuestros dispositivos.
  3. En caso de usar algun programa que solo admite lista m3u desde url nos evitamos tener que subir la lista m3u a ningun servidor web externo.

REQUISITOS:

  • Modulo python SimpleHttpServer
  • Lista canales m3u
  • EPG canales (koala)
  • Script de activacion SimpleHttpServer

Para realizar el proceso de creacion m3u para canales movistar+, con picones asi como el epg  y activacion de servidor web local, se ha creado un script que te realiza todo el proceso automatizado que te crea todo lo necesario en nuestro receptor enigma2, para mas facilidad no hace falta introducir ningun script ya que se puede ejecutar desde la nube, vamos a ver como realizarlo.

1 Funcion script | Creacion Servidor stream

Para la creacion del Servidor web para stream local se ha creado un script denominado jungle-streamserverhtpp, una poderosa herramienta que nos va a permitir facilmente realizar todo el proceso.

Para facilitar la ejecucion de jungle-streamserverhtpp se ha intentado simplificar al maximo, por lo que es posible su uso sin necesidad de tener que introducirlo en nuestro receptor,  con una simple linea de codigo que se introduce a traves de terminal accediendo al receptor a traves de protocolo telnet o ssh, que podemos ver su acceso en este manual.

1.2 Descripcion

Antes de comenzar con el uso del script jungle-streamserverhttp, debemos mencionar que realiza el mismo, que vamos a detallar a continuacion, ya que muchas de las funcionalidades el mismo lo hace de forma autonoma e inteligente.

Funcion descripccion
Creacion listas canales m3u
-Auto crea lista movistar m3u8 con autodeteccion ip local, picon de los canales,  por defecto por puerto 8001(editable mediante variable)
    -Auto crea lista movistar m3u8/zerotier con autodeteccion ip zerotier, picon de los canales, por defecto por puerto 8002 (puerto transcodificado)(editable mediante variable), esta lista solamente se crea si el script detecta que zerotier esta online en el receptor.
    -Auto crea lista movistar m3u8 transcodificada, picon de los canales, por defecto por puerto 8002 (puerto transcodifado) (editable mediante variable).
    -Las listas movistar m3u8 podemos asignarle mediante variable autentificacion para streaming (usuario/password)(variable opcional), si el script detecta que no tenemos asignado password al receptor, o las medidas de seguridad del receptor para el uso de (usuario/password), no son las adecuadas el script no se ejecutara.
    -Auto crea listas m3u8 transcodificada para receptores hisilicon (octagon sf8008, zgemma H9s, mutant hd60…), si el script detecta que el receptor es hisilicon la lista transcodificada o zerotier se crea con los parametros de transcodificacion especiales de estos receptores)

 

Creacion epg Movistar
   -Crea epg Movistar Koala jungle team xmltv especial para las listas m3u8 que se crean.

 

Funcion cron
-Crea funcion en cron para descarga automatizada de epg Movistar Koala jungle team xmltv
Creacion servidor WEB
-Activacion SimpleHttpServer modulo python para creacion server web local
    -Auto instalacion de entware para poder usar SimpleHttpServer en las imagenes en las que el script comprueba que este modulo python falla.
    -Creacion automatizada de daemon para arranque automaticon del servidor web en reinicio completo del receptor, asi como para iniciar, parar, reiniciar el servicio.
Desistalacion
-Producimos desistalacion y borrado de todos los archivos y servicios creados.

1.3 Parametros Script

Ahora entramos en la ejecucion del script que como hemos mencionado nos creara de forma automatizada nuestro servidor web local para realizacion de stream, el cual tiene los siguientes parametros:

 

Parámetro Funcion
-pt Asignamos puerto para streming, si no existe por defecto 8001; ejemplo -pt 4000
-u usuario del sistema, solo introducir si tenemos autentificacion stream activada, ejemplo -u root
-p Password del user sistema, solo introducir si tenemos autentificacion stream activada, ejemplo -u 45465
-zt Asignamos puerto para transcodificacion, si no existe por defecto 8002; ejemplo -zt 8007
-uninstall Procedemos a eliminar toda la instalacion
-h Ayuda, nos muestra las variables de ejecucion del script

1.4 Variables ejecucion Script

Una vez que ya conocemos los parametros del script, ahora vamos a ver las posibles ejecuciones que nos permite el mismo.

Ejecucion Simple

wget -O - -q http://tropical.jungle-team.online/script/jungle-streamserverhttp | bash

En este caso las url de cada canal de  las listas canales m3u8 generada tendra la siguiente estructura, donde los puertos seran por defecto y se genera sin user y password.

http://192.168.1.45:8001/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista movistar.m3u8
http://192.168.1.45:8002/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista transcodificado.m3u8
http://10.1.405.329:8002/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista zerotier.m3u8 solo se creara si el script detecta que zerotier esta online en el receptor

Ejecucion con parametro puerto streaming (-pt)

wget -O - -q http://tropical.jungle-team.online/script/jungle-streamserverhttp | bash -s -- -pt 8006

En este caso las url de cada canal de  las listas canales m3u8 generada tendra la siguiente estructura, donde cambiamos el puerto streaming, sin usuarios y password y el puerto de transcodificacion por defecto.

http://192.168.1.45:8006/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista movistar.m3u8
http://192.168.1.45:8002/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista transcodificado.m3u8
http://10.1.405.329:8002/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista zerotier.m3u8 solo se creara si el script detecta que zerotier esta online en el receptor

Ejecucion parametro puerto streaming (-pt) y asignacion de usuario y password ( -u – p)

wget -O - -q http://tropical.jungle-team.online/script/jungle-streamserverhttp | bash -s -- -pt 8006 -u root -p 45464546

En este caso las url de cada canal de  las listas canales m3u8 generada tendra la siguiente estructura, donde cambiamos puerto streaming y asignamos usuario y password, el puerto transcodificado por defecto.

http://root:45464546@192.168.1.45:8006/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista movistar.m3u8
http://root:45464546@192.168.1.45:8002/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista transcodificado.m3u8
http://root:45464546@10.1.405.329:8002/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista zerotier.m3u8 solo se creara si el script detecta que zerotier esta online en el receptor

Ejecucion  parametro puerto streaming (-pt) y asignacion de usuario y password ( -u – p) y asignacion puerto para transcodificacion (-zt)

wget -O - -q http://tropical.jungle-team.online/script/jungle-streamserverhttp | bash -s -- -pt 8006 -u root -p 45464546 -zt 8010

En este caso las url de cada canal de  las listas canales m3u8 generada tendra la siguiente estructura, donde cambiamos puerto streaming y asignamos usuario y password, y asignamos puerto de transcodificacion

http://root:45464546@192.168.1.45:8006/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista movistar.m3u8
http://root:45464546@192.168.1.45:8010/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista transcodificado.m3u8
http://root:45464546@10.1.405.329:8010/1:0:19:7863:41A:1:C00000:0:0:0: >> Lista zerotier.m3u8 solo se creara si el script detecta que zerotier esta online en el receptor

Ejecucion con parametros combinada, podemos ejecutar parametros individuales segun nuestras necesidades, es decir podemos ejecutar el script solo asignando usuario y pass, solo asignando puerto streaming, solo asignando puerto transcodificado o combinando los mismos

wget -O - -q http://tropical.jungle-team.online/script/jungle-streamserverhttp | bash -s -- -u root -p 45464546

 

wget -O - -q http://tropical.jungle-team.online/script/jungle-streamserverhttp | bash -s -- -u root -p 45464545 -zt 8010

 

wget -O - -q http://tropical.jungle-team.online/script/jungle-streamserverhttp | bash -s -- -pt 8007 -zt 8010
wget -O - -q http://tropical.jungle-team.online/script/jungle-streamserverhttp | bash -s -- -zt 8010

 

Ejecucion Desistalacion

wget -O - -q http://tropical.jungle-team.online/script/jungle-streamserverhttp | bash -s -- -uninstall

Ejecucion Ayuda

wget -O - -q http://tropical.jungle-team.online/script/jungle-streamserverhttp | bash -s -- -h

Resultado introducciones erroneas:

Limitaciones parametros Resultado
Introducir caracteres no numericos en -pt -zt  Cierre script
Introducir variables sin argumentos  Cierre script
Introducir -p sin la variable usuario -u Se crea m3u8 sin user y pass
Introducir -u sin variable -p Se cierra el script
Introducir -u con variable -p sin argumento Se cierra el script
Introducir -u y -p sin tener el receptor sin password Se cierra el script
Introducir -u y -p sin tener el streaming en el deco sin autentificacion Se cierra el script

1.5 Ejemplos graficos de ejecucion

Ahora vamos a ver unos ejemplos con captura de pantalla de la ejecucion del script jungle-streamserverhttp

2 Simple web HTTP

Una vez hemos ejecutado el script correctamente, ya tendremos nuestro servidor web local activo que podemos comprobarlo si en el navegador web de nuestro pc introducimos:

ipdeldeco:8000

Si deseamos cambiar el puerto del simple servidor web accedemos a /etc/init.d y abrimos el archivo daemon simplehttpserver-daemom y cambiariamos el puerto 8000

Una vez cambiado podemos reiniciar el servicio con el comando:

/etc/init.d/simplehttpserver-daemom restart

Si deseamos parar el servicio ejecutamos:

/etc/init.d/simplehttpserver-daemom stop

Si deseamos iniciar el servicio:

/etc/init.d/simplehttpserver-daemom start

2.1 Aplicando simple web http en streaming

Una vez tenemos en funcionamiento nuestro servidor simple http, la url de los archivos (lista canales m3u) o epg sera la siguiente:

http://ip:8000/archivo

Por ejemplo:

http://192.168.1.45:8000/movistar.m3u8 >> para lista canales

http://192.168.1.45:8000/koala_epg.xml.gz >> para el epg

Y de este modo podemos usar esas dos url locales para las distintas app o programas como en los siguientes manuales:

Kodi PVR simple Client

 

Iptv Extreme cliente enigma2

3. EXTRA RECEPTORES UN SOLO TUNER

En receptores con un solo tuner se ha añadido en el script una utilidad que en el caso que detecte que el receptor solo tiene el frontend0 es decir solo un tuner, te crea una lista denominada movistar_zap.m3u8, la cual si tenemos activado en openwebif la opcion saltar antes del stream nos permitira que al usar la lista y cambiar de canal en ella se produza zap en el receptor.

4. Creditos

El equipo jungle-team realiza el trabajo sin animo de lucro, es decir no se percibe ningun tipo de remuneracion ni economica ni en especies, el script es originario de jungle-team licenciado GNU General Public License v3.0, que permite su uso, modificacion asi como su publicacion, pero que conlleva copyright, ya que detras de cada linea de codigo es un tiempo que se pierde, y que menos que en caso de su distribucion o modificacion se haga alusion al lugar donde se ha creado.

En especial un trabajo realizado por miembros grupo telegram jungle-team:

@jujoro  –> Idea originaria y desarrollo del script

@tanha_ro –> desarrollo del script y picones

@jala89 –> desarrollo epg y lista m3u

@aceqott –> Primer manual en grupo telegram sobre desarrollo web local y tester

@ja2m00 –> Tester

 

 

 

Related posts

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: