
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 ?
- 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.
- 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.
- 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:
|
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 |
|
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)
|
|
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)
|
|
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)
|
|
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
|
|
Ejecucion Desistalacion |
|
Ejecucion Ayuda
|
|
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:
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:
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