
Este Script es sólo compatible con imagenes que tengan Python 3.x.x, también compatible con OpenATV 7.4
junglem3utobouquet es un script python 3 que nos va a permitir convertir facilmente una lista canales m3u a favorito enigma2.
NOTA: No está actualizado el archivo satellites_references.txt, pero aún así, el script es completamente funcional, se intentará actualizar el archivo en breve
m3u ⇄ Bouquet enigma2
Las listas M3u son una fuente importante para los canales de stream, pero originalmente ese formato no es reconocido por el sistema enigma2 tal para su reproducción desde la opcion lista canales, por lo que se debe convertir en un formato compatible que en enigma2 se denomina bouquet (favorito).
¿ Que nos permite realizar junglem3utobouquet ?
junglem3utobouquet nos va a permitir de una manera muy sencilla, comoda y personalizable la conversion de una lista en formato m3u a favorito enigma2 con las siguientes caracteristicas:
- Facil: Con el envio de un solo comando ya tendríamos nuestra lista m3u añadida en el receptor en formato favorito enigma2, teniendo estos canales asignado el service reference satelite o tdt para asi obtener epg y picon de los mismos (configurable en archivo satellite_references.txt)
- Configuracion nombre: En ocasiones el nombre del canal en archivo m3u puede ser erroneo, mal escrito o poco descriptivo, o por estetica queremos cambiar ese nombre en el favorito enigma2 que se va a crear, pues permite realizarlo(configurable en el archivo satellite_references.txt)
- Configuracion orden: Cuando usamos listas canales m3u que contienen miles de canales, y deseamos que nuestros canales españoles aparezcan en primer lugar al crearse el favorito enigma2, podemos configurar el orden de los mismos (configurable en el archivo satellite_references.txt)
- Configuracion de prefijos: Cuando usamos listas m3u que contienen miles de canales, muchos nombres del canal pueden ser iguales para diferentes idiomas, para evitar tener que procesar todos los canales con el archivo satellite_references asi como que no halla interferencias por el nombre al asignar un orden, se usan prefijos que llevan estas listas m3u de miles de canales que identifican el pais del canal, de este modo, todos los canales se añadiran al favorito enigma2, pero solo se procesaran para el orden, cambio de nombre y asignacion de service reference, los que tengan el prefijo que nosotros asignemos (Configurable en archivo jungle_config.json)
- Refresco automatico lista: Tras la ejecucion del comando, al terminar este refrescara la lista canales del receptor a traves de la api webif de enigma2, por lo que automaticamente ya nos apareceria visible en nuestro receptor (en caso de tener user , password o puerto cambiado, es configurable en el archivo jungle_config.json)
- Crear favoritos por paises: Opcionalmente podemos activar la creacion de favoritos enigma2 por paises en vez de uno solo.
- Posibilidad de añadir canales de video o no en la lista favoritos
1. Instalacion de junglem3utobouquet
La instalacion de junglem3utobouquet es muy sencilla, la podemos realizar a traves de los repositorios jungle-team de este modo, las actualizaciones que se puedan realizar futuras, seran facilmente actualizables tras usar update, por lo que en primer lugar es necesario instalar nuestro repositorio para ello ejecutamos el siguiente comando en terminal:
wget http://tropical.jungle-team.online/script/jungle-feed.conf -P /etc/opkg/
Tras la instalación debemos actualizar la lista de paquetes del repositorio:
opkg update
Ahora ya podemos realizar la instalación de junglem3utobouquet, para ello ejecutamos:
opkg install enigma2-plugin-extensions-junglem3utobouquet
Metodo instalación alternativo:
Si no desea instalar los repositorios jungle, puede descargarse la ultima version en formato .ipk instalable desde el repositorio:
- https://github.com/jungla-team/jungleM3uBouquetConverter/releases
Una vez descargado simplemente introduzco el archivo .ipk en el directorio /tmp de su receptor, y ejecute la instalacion:
opkg update
opkg install /tmp/nombre_del_ipk_descargado
2. Uso de junglem3utobouquet
Una vez realizada la instalación se nos habra creado en nuestro receptor enigma2 un directorio /etc/jungle_converter_m3u y en su interior encontraremos tres archivos:
- junglem3utobouquet.py —> El script ejecutable
- satellite_references.txt —-> Diccionario de palabras claves para parchear el service reference , nombre y numero de orden (Las opciones nombre y numero de orden son opcionales las puedes poner o no)
- jungle_config.json—————>Archivo configuración para prefijos de idiomas y datos de conexion para la api webif de enigma2.
2.1. Realizar la conversion m3u a favorito enigma2
Para realizar la conversion es muy sencillo, se puede realizar de dos maneras:
- metodo 1: Introduciendo el archivo con extension .m3u o .m3u8 que deseamos convertir a favorito enigma2 en el directorio /etc/jungle_converter_m3u
Una vez introducida simplemente ejecute:
python /etc/jungle_converter_m3u/junglem3utobouquet.py
En este ejemplo tras la ejecución nos aparecera en nuestra lista canales en ultimo lugar el favorito creado que adoptara el nombre de la lista m3u que introdujimos, y ya todo ordenado y parcheado con lo que proporcionamos por defecto, en este ejemplo:
- Metodo 2: Si tenemos la url de descarga del archivo m3u ejecutaremos el comando anterior con dos argumentos, que seran («url_descarga») y (nombre que deseamos que tenga la lista)
python /etc/jungle_converter_m3u/junglem3utobouquet.py "http://mojiconpicon/234344" superlista
En este ejemplo tras la ejecución aparecera en el directorio /etc/jungle_converter_m3ula lista .m3u descargada con el nombre proporcionado en el argumento:
y automaticamente sin hacer nada, la lista descargada se nos creara el favorito enigma2, que adoptara el nombre del argumento que pusimos despues de la url, y ya todo ordenado y parcheado con lo que proporcionamos por defecto, en este ejemplo:
3. Extra archivos de configuración
Como hemos comentado, hemos proporcionado los archivos de configuracion ya realizados de una manera generalizada, que practicamente cubriran la mayoria de las listas de canales en mas de un 90%, pero estos archivos son configurables, que nos serviran para personalizar mas la creacion si lo desea, ahora vamos a explicar sus caracteristicas.
3.1 satellite_references.txt
En este archivo es donde podemos personalizar:
- Palabra clave: Palabra clave que servira para encontrar coincidencias en el archivo m3u en el nombre del canal.
- Service reference tanto satelite como tdt, o cualquier service reference que tuviera asignado el epg que usemos para la importacion de eventos.
- Nombre del canal: es opcional si deseamos cambiar el nombre del canal que aparece en el m3u por otro que sera el que aparezca en el favorito enigma2.
- Orden del canal: la posicion del canal que ocupara en nuestro favorito enigma2, se usa por ejemplo si una lista tiene miles de canales y los españoles estan a partir del 2000 en la lista m3u, al crearse el favorito enigma2 estos apareceran en el orden establecido (esta opcion esta relacionado con los prefijos que veremos mas adelante)
Si abrimos el archivo con un editor de textos observaremos la estructura del mismo donde como hemos mencionado podemos añadir, quitar o modificar:
- negrita=palabra clave
- azul=service reference
- rojo=nombre que adoptara el canal en el favorito enigma2
- verde=orden que se colocoara en el favorito enigma2
Los dos ultimos parametros son opcionales, quiere decir que podriamos poner:
Un ejemplo de uso, ademas evidentemente de asignar el service reference para que tenga epg y picon, es jugar con el nombre para perfeccionar el resultado, en algun canal en concreto:
Tras la conversion por defecto por ejemplo observamos que como el canal #0 podria confundirse en la lista con otro canal en la comparacion, por que igual en la lista m3u su nombre es 0 hd tal cual, podriamos definirlo para evitar por ejemplo, tras la conversion por defecto todo bien, pero hemos visto que en la comparacion se confunde y agrega situa 3 canales que no son #0
Simplemente, personalizariamos la comparacion en el archivo, lo abrimos y vemos, que por defecto hay tres combinaciones para ese canal, pero en nuestra lista canales m3u se llama #0
movistar#0-->1:0:19:788C:414:1:C00000:0:0:0:-->7 m#0-->1:0:19:788C:414:1:C00000:0:0:0:-->7 #0-->1:0:19:788C:414:1:C00000:0:0:0:-->7
Para evitar esa interferencia, borramos dos de las posibilidades y dejamos solo:
movistar#0-->1:0:19:788C:414:1:C00000:0:0:0:-->7
Ahora en la lista canales .m3u editamos el nombre para adaptar ahora la comparacion y le ponemos movistar # 0
El resultado es que tras ejecutar nuevamente el script hemos evitado este problema y ahora nos saldria correctamente
Otra utilidad para seguir con este canal, es que ahora queremos que el canal en el favorito enigma2 se llame simplemente M+ #0 entonces parcheariamos el nombre del canal
movistar#0-->1:0:19:788C:414:1:C00000:0:0:0:-->M+ #0-->7
El resultado tras ejecutar nuevamente el script, hemos personalizado el nombre:
Es decir en este archivo de configuracion nos permite personalizar el resultado, para mejorarlo en algun canal que veamos erroneo o mejorar el orden…
3.2 jungle_config.json
En este archivo se configura en este momento dos parametros:
- Acceso a webif de enigma2 para el refresco de canales, por defecto esta puesto puerto 80 y sin autentificacion, podemos cambiar esos valores segun nuestra configuracion enigma2.
- Prefijos: La utilidad de los prefijos nos sirve para en una lista m3u de miles de canales, ponen en el nombre normalmente un prefijo identificativo de idioma de ese canal, segun la lista puede venir de diferentes maneras ES -, SP, etc….., que ocurre que nosotros queremos añadir los miles de canales al favorito enigma2, pero que solo se procese el parcheado del satellite_references.txt a los canales de un determinado prefijo y no a todos los canales, por dos motivos: 1) evitar claro esta que muchos canales tendran el mismo nombre que los españoles por ejemplo y asi que no se intercalen en el orden 2) para que el proceso de creacion sea muy rapido ya que no se realizara comparacion de nombres con los que no tengan ese prefijo.
Si abrimos este archivo de configuracion:
{
"PORT": 80,
"USER": "",
"PASSWORD": "",
"ALLOWED_PREFIXES": ["ES-", "ES -", "ES:", "|ES|", "SP -", "SP-", "SP:", "|SP|", "Spain"],
"ALLOW_COUNTRIES": false,
"COUNTRIES": {
"ESPAÑA": ["ES -", "|ES|"],
"FRANCIA": ["FR -", "FR-"],
"REINO UNIDO": ["EN -", "EN-"],
"ALEMANIA": ["DE -", "DE-"],
"ARABES": ["AR -", "AR-"],
"ITALIA": ["IT -", "IT-"]
},
"ALLOW_VIDEO_EXTENSIONS": false,
"OSCAM_ICAM": false,
"OSCAM_ICAM_PORT": 17999,
"USE_GROUP_TITLE": false,
"VIDEO_TYPE": [".mkv", ".avi", ".mp4", ".flv"]
}
Por defecto como mencionemos esta sin autentificacion para openwebif y puerto por defecto 80, si nuestro receptor tuviera autentificacion para webif activada y cambiado puerto, pues simplemente modificariamos el archivo:
{
"PORT": 80,
"USER": "root",
"PASSWORD": "combicompleta",
"ALLOWED_PREFIXES": ["ES-", "ES -", "ES:", "|ES|", "SP -", "SP-", "SP:", "|SP|"]
}
En el parametro ALLOWED_PREFIXES , estan añadidos los prefijos mas habituales de las listas m3u, en el caso que su lista m3u llevara otro prefijo que no esta añadido para españoles o quisiera añadir otro prefijo para permitir el procesado de parcheo, simplemente añadelo, por ejemplo quiero permitir el parcheo de prefijo SPA, pues lo añado:
{
"PORT": 80,
"USER": "root",
"PASSWORD": "combicompleta",
"ALLOWED_PREFIXES": ["ES-", "ES -", "ES:", "|ES|", "SP -", "SP-", "SP:", "|SP|", "SPA"]
}
Ademas, ahora imaginemos que tenemos simplemente una lista m3u proviniente de openwebif, o una lista m3u que solo tiene pocos canales, y por lo tanto no tienen prefijos de idiomas, por lo tanto al ejecutar el script se añadirian al favorito enigma2, pero al no ser parcheados, estos no obtendrian el service reference y por lo tanto no tendriamos ni picon ni epg:
En este caso que nuestra lista no tenga prefijos por que es corta, simplemente para permitir el procesamiento de canales sin prefijos añadiriamos en el ALLOWED_PREFIXES «» de esta manera procesara los canales sin prefijo, ejemplo:
{
"PORT": 80,
"USER": "root",
"PASSWORD": "combicompleta",
"ALLOWED_PREFIXES": ["ES-", "ES -", "ES:", "|ES|", "SP -", "SP-", "SP:", "|SP|", "SPA", ""]
}
Ademas podemos activar opciones de creacion de favoritos por paises configurable en este archivo de configuracion asi como añadir canales de video o no:
Ademas podemos configurar en caso que nuestra lista canales no tenga el prefijo del idioma en el nombre y lo tenga en el parametro group_title
"USE_GROUP_TITLE": false
Ademas podemos crear favoritos para oscam_icam proveniente del favorito m3u del satelite generado por openwebif
"OSCAM_ICAM": false, "OSCAM_ICAM_PORT": 17999,
3.3 Log.txt
De la ejecucion del script se nos crea un log en el directorio /etc/jungle_converter_m3u donde nos aparecera:
- Canales que estan permitidos su procesamiento en los prefijos, los que han sido parcheados o no encontrados.
- Canales con error de caracteres unidecode
El log nos ayudara por lo tanto para ver que canales no fueron parcheados de los permitidos en prefijos y poder definir mejor la busqueda en los archivos de configuracion: