En este apunte describo cómo instalar Tvheadend en un servidor Linux (basado en Gentoo) para ver canales IPTV que recibo a través de mi contrato Movistar Fusión TV. En esta versión utilizo Tvheadend 4.1-1566 y un nuevo método de descarga del EPG. Hace un año hice la versión del 2015 que he dejado como referencia aunque ha quedado obsoleta.
El motivo de hacer un apunte tan parecido es que han cambiado algunas cosas, pero antes me gustaría recordar una vez más que no utilizo el router oficial ni el deco de Movistar, lo he sustituido todo por un equipo linux que hace de router y agregador de canales y empleo como cliente *Kodi en Raspberry* para ver la televisión, así que todo lo descrito aquí está pensado, orientado y probado para funcionar así; quiero decir que no lo he probado con un router «oficial», ni con un Deco. Para entender mejor mi *setup* te recomiendo echarle un ojo a este apunte: Movistar Fusión Fibra + TV + VoIP con router Linux.. Después del aviso: eso no significa que no te va a funcionar con el router+deco’s de Movistar TV, por supuesto que debería funcionar, pero yo no lo he probado y si sigues dicha opción recuerda que utiliza UDP y en este apunte todo lo hago con TCP (como veremos más adelante).
Tvheadend como agregador de canales de Movistar TV
Tvheadend es un fantástico agregador de diferentes fuentes (Satélite, Tdt, IPTV). Aquí me concentro en usarlo exclusivamente como agregador de canales de Movistar TV.
MUY importante: En este apunte describo como configurar todos los canales, el epg, los logos, etc. Te recomiendo encarecidamente que si no tienes experiencia con Tvheadend hagas todo lo que está aquí descrito pero SOLO CON UN ÚNICO CANAL. Si ya has hecho una configuración y algo no te funciona (por ejemplo el EPG), mi recomendación es que empieces de nuevo desde cero (Mira cómo limpiar la configuración al final en *trucos de mantenimiento*) y vuelve a empezar, configura solo un único canal, ten siempre un terminal mirando el LOG del programa. Es muy importante, no intentes correr, primero verifica que te funciona todo con un único canal, que recibes el logo, que se asocia el EPG, en definitiva que aprendas a conocer cómo reacciona el programa, cómo algunas cosas no se ejecutan de manera instantánea, etc. Creo que una vez conozcas bien el programa te será más fácil pasar a configurar todos los canales.
Instalación
Veamos el proceso de instalación (recuerdo, mi distro linux está basada en Gentoo, pero si conoces bien tu Distro eso es indiferente). Nota: sí que es importante y por tanto aviso: estoy compilando una versión descargada directamente de GitHub, es la última versión de desarrollo disponible en el momento en el que escribí el apunte. Significa dos cosas: 1) tiene riesgo y 2) si estás usando otra versión más antigua es muy probable que muchas cosas no te funcionen. He decidido probar la última versión 4.1 porque trae cosas chulas (como importar/vincularse a un fichero M3U con los canales), pero recuerda… tiene el riesgo de reventar cada dos por tres 🙂
Después del aviso: ¿cómo de inestable es? pues es bastante estable, de vez en cuando (cada 4-5 días) de repente se queda colgado. Lo que he hecho es programar en el cron que rearranque el servicio cada día y ya está (ver cómo al final del apunte). Dicho esto, procedo a instalar el software:
1 2 3 4 5 6 7 8 9 10 11 12 13 | tv # cat /etc/portage/package.accept_keywords # tvheadend ~media-tv/tvheadend-9999 ** <=== Esto es lo que hace que se baje lo "último" desde github media-libs/libhdhomerun ~amd64 tv ~ # cat /etc/portage/package.use/tvheadend media-tv/tvheadend avahi capmt constcw cwc dbus dvb dvbscan ffmpeg hdhomerun imagecache inotify iptv -libav satip timeshift uriparser xmltv zlib tv ~ # emerge -v libhdhomerun tv ~ # ln -s /usr/include/hdhomerun/ /usr/include/libhdhomerun tv ~ # emerge -v tvheadend : |
Más avisos: Compilar una versión *en desarrollo* (-9999 *) puede traerte dolores de cabeza. En mi caso utilizo Gentoo y verisones de FFMPEG que están «Hard Masked», es decir, estoy al filo del precipicio.
Otras distribuciones
Si trabajas con otra distribución no deberías tener ningún problema, solo asegúrate de, si quieres comparar con este apunte técnico, usar la misma versión que estoy usando yo o quizá tengas funcionalidades distintas, asegúrate de temas de permisos, usuario/grupo, opciones de compilación, librerías, etc. Temas estándar sobre paquetes de software en Linux que no cubro en este documento.
Fichero .service para systemd
Aquí tienes el fichero .service, verás que hay una dependencia a un servicio que llamé igmpproxy.service
, y es que, una vez más, está vinulado al montaje que uso en mi casa y que describí hace tiempo en Movistar Fusión Fibra + TV + VoIP con router Linux.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | tv ~ # cat /etc/systemd/system/tvheadend.service [Unit] Description=Tvheadend TV Aggregator After=network-online.target igmpproxy.service [Service] Type=forking EnvironmentFile=/etc/conf.d/tvheadend ExecStart=/usr/bin/tvheadend -f -C -u $TVHEADEND_USER -g $TVHEADEND_GROUP -c $TVHEADEND_CONFIG $TVHEADEND_OPTIONS Restart=always RestartSec=3 [Install] WantedBy=multi-user.target |
En este caso se utiliza el fichero de configuración /etc/conf.d/tvheadend
para definir las variables que se utilizan en los argumentos de arranque. La más importante es el directorio de trabajo del programa que se define con TVHEADEND_CONFIG=/etc/tvheadend
. Este es el directorio en el que bucear cuando quieras ver toda la configuración de tvheadend. Ojo que usuario y grupo con el que se ejecutará el programa también son importantes 🙂
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | tv ~ # cat /etc/conf.d/tvheadend # See the tvheadend(1) manpage for more info. # Run Tvheadend as this user. TVHEADEND_USER="tvheadend" # Run Tvheadend as this group. TVHEADEND_GROUP="video" # Path to Tvheadend config. TVHEADEND_CONFIG="/etc/tvheadend" # Other options you want to pass to Tvheadend. TVHEADEND_OPTIONS="" |
Habilitar y arrancar
Antes de arrancarlo, te recomiendo que observes en otro terminal la salida del LOG, es muy instructivo.
1 | tv ~ # journalctl -f ((Ejecutarlo en otra sesión en otro terminal)) |
Habilito el servicio (para futuros boots) y lo arranco manualmente. La primera vez se crea una estructura de directorios nueva bajo el directorio del programa /etc/tvheadend
(recuerda la variable TVHEADEND_CONFIG
que vimos antes).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | tv ~ # systemctl enable tvheadend tv ~ # systemctl start tvheadend : tv ~ # cd /etc/tvheadend tv tvheadend # ls -al total 40 drwx------ 7 tvheadend video 4096 feb 27 09:11 . drwxr-xr-x 77 root root 4096 feb 27 09:02 .. drwx------ 2 tvheadend video 4096 feb 27 09:11 accesscontrol drwx------ 2 tvheadend video 4096 feb 27 09:11 bouquet -rw------- 1 tvheadend video 866 feb 27 09:11 config drwx------ 3 tvheadend video 4096 feb 27 09:11 dvr -rw-r--r-- 1 tvheadend video 22 feb 27 09:11 .lock drwx------ 2 tvheadend video 4096 feb 27 09:11 profile |
Preparar Logos, fichero M3U y EPG
Antes de arrancar Tvheadend y configurarlo vamos a preparar tres cosas: los logos (picons) de los canales, el fichero M3U que importaré (y quedará vinculado) y los scripts que necesito para descargar y preparar el EPG. Por cierto, he dejado copia de todo esto en este repositorio en GitHub.
ESTOS TRES (Logos, fichero M3U y EPG) ESTÁN MUY VINCULADOS ENTRE SÍ. Por ejemplo, el nombre de los canales, el nombre de los ficheros, el identificativo del EPG, etc… fíjate bien en las descripciones que hago en estos apuntes, si te despistas puede que haya cosas que no te funcionen. Iré avisando con ejemplos.
Directorio picons (para los Logos)
Hay varias formas de enfrentarse al dilema de los logos de los programas de TV, en mi caso me he decantado por uno bastate sencillo, consiste en dedicar un directorio local en el mismo ordenador donde ejecuto Tvheadend: /etc/tvheadend/picons y copiar ahí los ficheros. Es un directorio adicional que creo dentro del de configuración del programa por comodidad y tenerlo todo junto (puedes utilizar otro cualquiera).
El nombre del fichero jpg o png es IMPORTANTE porque si lo nombras de acuerdo a lo que espera Tvheadend te ahorras un montón de trabajo, así que te recomiendo que hagas coincidir el nombre del fichero con el nombre del Canal, y tenemos dos opciones:
- «Nombre del canal».png
- nombredelcanal.png <== Esta es la opción que utilizo yo.
En mi caso utilizo la segunda opción: hago que el nombre de los ficheros con los logos de los programas sea igual al nombre del programa que se encontrará en el M3U pero: sin espacios, en minúsculas y terminado en .png. Un ejemplo, si el programa se llama «National Geographic HD», el nombre de su fichero con su Logo debe ser «/etc/tvheadend/picons/nationalgeographichd.png».
Creo el directorio, lo asigno los permisos adecuados y me bajo los logos.
1 2 3 4 5 6 7 8 9 10 11 12 13 | tv tvheadend # mkdir /etc/tvheadend/picons tv tvheadend # chown tvheadend:video /etc/tvheadend/picons tv tvheadend # cd /etc/tvheadend/picons tv picons # wget https://raw.githubusercontent.com/LuisPalacios/tvheadend_movistar/master/2016/picons.tgz tv picons # tar xvfz picons.tgz tv picons # chown tvheadend:video * tv picons # ls -al total 3000 drwx------ 2 tvheadend video 4096 feb 28 10:58 . drwx------ 13 tvheadend video 4096 feb 27 20:44 .. -rw-r--r-- 1 tvheadend video 3106 feb 27 21:01 0-fondo.png -rw-r--r-- 1 tvheadend video 24054 feb 27 21:01 0hd.png : |
Fichero M3U
Para poder crear los canales en Tvheadend tienes de nuevo múltiples mecanismos. Vuelvo a avisar, en este apunto estoy optando por un sistema de creación de canales muy automatizado, aprovechando una funcionalidad que se soporta en la versión 4.1: Permite auto-importar los canales que está definidos dentro de un fichero .m3u.
El proceso es sencillo y más adelante en la sección *Configuración de Tvheadend* lo describo, no lo hagas ahora pero te adelanto cómo se hace: Creas una NETWORK
de tipo IPTV AUTOMATIC NETWORK
, vinculada a un fichero M3U del disco duro y si construyes de forma adecuada el fichero .m3u puedes ahorrarte muchas horas de trabajo.
Aquí tienes una copia de mi fichero tv.m3u, está preparado para mi demarcación (verás que tengo configurado Telemadrid porque estoy en Madrid), está diseñado para mi *setup* donde empleo http gracias a udpxy y por supuesto tiene mis canales contratados.
Importante: si te bajas el fichero anterior verás que tiene la NUMERACIÓN DE CANALES que emplea oficialmente Movistar TV. Una de las ventajas de Tvheadend es que puedes hacer lo que quieras con la numeración de los canales y para evitar tener que asignar uno a uno el número apropiado, lo que hago es añadir (en la línea EXTINF) el número final que quiero que tenga cada canal en el fichero M3U.
Probablemente tengas que bajarte el fichero y editarlo para adecuarlo a tu caso concreto (las MRL’s son distintas si usas multicast o si tienes otros canales contratados u otra demarcación). En mi caso no mantengo actualizado el fichero en el enlace anterior, si quieres una versión actualizada de la lista de canales de Movistar, te recomiendo esta fuente llamada «LISTA ACTUALIZADA DE CANALES PARA VLC» disponible en ADSL ZONE. Lo dicho, adáptalo a tu instalación. Dejo una línea comentada a continuación para explicar qué significa cada cosa:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | : #EXTINF:-1 tvh-epg="disable" tvh-chnum="1" tvh-tags="tv|Ocio y cultura",La 1 HD http://192.168.1.1:4022/udp/239.0.0.185:8208 : 1) #EXTINF:-1 tvh-epg="disable" tvh-chnum="1" tvh-tags="tv|Ocio y cultura",La 1 HD | | | | | | | +--> Nombre canal | | +---> Tags | +---> Número de canal +---> EPG scan Nombre del canal: Importante que coincida con el usado en el EPG Tags: En este caso defino 2. Número de canal, que quiero que se asigne al hacer el MAPPING Deshabilito el "EPG scan" en el MUX. No lo usaré porque proveo el EPG mediante otro mecanismo. : 2) http://192.168.1.1:4022/udp/239.0.0.185:8208 Como decía, en mi caso utilizo HTTP porque empleo "udpxy". |
1 | tv ~ # chown tvheadend:video /etc/tvheadend/tv.m3u |
Aquí va otro de los Avisos. Si te fijas he puesto que el *Nombre del canal: Importante que coincida con el usado en el EPG*, pues eso, tenlo en cuenta porque es importantísimo. Si usas mi fichero no deberías tener problema, pero si haces el M3U tú mismo, acuérdate de este detalle.
EPG Grabber
Siempre he creido que el mejor método para bajarme el EPG sería el que corresponde con mi contrato, pedirlo por la VLAN2 directamente a Movistar TV utilizando su API, pero por desgracia no lo tienen documentado, el resumen de alternativas que conozco:
- Usar el API a través de la VLAN2 (no tengo la documentación)
- El trabajo movistartv2xmltv (que por desgracia ya no funciona)
- Bajarse el XMLTV desde algún sitio (funciona).
- Exportación desde web de Movistar TV (funciona, *descubierto* en 2017).
- Usar técnicas complejas como WebGrab+Plus (en mi caso lo uso para complementar)
Hago mención aquí a un trabajo muy interesante (Add-on para KODI) pero por desgracia el autor no ha liberado los fuentes a la fecha de escribir este apunte.
Opciones:
Aquí un resumen de las últimas dos opciones que he utilizado en mi caso:
- (2016) Empecé con los Ficheros pre-creados: La solución que he estado utilizando durante el 2016 consiste en bajarse directamente el fichero XMLTV dirariamente desde algún sitio donde «alguien» sea tan generoso como para dejarlo. Hasta Julio/2016 utilizaba este proyecto que descarga el fichero desde rytec en la comunidad vuplus, a partir de esa fecha dejó de funcionar y he pasado, gracias Josu (zona comentarios), a usar esta otra fuente desde tododream que viene de este apunte hecho por el usuario latinmunic en el foro de tododream.
- (2017) Descargo desde la Web Movistar TV: Novedad en el 2017, gracias a Neoshinji (zona comentarios), compartió un método muy interesante, aprovechando que Movistar TV permite exportar la programación desde su página web y además lo complemento con WebGrab+Plus para completar los canales que me faltan.
Ficheros pre-creados
Creo una serie de scripts que se encargan de descargar el EPG directamente a un fichero XMLTV. Puedes encontrar los scripts en mi repositorio de GitHub. El script principal se llama descarga_guia.sh, ejecuta la descarga y el renombrado de canales coincidan con los nombres de canal que doy de alta en Tvheadend. Los he creado/instalado en un usuario normal donde además configuro el cron para que se ejecute una vez al día, a las 07:00 am (es más que suficiente).
1 2 3 4 5 6 7 | luis@tv ~ $ crontab -e ((( Añade la línea siguiente))) 0 7 * * * /home/luis/guia/descarga_guia.sh : luis@tv ~ $ crontab -l 0 7 * * * /home/luis/guia/descarga_guia.sh |
Una vez que tengo todo preparado ejecuto el script manualmente para que haga una primera descarga de la guia.xml. Quiero tenerla antes de añadir los canales..
1 | luis@tv ~ $ /home/luis/guia/descarga_guia.sh |
Después de ejecutarlo deberías tener el fichero /tu/directorio/destino/guia.xml
perfectamente creado y con contenido.
NOTA: Recuerda, hasta Julio/2016 estaba usando el script descarga_guia_vuplus.sh pero dejó de funcionar. He creado una versión llamada descarga_guia_tododream.sh gracias a un enlace que nos ha pasado Josu (sección comentarios).
Descarga web Movistar TV (2017)
Esto es nuevo en el 2017, gracias a Neoshinji (zona comentarios, 4 de enero) nos ha dado una pista muy buena sobre un método que desconocía.
Movistar TV tiene una página desde la cual se puede EXPORTAR LA PROGRAMACIÓN, si conectas verás que puedes seleccionar qué cadenas y formato (xml, csv, excel, texto) prefieres. Mirando en más detalle vemos que se trata de un programa en Javascript y dicho programa, una vez eliges lo que quieres, realizará un POST parametrizado a dicha web para solicitar la exportación.
Después de un par de días investigando he creado un programa en Javascript para node.js que voy a ejecutar periódicamente en mi mismo servidor linux donde ejecuto Tvheadend:
- Proyecto tvhstar en GitHub
El objetivo era que crease el fichero epg en formato XMLTV: guia.xml, pero ya puestos le he ido añadiendo más cosas:
- Descarga periódica de la programación de TV (EPG) desde la web de Movistar y creación de un fichero XMLTV compatible con Tvheadend
- Creación de los ficheros tvHOME.m3u y tvREMOTE.m3u para ser consumidos por Tvheadend como fuentes para redes IPTV dinámicas
- Logos de los programas de TV en formato 800×400 para ser consumidos por Tvheadend (y sus clientes).
Completo canales que faltan con WebGrab+Plus (2017)
Una vez que tengo el fichero XMLTV usando el proyecto anterior estoy completando algunos canales que me faltan (como por ejemplo Telemadrid) apoyándome en WebGrab+Plus. Estos scripts crean un fichero adicional XMLTV (guia-wg.xml).
- Proyecto tvhwg en GitHub
Configurar Tvheadend para «leer» los ficheros XMLTV
Lo que describo a continuación se debe hacer para cada fichero XMLTV que tengas. En este ejemplo verás que hablo del guia.xml que genera mi proyecto «tvhstar», pero tendrás que hacer lo mismo con el «guia-wg.xml». Una vez tenemos el fichero /tu/directorio/destino/guia.xml
configuro Tvheadend para que lo «consuma» y lo guarde en su propio formato en su propio directorio.
Tvheadend se va a apropiar, a través de un «Grabber interno«, de la programación. En nuestro caso, que ya tenemos el fichero en el formato final (XMLTV), lo único que hacemos es crear dicho grabber como un ejecutable que simplemente hace un cat
del fichero. Cuando Tvheadend lo reciba lo transformará a su propio formato en el fichero /etc/tvheadend/epgdb.v2
.
Creo el fichero /usr/bin/tv_grab_movistartv. Recuerda cambiar sus permisos a ejecutable y la próxima vez que ejecutes tvheadend lo descubrirá automáticamente (tvheadend encuentra todos los ficheros que empiezan por /usr/bin/tv_grab* durante su arranque).
No te olvides de cambiar la línea donde pone «xmltv_file_location» por el path completo al fichero final XMLTV que quieres que procese (en este primer ejemplo guia.xml
).
IMPORTANTE: Si tienes más ficheros XMLTV pues creas otro fichero, por ejemplo /usr/bin/tv_grab_w para el que creo con mi complemento de WebGrab+Plus.
Ahora que tenemos ya una idea de los ficheros entremos en harina y empecemos a configurar Tvheadend. Hasta ahora lo único que hemos hecho antes de arrancar Tvheadend y configurarlo es preparar tres cosas: los logos (picons) de los canales, el fichero M3U que importaré (y quedará vinculado) y los scripts que necesito para descargar y preparar el EPG.
Configuración de Tvheadend
A partir de aquí configuramos desde el interfaz Web. Arranco Tvheadend y desde un navegador conectamos con el Administrador Web de Tvheadend: http://tu-servidor.dominio.com:9981.
1 | tv # systemctl start tvheadend |
Configuración general
Verás como automáticamente arranca el asistente para realizar una configuración guiada. Yo prefiero cancelarlo y hacer una configuración manual. Lo primero que hago es cambiar parámetros de la configuración general: Configuración->General->Base.
- User interface level: Expert
- Default Languages Selected: Spanish y English
- Channel Icon Path: file:///etc/tvheadend/picons/%c.png (%C.png)
- Channel Icon Name Scheme: Service name picons
El parámetro «Channel Icon Path» sirve para decirle a Tvheadend: Busca los logos de los programas en el directorio /etc/tvheadend y que tengan como nombre del fichero el nombre del programa, sin espacios, sin símbolos raros, todo en minúsculas. Puedes usar %c o %C (apropiada para canales con caracteres diacríticos, he empezado a usarla recientemente). La opción «Service name picons» es la que elimina los espacios en el nombre.
Este path al icono del canal lo verás más adelante en la opción User Icon en Configuración->Channel/EPG->Channels. Verás cómo Tvheadend «pre-rellena» dicho campo con lo mismo que pone en Channel Icon Path pero obviamente sustituyendo %c o %C por el nombre del canal. Lo que quiero anticiparte es que siempre podrás volver aquí a cambiar «Channel Icon path / Channel icon name scheme» y desde Configuración->Channel/EPG->Channels podrás pedir que se regeneren todos los User Icon’s con el cambio que hagas aquí.
Configuro el EPG Grabber
Necesitas tener un fichero en formato XMLTV (ya vimos antes las opciones), en micaso lo llamé guia.xml
. Necesitas además un script tv_grab*
que simplemente usará Tvheadend para *leer* dicha guia.xml
. En mi ejemplo el script /usr/bin/tv_grab_movistartv
buscará fichero /tu/directorio/guia.xml y le hará un simple cat
. Tvheadend absorverá esos datos, los interpretará, buscará qué canales tiene ya configurados con esos nombres y si hay coincidencias las utilizará. Ah!, y lo salvará todo dentro de un fichero llamado /etc/tvheadend/epgdb.v2
(por cierto, aquí tienes más información sobre el Epgdb).
Nota: Si tienes más de un fichero XMLTV simplemente repite exactamente lo mismo y crea un segundo grabber interno, de hecho es lo que yo hago para añadir el que genero con WebGrab+Plus.
Por lo tanto, lo que vamos a hacer es configurar Tvheadend para indicarle que a partir de ahora debe hacer *EPG Grabbing*. Entra en Configuration->Channel/EPG->EPG Grabber Modules
. Deberías ver el grabber de movistar (tvheadend escanea el directorio /usr/bin en busca de ficheros que empiezan por tv_grab*). Áctivalo (enable) y desactiva el resto (disable). Ojo!, en cuanto le das al botón del Save verás en el log (journalctl -f) cómo hace el parse del EPG.
Configura la periodicidad en la que Tvheadend ejecuta el grabber. ¿Qué es esto?, simplemente estás diciendole a Tvheadend cada cuanto tiempo debe ejecutar el programa /usr/bin/tv_grab*
. Observa que usa el mismo formato que crontab. En mi caso recordarás que tengo un script que se va a internet a bajarse el EPG, así que configuro el *grabber* de Tvheadend para que lo leo aproximadamente media hora después.
Vale, ya tenemos *programado y configurado* el EPG Grabber, pero obviamente no funciona nada todavía, porque hay que crear las fuentes de los canales, los propios canales, asociarlos al EPG. Nota: *el orden NO es importante*, yo estoy siguiendo un orden que te *ahorrará tiempo*, simplemente.
Añado una red nueva IPTV
Añado una red nueva de tipo IPTV Automática (significa que va a importar desde un M3U): Configuración->DBV Inpurts->Network.
- Network name: iptv
- Maximum # of input streams: 3 (Al terminar lo volveremos a dejar a 0)
- URL: file:///etc/tvheadend/tv.m3u
- Maximum timeout (seconds): 2 (Puedes incluso poner 1, al terminar lo volveremos a dejar en 15)
- Idle Scan Muxes: (x) marcado (Al terminar lo desmarcaremos)
- EIT time offset: Local server time
- Re-fetch period (mins): 60 No lo cambio, pero podrías poner un 1
En cuanto le das al botón «create» lo que ocurre es lo siguiente. Tvheadend analiza el fichero M3U, importa cada una de las líneas en MUXES. Gracias a tener «input streams: 3» y «idle scan muxes: activo» estamos pidiendo que se quede analizando de forma continua los muxes, que lo haga de tres en tres, compruebe si funcionan y si es así los «añada» como SERVICEs. En mi caso, mi fichero m3u, tengo 108 líneas que se escanean de 3 en 3, por lo tanto tarda unos cuantos minutos en terminar. Termina cuando tienes el mismo número de SERVICES que MUXES.
Nota sobre el parámetro «Re-fetch period». Indica cada cuanto tiempo debe releer el fichero M3U para configurar los cambios que detecte. Muy interesante ponerlo a ‘1min’ si estás haciendo pruebas.
Una vez que termina (el número de MUXES==número de SERVICES) ya puedes cambiar la configuración del NETWORK, es decir volver a dejar en sus valors de por defecto parámetros como input streams, idle scan muxes, maximum timeout, etc.
- Maximum timeout (seconds): 15
- Maximum # of input streams: 0
- Idle Scan Muxes: ( )
- Re-fetch period: 60
El siguiente paso consiste en crear los canales. Entra en SERVICES y haz click en Mapp All Services
Ve a CHANNELS, verás que tienen asignado el logo adecuado (según el nombre del canal, en minúsculas y sin espacios…); pero nos falta el EPG
Podemos hacer un truco para que nos «autocomplete» el nombre del EPG. Si te fijas en los canales todos tienen la opción «Automatically Map EPG Source» así que: 1) abajo a la derecha donde pone «per page» pon «all», 2) selecciona TODOS los canales, 3) haz click en Edit, deshabilitalos, 4) Apply, 5) sin salir habilitalos de nuevo, 6) Apply, Boom!! verás cómo automáticamente todos los canales cuyo nombre sea el mismo que el del EPG se auto-asociarán. Esto te evitará mucho trabajo, algunos quedarán pendientes de asociar, pero serán muy pocos, así que haz tú la asociación manualmente (no te olvides !!!!).
¿qué pasa con el EPG?
Llegados a este punto ya has terminado y puedes disfrutar de esta nueva versión de Tvheadend 4.1. Lo que te puede ocurrir es que NO ves todavía el EPG y el motivo es que Tvheadend se puede tomar con mucha calma este tema, es decir, puedes tener todo perfectamente configurado pero hasta que le toque un ciclo de lectura, asociación y activación del EPG no lo verás. Mira la sección de Trucos de mantenimiento donde creo que puedes encontrar consejos útiles.
Si estás trasteando con el EPG y no te funciona: 1) Para tvheadend. 2) Borra el fichero /etc/tvheadend/epgdb.v2
. 3) Arranca el log en otro terminal y 4) arranca de nuevo Tvheadend, verás que se recrea el epgdb.v2
.
1 2 3 4 5 6 7 8 9 10 11 | tv ~ # cd /etc/tvheadend/ tv tvheadend # ls -al epgdb.v2 -rw------- 1 tvheadend video 3031661 mar 25 19:24 epgdb.v2 tv tvheadend # rm epgdb.v2 tv tvheadend # systemctl stop tvheadend (( EN OTRO TERMINAL SIEMPRE MIRA EL LOG )) tv # journalctl -f -u tvheadend (( VUELVE A ARRANCAR tvheadend: Verás que el fichero epgdb se recrea de nuevo al cabo de un rato )) tv tvheadend # systemctl start tvheadend |
¿re-nombrar los picons?
No necesitas hacer nada si has seguido las instrucciones hasta aquí. En esta sección describo un truco interesante si quieres utilizar una nomenclatura distinta para el nombre de los picons, puedes pedirle a Tvheadend que renombre el campo «User icon» de TODOS los canales a la vez.
Si cambias los parámetros «Channel icon path y/o Channel icon name scheme» en Configuration->General->Base, sigue los siguientes pasos para re-crear el nombre del canal en el campo User icon de TODOS los canales: Ve a Configuration->Channel/EPG->Channels 1) abajo a la derecha donde pone «per page» pon «all», 2) selecciona TODOS los canales, 3) haz click en Reset icons (se borrará User icon en todos), 4) pulsa en Save, Boom!! verás cómo automáticamente se regenera el nombre de nuevo en todos los canales.
Canales simultáneos
En los comentarios de abajo se consultó sobre el número máximo de canales simultáneos soportados. Hacía tiempo que no lo probaba así que dejo aquí los resultados de las pruebas. Notar que hago todas las pruebas desde un equipo OSX utilizando múltiples instancias de VLC. Es mucho más rápido (y barato) que poner raspberry’s :-).
Prueba 1: múltiples VLC’s usando RTP (Multicast) en directo, sin tvheadend.
Consigo abrir hasta 10 canales HD distintos simultáneos con VLC (~99.5Mbps). Utilizo URI’s que piden los streams en modo RTP (Multicast) de forma directa sin pasar por tvheadend:
1 2 3 4 5 | #EXTINF:-1,[000] Movistar+ HD rtp://@239.0.5.185:8208 #EXTINF:-1,[001] La 1 HD rtp://@239.0.0.185:8208 : |
Utilizo el siguiente script para lanzar múltiples instancias de VLC en OSX.
1 2 3 4 | #!/bin/bash # Script para ver la TV directamente desde VLC # open -na /Applications/VLC.app/Contents/MacOS/VLC --args /Users/luis/priv/TV/0-MovistarTV_RTP_HD.m3u --deinterlace-mode=blend --deinterlace=-1 |
En el gráfico podemos ver todos los canales reproduciendose simultáneamente y cómo consume aproximadamente ~99.5Mbps en la vlan2 a través de mi router (linux). Los VLC’s acceden directamente al router, no vía tvheadend.
Prueba 2: tvheadend con canales configurados para usar RTP/Multicast
En esta segunda prueba abro 11 canales HD distintos (11 instancias VLC) simultáneas (95,3Mbps). En esta ocasión voy a través de tvheadend, así que he añadido unos cuantos canales al fichero /etc/tvheadend/tv.m3u usando RTP, le pongo un número de canal y un nombre distintos para que me aparezcan y no se confunda con los que ya tenía.
1 2 3 4 5 6 | : #EXTINF:-1 tvh-epg="disable" tvh-chnum="210" tvh-tags="tv|Entretenimiento",RTP Movistar+ HD rtp://@239.0.5.185:8208 #EXTINF:-1 tvh-epg="disable" tvh-chnum="211" tvh-tags="tv|Entretenimiento",RTP La 1 HD rtp://@239.0.0.185:8208 : |
Descargo la nueva lista de canales. Se puede hacer desde tu servidor tvheadend con: http://tvheadend.server.org:9981/playlist/channels
1 2 3 4 5 6 | : #EXTINF:-1 logo="http://tvheadend.server.org:9981/imagecache/167" tvg-id="058471559a7ad089c26d395b12345678",Movistar+ http://tvheadend.server.org:9981/stream/channelid/1433502725?ticket=0CCF3D5A07BC3E0F3A5EFE44068502DF12345678&profile=pass #EXTINF:-1 logo="http://tv.parchis.org:9981/imagecache/207" tvg-id="3d1dd75176c47386c37b50bf12345678",La 1 HD http://tvheadend.server.org:9981/stream/channelid/1373052221?ticket=FA06FE51437BCBCA504B71D9683D4DAE12345678&profile=pass : |
Prueba 3: tvheadend a través de udpxy
No conseguía pasar de 3 canales y he descubierto que la razón no podía ser más simple, udpxy sirve un máximo de 3 clientes por defecto, y si quieres soportar más solo tienes que usar el argumento ‘-c’. He corregido mi apunte Movistar Fusión Fibra + TV + VoIP con router Linux para reflejarlo.
Repito las pruebas desde OSX con VLC, le pido que conecte con el servidor Tvheadend y a este a su vez que vaya a través de UDPXY.
Fichero M3U usado en el Servidor donde corre tvheadend
1 2 3 4 5 6 | : #EXTINF:-1 tvh-epg="disable" tvh-epg="disable" tvh-chnum="0" tvh-tags="tv|Info",Movistar+ http://192.168.1.1:4022/udp/239.0.5.185:8208 #EXTINF:-1 tvh-epg="disable" tvh-chnum="1" tvh-tags="tv|Ocio y cultura",La 1 HD http://192.168.1.1:4022/udp/239.0.0.185:8208 : |
Fichero M3U usado en el OSX con VLC. Este fichero lo puedes descargar desde tu servidor tvheadend con: http://tvheadend.server.org:9981/playlist/channels
1 2 3 4 5 6 | : #EXTINF:-1 logo="http://tvheadend.server.org:9981/imagecache/167" tvg-id="058471559a7ad089c26d395b12345678",Movistar+ http://tvheadend.server.org:9981/stream/channelid/1433502725?ticket=0CCF3D5A07BC3E0F3A5EFE44068502DF12345678&profile=pass #EXTINF:-1 logo="http://tv.parchis.org:9981/imagecache/207" tvg-id="3d1dd75176c47386c37b50bf12345678",La 1 HD http://tvheadend.server.org:9981/stream/channelid/1373052221?ticket=FA06FE51437BCBCA504B71D9683D4DAE12345678&profile=pass : |
Prueba 4: ¿dónde está el límite? ¿núm. de canales o ancho de banda?
Hago una última prueba concluyente. Intento abrir el número máximo de canales en SD y descubro que no me deja pasar de 11 canales, al intentar abrir el duodécimo da un error.
Conclusión
Según las pruebas realizadas Movistar TV por fibra (300/300) soporta hasta 11 Canales o 100Mbps, lo que antes se alcance.
Trucos de mantenimiento
Forzar la ejecución del EPG Grabber
Si no ves el EPG es probablemente por culpa de 1) No has asociado el nombre del EPG que viene del fichero XMLTV a tu canal o 2) No se ha ejecutado el EPG Grabber todavía. De hecho, Tvheadend se puede tomar con mucha calma este tema, es decir, puedes tener todo perfectamente configurado pero hasta que le toque un ciclo de lectura, asociación y activación del EPG no hará el grab, es un tema bastante asíncrono.
Para el primer caso (no tienes bien la configuración) solo te puedo recomendar repasar todo lo que describo en este apunte. Para el segundo caso (no se ha ejecutado el EPG Grabber), mira a ver si el siguietne truco te sirve:
Una vez que creo tener todo bien configurado fuerzo la ejecución del EPG Grabber: Paro Tvheadend, borro el fichero epgdb.v2
, dejo en otro terminal ir viendo el Log, vuelvo a arrancar Tvheadend y fuerzo un EPG Scan.
1 2 3 4 5 | tv ~ # systemctl stop tvheadend tv ~ # cd /etc/tvheadend/ tv tvheadend # rm epgdb.v2 : tv ~ # systemctl start tvheadend |
En otro terminal tengo arrancado journalctl
y observo que efectivamente re-crea todo lo relacionado con EPG pero curiosamente «no» ejecuta el grabber. Lo que decía, cosas de Tvheadend :-).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | tv ~ # journalctl -f -u tvheadend : abr 09 09:07:28 tv tvheadend[23245]: epggrab: module eit created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module uk_freesat created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module uk_freeview created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module viasat_baltic created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module Bulsatcom_39E created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module psip created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module opentv-skyit created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module opentv-skyuk created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module opentv-ausat created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module opentv-skynz created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module pyepg created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module xmltv created abr 09 09:07:28 tv tvheadend[23245]: spawn: Executing "/usr/bin/tv_find_grabbers" abr 09 09:07:28 tv tvheadend[23245]: epggrab: module /usr/bin/tv_grab_combiner created abr 09 09:07:28 tv tvheadend[23245]: epggrab: module /usr/bin/tv_grab_movistartv created |
Entro en la configuración de Tvheadend y fuerzo un EPG Scan.
1 2 3 4 5 6 7 8 9 10 11 | tv ~ # journalctl -f -u tvheadend : abr 09 09:09:28 tv tvheadend[23245]: /usr/bin/tv_grab_movistartv: grab /usr/bin/tv_grab_movistartv abr 09 09:09:28 tv tvheadend[23245]: spawn: Executing "/usr/bin/tv_grab_movistartv" abr 09 09:09:28 tv tvheadend[23245]: /usr/bin/tv_grab_movistartv: grab took 1 seconds abr 09 09:09:30 tv tvheadend[23245]: /usr/bin/tv_grab_movistartv: parse took 2 seconds abr 09 09:09:30 tv tvheadend[23245]: /usr/bin/tv_grab_movistartv: channels tot= 108 new= 0 mod= 0 abr 09 09:09:30 tv tvheadend[23245]: /usr/bin/tv_grab_movistartv: brands tot= 0 new= 0 mod= 0 abr 09 09:09:30 tv tvheadend[23245]: /usr/bin/tv_grab_movistartv: seasons tot= 0 new= 0 mod= 0 abr 09 09:09:30 tv tvheadend[23245]: /usr/bin/tv_grab_movistartv: episodes tot=24178 new=24178 mod=24178 abr 09 09:09:30 tv tvheadend[23245]: /usr/bin/tv_grab_movistartv: broadcasts tot=24178 new=23757 mod=23757 |
Por último, échale un ojo a la captura siguiente, en esta sección de la configuración deberías ver todas las asociaciones que se han realizado pero es importante que conozca que esta parte NO la he tenido que configurar, sino que automáticamente ha quedado así configurada por el hecho de seguir todos los pasos que he documentado.
Backup de la configuración
En mi caso, que trabajo con versiones «en desarrollo» de Tvheadend, siempre me hago copia del ejecutable y de su configuración. Usa el código de versión exacto que estás ejecutando para ambos backups, así puedes dar «marcha atrás» de forma sencilla.
1 2 3 | tv ~ # /usr/bin/tvheadend --version /usr/bin/tvheadend: version 4.1-1116~gf51239c-dirty tv ~ # cp /usr/bin/tvheadend /usr/bin/tvheadend-4.1-1116~gf51239c-dirty |
1 2 3 4 | tv ~ # systemctl stop tvheadend tv ~ # cd /etc/tvheadend/ tv tvheadend # tar cvfz /directorio/destino/del/backup/fecha-tvheadend-4.1-1116~gf51239c-dirty tv tvheadend # systemctl start tvheadend |
Restaurar un backup de la configuración
OJO!! que aquí se usa el comando rm -fr
y ya sabes lo peligroso que es. Mucho quidadito 🙂. Lo dicho, si quieres recuperar un backup de la configuración:
1 2 3 4 5 | tv ~ # systemctl stop tvheadend tv ~ # rm -fr /etc/tvheadend/ tv ~ # mkdir /etc/tvheadend tv ~ # cd /etc/tvheadend/ tv tvheadend # tar xvfz /directorio/destino/del/backup/backup_tvheadend_fecha.tgz tv ~ # systemctl start tvheadend |
Limpiar la configuración
OJO!! de nuevo, un ejemplo con el comando rm -fr
y ya sabes lo peligroso que es. Si en el futuro quieres empezar con una configuración completamente limpia o si quieres volver a empezar de cero necesitarás hacer lo siguiente (sin tener que reinstalar el software). Fíjate que salvo los logos de los programas y también el fichero M3U temporalmente.
1 2 3 4 5 6 7 8 9 10 | tv ~ # mv /etc/tvheadend/picons /tmp tv ~ # mv /etc/tvheadend/tv.m3u /tmp tv ~ # systemctl stop tvheadend tv ~ # rm -fr /etc/tvheadend tv ~ # mkdir /etc/tvheadend tv ~ # mv /tmp/picons /etc/tvheadend tv ~ # mv /tmp/tv.m3u /etc/tvheadend tv ~ # cd /etc/tvheadend tv ~ # chown -R tvheadend:video picons/ tv.m3u tv ~ # systemctl start tvhe/adend |
Trabajo con los servicios Systemd
Estos son los comandos más utilizados para habilitar, des-habilitar, arrancar o parar el servicio
1 2 3 4 | tv ~ # systemctl enable tvheadend tv ~ # systemctl disable tvheadend tv ~ # systemctl start tvheadend tv ~ # systemctl stop tvheadend |
Rearrancar Tvheadend cada cierto tiempo
Lo avisaba al principio del apunte, aquí describo una versión *en desarrollo* y acepto que pueda *petar* de vez en cuando. De hecho, cada 4 o 5 días de repente se queda colgado. Lo que he hecho es programar que el servicio se re-arranque a las 4 de la mañana todos los días, que no veo la tele :-), lo hago con systemd:
- Fichero /etc/systemd/system/tvh-restart.timer
1 2 3 4 5 6 7 8 9 | [Unit] Description=Rearrancar Tvheadend a las 4:00 [Timer] OnCalendar=*-*-* 04:00:00 Unit=tvh-restart.service [Install] WantedBy=timers.target |
- Fichero /etc/systemd/system/tvh-restart.service
1 2 3 4 5 6 | [Unit] Description=Rearranco Tvheadend [Service] Type=oneshot ExecStart=/usr/bin/systemctl try-restart tvheadend.service |
- Habilito y arranco el .timer (no el .service).
1 2 | tv ~ # systemctl enable tvh-restart.timer tv ~ # systemctl start tvh-restart.timer |
- Si quieres ver los timers
1 | tv ~ # systemctl list-timers --all |
- Solo si modificas los ficheros y quieres que interprete las nuevas modificaciones no olvides:
1 | tv ~ # systemctl daemon-reload |
Espectacular como siempre Luis, ha costado un poco, pero ya lo tengo adaptado a mi «ecosistema»: El servidor reside en mi nas synology ds1812+ y el kodi corriendo en mi appletv4. Todo funcionando a la perfección! El siguiente paso, incluir los canales del satélite.
Gracias!
Genial actualizacion, me gustan un monton las nuevas opciones del Tvheadend. Una pena no poder tratar el epg como en el addon del kodi. Pero esta nueva solucion me parece mucho mas optimizada.
Una pasada
Sí, de momento sigue funcionando, muy generoso por parte del sitio donde bajo el epg ya preparado.
una cosilla, cuando dices en la parte del fichero m3u dices que usas igmproxy, pero creo que realmente te refieres a udproxy.
Cierto!!, udpxy, ahora lo corrijo, muchas gracias.
tengo un problemilla… con el EPG…en el log me pone:
/usr/bin/tv_grab_movistartv: no output detected
/usr/bin/tv_grab_movistartv: grab returned no data
alguna idea?
Deberías poder entrar en tu linux, con un usuario normal y ejecutar /usr/bin/tv_grab_movistartv, y debería devolverte en el standard output todo el EPG. Si eso no ocurre… el problema está «antes» de tvheadend.
Ejecuto el tv_grab_movistartv y sale el EPG.
Me esta pasando lo mismo que a ti, a ver si localizamos el problema
No se qué puede ser, tal como documenté me funcionó. Lo reviso y expando si veo que falta algo…
He estado haciendo algunas pruebas con VPN y otras redes con imageneio aprovechando la opcion de prioridad en las redes y me he dado cuanta de que en mi caso el download del interface vlan de imageneio esta en iunos 40Mb si si piden varios canales que sumen mas de esos 40MB hace cosas raras, en especial el deco de movistar que se queda bloqueado (unos segundos de video y luego se bloquea). He puesto el limite de download de la nertwork del tvheanded a 30Mb (reservando 10 para el deco de movistar) y 15Mb para las otras network que… Read more »
Donitz, puedes discriminar con tvheadend por usuario, asignar qué canales pueden ver. El truco es usar channel tag, no solo lo tienes en los canales sino que puedes usarlo con los usuarios…
Muchas gracias por la guía. Un trabajo excelente. He seguido paso a paso y el único que me da problemas es el EPG Source. Aparece en blanco, nada para elegir. En EPG Grabber Modules lo selecciono y activo tal y como los explicas. He inciado de cero ya un par de veces. Algo me pierdo. Tengo Ubuntu. ¿Qué podrá ser?
No eres el único, voy a repasar todo lo que documenté en cuanto pueda a ver si me dejé algún paso.
Muchas gracias Luis. Estaré pendiente.
Hola, he repasado, añadido y modificado el apunte en múltiples sitios, sobre todo que el tema EPG este más claro. Si habéis tenido problemas os recomiendo salvar la configuración (ver «trucos mantenimiento») y empezar desde cero re-leyendo desde el principo el apunte según configuráis.
Hola ! Gracias a esta entrada me he animado a cambiar de IPTVSimple a TVHeadend, por tener los iconos y la EPG. Los iconos salen perfectamente, pero la EPG en kodi marca Sin información. En la interfaz web de TVH sale correctamente cargada y asociada a los canales, qué puede ser?
La verda que no se me ocurre qué puede ser, quizá la configuración del cliente Kodi, prueba a borrar la BD de EPG o la de canales (para que re-lea). También prueba con el cliente para móvil de TVH. Instálatelo y mira a ver si ahí te funciona el epg. Hay para iOS y Android, se llama TvhClient.
Trasteando y googleando un poco he encontrado esto
http://comunicacion.canalplus.es/guiaProgramacion/exportarProgramacion
Esperoq ue le pueda servir de ayuda a alguien que sepa mas que yo de crear scrips
Interesante, a ver si tengo un rato algún día para investigarlo…
Muchas gracias por el post, es muy interesante. Estoy pensando en pasarme a la fibra de Movistar.
Lo voy a utilizar para poder ver desde 3 clientes diferentes. ¿Cuantos streams a la vez soporta la fibra?
¿Podeis hacer una prueba de 5 canales concurrentes?
Muchas gracias por todo.
Saludos.
*EDITO* Gracias por la pregunta, me ha hecho probar de nuevo este tema y descubrir que tenía mal configurado ‘udpxy’. Volviendo al tema: tras varias pruebas veo que soy capaz de llegar hasta «100Mbps» u 11 canales, lo que antes se alcance; he editado el apunte y añadido la sección «Canales simultáneos».
El otro día me activaron FUSION Contigo (300/300 y 8 canales de TV) e hice una prueba, en el mismo ordenador abrí 8 ventanas distintas de VLC, una con cada canal, y se reproducían todas sin ningún problema.
Hola Luis. Te felicito por el excelente manual. Te quería hacer una consulta, he abierto en la web de tvheadend un bug (http://tvheadend.org/issues/3797) y era por si te sonaba. El caso es que si creo de forma automática una red iptv, configurando la playlist de la siguiente forma: #EXTM3U #EXTINF:-1 tvh-epg=»disable» tvh-chnum=»0″ tvh-tags=»tv|Ocio y cultura»,Telemadrid rtp://@239.0.0.25:8202 #EXTINF:-1 tvh-epg=»disable» tvh-chnum=»1″ tvh-tags=»tv|Ocio y cultura»,La 1 HD rtp://@239.0.0.185:8202 Al crear los muxes, en la url me quita el carácter @ y no hay forma de indicarle el adaptador de red de forma automática. En principio quiero evitar usar udpxy, aunque si no hay… Read more »
No lo he probado, a ver que te comentan.
Por cierto, acabo de probar y efectivamente quita el @, pero no pasa nada, de hecho funciona perfectamente sin la arroba 🙂
Efectivamente, eso me contestaron. Sobre el otro problema, el que no asigna el interface, me han dicho que está previsto para la versión 4.4, o sea que va para largo.
Entonces, ¿es mejor por rtp que usando udpxy?, que al final es como lo hice, lo instalé en ubuntu 16.04. y tengo los canales con http.
Gracias
*EDITO* He descubierto la limitación de 3 canales en udpxy, era muy simple, hay que usar el argumento ‘-c’ para subir el número de clientes a servir (máx. 16). Respecto a UDP o TCP: tras reconsiderar creo que da igual, la decisión dependerá de cada caso y algunas cosas a tener en cuenta: 1) Si tienes una red compleja con varios switches o wifi y no quieres preocuparte porque multicast la inunde, 2) Si tu equipo con tvheadend está «lejos» de la LAN donde se pueden hacer los joins o 3) Si no tienes suficiente con el límite de 16… Read more »
Respecto al interfaz. Dí de alta 19 canales adicionales usando RTP para hacer pruebas y ni me acorde de poner el interfaz. Lo curioso es que funcionan perfectamente. Probablemente la razón es que solo tengo una única interfaz en la VM donde corro tvheadend. En cualquier caso, haz pruebas a quitar la interfaz 🙂
Gracias Luis.
Yo en la VM (ESXi) también tengo una única interface, lo que pasa que en tvheadend me aparecen 2, ens160 (antigua eth0) y lo (loopback interface), a lo mejor por eso no me selecciona la ens160 por defecto como a ti.
A mi me aparece la «lo» y la «vlan100» (la renombro así), y me funciona… no se la razón. He visto que NO hace join en todas.
En primer lugar enhorabuena y muchas gracias. Por otro lado, he seguido tus pasos y funciona todo perfectamente. Lo que no consigo es que la epg salga con los colores correspondientes a cada tipo de programa.
No se si me he saltado algo o tengo que configurarlo en tvheadend.
Gracias.
Gracias, respecto a los colores, lo tienes todo bien, simplemente no funciona porque el fichero no trae lo necesario. La buena noticia fue que tenemos un método que funciona gracias a la generosidad de los que lo crean, pero por desgracia como digo, no trae lo necesario para categorizar ;-(
Muy buenas a todos y gracias Luis por el pedazo de esfuerzo, me a venido muy bien. Tengo problemas con el EPG, utilizo Debian 7 x64 y he probado múltiples versiones de TVheadend, actualmente estoy en la 4.1-2000~g235cded~wheezy. Coloco el script tv_grab_movistar en /usr/bin/ que es donde están. Aviso de antemano, no soy un experto, algo entiendo pero no soy un experto, digamos que voy poco a poco. Bueno el problema que da es /usr/bin/tv_grab_movistar: no output detected /usr/bin/tv_grab_movistar: grab returned no data He probado a ejecutarlo con otro usuario y tira bien, también he probado a ejecutarlo como root… Read more »
Hola, la verdad no se qué puede pasarte con la ejecución de tv_grab_movistar. Si desde la shell te funciona y devuelve la salida (cat) del fichero guia.xml entonces apunta a algo en tvheadend. Prueba a activar la consola (icono abajo a la derecha del interfaz GUI) y prueba a hacer pequeños cambios o a arrancar el tvheadend y ver qué hace en el log.
Muy buenas, si, eso ya he intentado incluso ejecutando desde shell en modo debug y no muestra nada, indica las dos mismas lineas que te indico en el post anterior, por lo que al tener falta de información…. poco se puede hacer, de todos modos tiene pinta de lo que dices, tvheadend está fallando, pondré la versión con la que empecé el tema que es con la que tú realizaste esta guia y a ver que pasa.
Saludos y mil gracias. 🙂
Hola Luis. Muchas gracias por el gran trabajo que has hecho. Estoy siguiendo los pasos que explicas y me quedo en el apartado de generar el script tv_grab_movistartv en /usr/bin. No se como crearlo, ni el contenido que tiene que tener. Los demás scripts los puedo bajar directamente de tu pagina de descarga, pero este no lo veo.
Gracias de nuevo por el tutorial.
Lo tienes en el apunte, justo detrás de esta frase «No te olvides de cambiar la línea donde pone “xmltv_file_location” por el path completo al fichero guia.xml que es exactamente donde te bajaste el EPG y está en formato XMLTV.»
Muchas gracias Luis. No me había dado cuenta del menú desplegable…
Hola,
De nuevo gracias por este super howto, me funciona de maravilla.
Pero ahora quiero aprovechar la fibra simetrica y conectarme desde internet para poder ver los canales contratados. Me conecto sin problemas desde un Openelec remoto y se ven bien los canales sin HD. Pero cuando pongo a reproducir un canal en HD se empieza a pixelar y no se puede ver bien.
Donde esta instalado Tvheadend tengo 300mbps simetricos, y en elado del cliente tengo un cablemodem de 100mbps, no creo que se problema de la conexion.
¿Alguien lo ha probado?
Un saludo a todos.
Yo lo he probado y va sin problema. Uso una raspberry pi 3. Por otro lado, he intentado lo mismo a través de https (próxy inverso) y no puedo. Supongo que será porque la raspberry no tiene potencia suficiente para el cifrado.
Gracias Pablo,
Y lo haces directamente atacando la IP publica de la fibra? sin VPN?
Que router tienes? Mikrotik?
Agradezco cualquier ayuda, ya que quiero pder compartir los canales contratados.
Un saludo.
Muy buenas, yo lo he probado y depende de múltiples cuestiones, la transcodificación que tengas puesta en TvHeadend a la hora de hacer el streaming y de la potencia del equipo para hacerlo, el mas compatible que yo he probado es el matroska, he conseguido una subida de 1.096kb por lo que con una linea de 10 Mb lo verías justo…. el tema HD se va a los 2.128kb mas o menos, por lo que necesitas un ancho de banda mayor y una máquina con el TvHeaden mejor. si tienes oportunidad, abre una terminal y escribe «htop» para ver a… Read more »
hola amigos !!! quisiera saber como hago para integra a mi raspberry pi 3 un sintonizar ya sea para cable o satelital…. es decir actualmente solo manejo IPTV con mi kodi o openElec pero en mi caso afecta mucho la velocidad porq el ancho de banda es solo 10 megas para todos los usuarios de mi casa estuve observando esta propuesta de la pagina oficial de openElec http://webshop.openelec.tv/shop/wetek-openelec-box-with-dvb-s2-tuner y quiersaber como lo puedo hacer con mi Raspberry por no encuentro o nose como buscalar en la tiendas online es decir lo que qiiero es sintonizar con mi openElec directamente del… Read more »
Buenas IVARTH DOMINGO, tienes múltiples opciones, o bien sintonizadores USB o bien un PCI externo a USB, aun que estos están con USB 3.0 es compatible para USB 2.0 y tratándose de una sintonizadora no requiere de un ancho de banda grande. Dado lo que cuesta cada sintonizadora USB, unos 20/30€ para la DVB-T2 y unos 40/60€ para la de DVB-S2 mas la controladora PCI que son unos 70€ casi el MOI+ cuesta parecido…. y si ya tienes las capturadoras y tu pregunta es como verlo, tendrás que instalar el TVHeadend en el Openelec y configuarlo para que luego desde… Read more »
buenas dia amigo soy de venezuela quiero montar un servidor iptv en mis pais para distribuir tv en mi comunidad me puede dejar un link donde pueda descargar gentoo linux en la version 4.1 o puedo usar otra versión mas avanzada
https://www.gentoo.org/
Hola,
Desde hace unos dias el script para bajar la programacion funciona, he encontrado otro sitio para descargar y funciona:
http://epg.tododream.com/latinmunich_xmltv-movistar-spain.gz
¿Podeis confirmar que es asi?
Un saludo.
Muchas gracias Josu, efectivamente el de «vuplus» devuelve un fichero vacío, acabo de verlo. Tu enlace de «tododream» funciona :-). He retocado los scripts y lo he documentado en la sección EPG. Gracias de nuevo.
Hola,
Arriba alguien puso el siguiente link: http://comunicacion.canalplus.es/guiaProgramacion/exportarProgramacion
Tambien funciona bien y esta la guia completa, lo unico que no se como hacer para poder descargar automaticamente.
Un saludo.
Lo vi, pero lo que me gustaría es poder hacerlo vía el API desde un script, pero no tengo la documentación 🙁
Hola,
no se cómo estaba antes pero el enlace con la guía más completa ahora es este: http://epg.tododream.com/latinmunich_xmltv-movistar-spain_todo.gz
El anterior sigue funcionando, pero este último incluye -además de todos los del anterior- canales como Ten, Be Mad, Atreseries, DKISS, etc.
Estupendo post Luis!
Un saludo.
Gracias, este finde le echo un ojo.
Buenos días Luis, pudiste echarle un ojo? He terminado de configurar todo, y justo faltan esos canales en la epg 🙂
Gran trabajo el tuyo.
Gracias por todo el curro que has hecho Luis, llevo tiempo leyendote en silencio, pero queria agradecertelo.
He puesto en funcionamiento el nuevo método de descargar la guia, por cierto, el enlace a descarga_guia_tododream.sh te lleva al enlace de descarga_guia_vuplus.sh, por si quieres cambiarlo.
Lo dicho, gracias por todo tu curro.
Salu2!
Gracias Adrián. Y gracias por el aviso, corregido.
Hola Luis. Antes de nada agradecerte toda la publicacion que has realizado sobre la configuracion para movistarttv en Tvheadend. EL problema que tengo es que soy incapaz de ejecutar sin errores el script de /usr/bin/tv_grab_movistartv Me arroja errores sintacticos como si estuviese mal codificado. Te pego el error que me arroja al ejecutarlo en una simple consola (con cualquier usuario): «/usr/bin/tv_grab_movistartv: línea 7: error sintáctico cerca del elemento inesperado `then'» Puede ser que el codigo del script que se ve en tu web este mal?. O mas bien puede tener que ver con que estoy configurandolo todo en Lubuntu y… Read more »
Efectivamente estaba mal. He actualizado recientemente WordPress y el tema que uso (Divi) y me temo lo peor, llevo unos días notando que si salvo un apunte a veces «retoca» los ejemplos de scripts y comandos. Una faena, lo investigaré este finde porque imagina la que me puede liar :-). Volviendo a tu problema, acabo de actualizar el fichero, ahora deberías poder copiar/pegar y funcionarte…
Hola, tengo el mismo problema, el error sintactico cerca del «then» inesperado
¿Podrias meter el archivo en GitHub u otro repositorio?
La guia una gozada, mis mas sinceras felicitaciones
Lo reviso ahora, me la está jugando wordpress tocando los contenidos…
Ya lo tienes.
Muchas gracias por tu ayuda Luis. Con el nuevo codigo ahora si que funciona el script, y por fin ya si he conseguido configurar el modulo para este graber EPG en tvheadend, aunque hay un par de cosas que me suceden muy extrañas y que creo que pueden ser debidas a que aun hay algo mal en dicho script y que hace que cuando tvheadend hace el grab no acaba de interpretar lo que debiera. Lo mas facil y directo seria ponerte un par de pantallazos aqui, pero creo que no se puede (o no se) por lo que intento… Read more »
– Por un lado el nombre que aparece en EPG Graber Modules es algo extraño y figura algo asi:
Internal: XMLTV: LA 1 HD La 1 La 2 Antena …
Parece como que el interprete de tvheadend lee todos los nombres de los canales del fichero xml guia y los coloca «todos» como una ristra de los 103 nombres en la descripcion del nombre de para el graber del EPG que detecta.
Lo que dices no tiene sentido. En la ventana ‘EPG Graber Modules’ debería aparecerte lo mismo que tengo en mi captura (sección «Configuro el EPG Grabber»). Lo que enseña tvheadend en esa ventana son los ejecutables que están en un directorio…
– Otra cosa aun mas extraña y ademas que es necesaria y no me funciona como debe es que como la autoasignacion del EPG no se completa para todos los canales mux (supongo que por leves diferencias en los nombres) tengo que hacerlo de forma manual pero cuando abro el desplegable para asignar el EPG en channels-Edit-EPG source, me aparecen las posibles selecciones de forma piramidal empezando con la primera en la que aparecen los nombres de muchos (todos) de los canales, la segunda con todos menos el primero, la tercera con todos menos los dos primeros, etc, etc… hasta… Read more »
Lo siento pero no puedo ayudarte, no entiendo qué quieres decir, me temo que hay algún paso que está mal y la respuesta anterior no cuadra tampoco.
Hola Amigo quisiera que revices estos videos que pueden ayudar con los anchos de banda no los he probado pero esto utilizan en una empresa que reparte IPTV Y OTT segun investigaciones hechas en la pagina de tvheaden soporta el protocolo H.265 que te ayuda a comprimir los videos https://www.youtube.com/watch?v=lZlIAb2NnfU , https://www.youtube.com/watch?Saludos desde Ecuador
Sí, gracias. h265 me suena que lo probé y funciona pero el que no lo soportaba todavía era la Pi, creo que lo hará en breve…
Amigo eres un verdadero crack.
Muchas gracias, gran curro. Lo he utilizado como base para hacerlo correr en un synology y va de perlas incluso el EPG.
Muchas gracias por el trabajo! muy bien explicado y claro. En mi caso quiero hacer un proyecto parecido al tuyo, sin embargo, la principal diferencia es que mi deco es Android y no puedo instalar tvheadend server en él para poder utilizar la señal de los canales DVB. Para intentar darle solución, me estaba planteando utilizar una máquina Linux y montar a través de NFS el dispositivo /dev/dvb desde el Android a la máquina Linux con el servidor tvheadend y que el servidor tvheadend lo reconozca como un dispositivo local ¿Crees que esto sería una opción viable para poder configurar… Read more »
Antes de todo felicidades es una gran guia para los que estamos en 0 en estos temas de iptv, actualmente tengo un wisp (doy servicio de internet inalambricamente) mi idea es llevar iptv a estos cliente mediante mi infraestructura, es posible bajar los canales de cualquier iptv services como ejemplo stalker y retransmitirlos a los clientes por multicast?
Saludos desde mexico.
Desconozco el servicio, pero el concepto claro que es posible ahora bien necesitas el software adecuado, lo de «retransmitir por múlticast» no es tan fácil; tvheadend NO lo hace, usa conexiones cliente/servidor.
Excelente tutorial Luis.
Una pregunta si es posible esto, en casa tenemos el paquete completo y demas de Fusion, es posible que yo pueda acceder a este servidor desde internet por ejemplo desde mi tablet o movil usando kodi o similar cuando estoy de viaje? Intuyo que necesitaria una IP fija, pero seria posible?
Gracias.
Saludos.
Claro, es IP :-), solo necesitas saber la IP de tu casa y que al conectar con los puertos 9981/9982 llegue el paquete a to servidor interno, que lo puedes hacer con NAT en el router.
Importante¡¡¡ accede mediante vpn
Buenas Luis, ante todo mil gracias por este tutorial es extraordinario. He podido configurar perfectamente el Synology gracias a ti. Funciona todo a la perfección.
Me alegro mucho y muchas gracias,
Luis
Hola. Agradezco todo el esfuerzo que has realizado. La guía está muy bien. Enhorabuena. Un trabajo impresionante. Yo estoy por tirar la toalla. Tvheadend en mi NAS Synology DS212j no lee la guía EPG. Todo funciona muy bien. Ejecuto el grabber desde consola y me devuelve la guía. En Epg Grabber Modules se muestra el grabber pero en Channels -> EPG Source no aparece ningún canal. Probé Ubuntu y funciona todo. En el NAS la guía no funciona. He reinstalado muchas veces el TVheadend en sus diferentes versiones, he reinstalado el software del NAS y nada. Vamos, un caso para… Read more »
La descripción del módulo tv_grap_movistar no funciona en versiones TVHeadend previas a la 4, por lo que p.ej. en la 3.3 es inoperante.
Luis q tal… tengo un MOI+ con 2 sintonizadoras satelitales y le deseo pasar los canales de estas 2 sintonizadoras a un TVH via IP ya que estan en la misma LAN. Es posible? de ley tengo que hacerlo como explicas en tu foro osea creando una lista m3u e instalandosela al otro para que ‘jale’ los canales de esta lista? Habra alguna manera de unir esos 2 TVH para que el MOI+ le entregue los canales al TVH mas grande y potente y yo pueda ver desde ahi estos 2 TPs? Hago esto ya que en el ‘TVH grande’… Read more »
El enlace para averiguar los canales de un Tvheadend#1 y configurarlos como fuente IPTV de un Tvheadend#2 es: http://tvheadend1.tudominio.com:9981/playlist/channels – Verás que descarga un fichero (sin extensión), que realmente es un .m3u (MPEG Versión 3.0 URL, formato para listas de reproducción de medios). Ábrelo con cualquier editor y encontrarás lo que buscas. Otra opción más límpia sería que Tvheadend hablase HTSP (https://tvheadend.org/projects/tvheadend/wiki/Htsp) contra otro Tvheadend, pero «creo» que todavía no lo soportan o igual sí y no lo he visto y me estoy perdiendo esa parte :-).
Caro Luis, felicito por tu artículo. Claro,directo y, al mismo tiempo, didáctico. Pero, por cuenta de mis actividades, me quedan algunas dudas. Siga el ejemplo: Si, al revés de tener canales llegando por DVB, si yo hago algunos directórios con archivos de vídeo, como si fueran «canales reales en vivo», podría yo transmitirlos a través de IP’s distintos, como se fueran canales, utilizando el TVHeadend? Aún en esta idea… hago 5 directórios.. cada uno de ellos con videos distintos (Canal 1=Niños, Canal 2=Aventura, Canal 3=Comedia, Canal 4=Acción y Canal 5=Drama). Con el TVHeadend, podría yo transmitirlos como se fueran cada… Read more »
Tvheadend soporta streams como fuentes de video, un fichero/archivo no lo es. Tendrás que buscar otro programa me temo.
David,
Existe una aplicacion muy buena q se llama Xtream Codes con ella puedes crear tus canales e incluso tomar TVH como fuente de IPTV, crear usuarios, poner privilegios, hasta meterles publicidad, etc.
Como dice Luis, con TVH no puedes crear canales.
Espero te sirva.
Saludos
Ronnyrock
Hola David. No se con que objetivo quieres hacer esto, pero si la idea es transmitir vídeo ya en ficheros y no en vivo, tu solución sería el Plex Media Server, clasificarías el contenido por directorios, como bien dices, Canal 1, Canal 2, etc… dentro de estos directorios metes el contenido que desees y luego lo añades a la biblioteca por separado, de esta manera podrás añadir usuarios y determinar que contenido asignas a cada uno. Plex Media Server es gratuito y transcodifica para ofrecer el contenido vía Internet o vía red local «LAN/Wifi» de manera muy funcional, tienes aplicaciones… Read more »
Pienso que David se refiere a crear un canal donde los suscriptores vean lo que el esta pasando en ese momento. Programas como SERVIIO o PLEX dejan elejir al suscriptor que ver y cuando ver… Pero con el Xtream Codes puedes tu crear la programacion y pasarla como que si fuese un canal de TV. Tu la programas y ahi veran los suscriptores si se pegan o no a tu canal. KellerNet adicional yo tengo un servicio de peliculas a demanda de suscriptores en una red FTTH pero lo levante con SERVIIO ya que el PLEX no me dejaba crear… Read more »
Yo utilizo Plex Media Server y no, nadie puede eliminar el contenido, yo otorgo quien tiene acceso a un contenido u otro. Tengo puesto dos librerías, Películas y SeriesTV, a unos amigos solo les gustan las Películas y pasan de series, por lo que les quito acceso a Series, si instalas el TVHeadend y el Plugin para Plex puedes dar acceso a IPTV, DVB-C, DVB-S, DVB-T dependiendo lo que tengas. La pena es que a Plex le cuesta mucho almacenar el Bufer de estos medios pero funciona bien, ojo, necesitas un buen procesador, con 4Gb de ram va bien y… Read more »
Hola a todos y, antes de todo, muchas gracias por las ideas y las respuestas de todos. Bueno, contestando a KellerNET y a todos, la idea es tener un server con el software (cual sea el software?, aún no sé) bajo linux (Debian, Ubuntu). Hacer con que el dicho software pueda ofertar bajo internet algunos canales, como en la idea presentada y ahora con mas detalles: #EXTINF:-1, Canal 1 Niños rtsp://adress.hotel.com/iptv/ch1.stream_360p #EXTINF:-1, Canal 2 Aventura rtsp://adress.hotel.com/iptv/ch2.stream_360p #EXTINF:-1, Canal 3 Comedia rtsp://adress.hotel.com/iptv/ch3.stream_360p #EXTINF:-1, Canal 4 Acción rtsp://adress.hotel.com/iptv/ch4.stream_360p #EXTINF:-1, Canal 5 Drama rtsp://adress.hotel.com/iptv/ch5.stream_360p Cada uno de los canales tendrá algunos videos que… Read more »
Buenas de nuevo David. Si tu idea es hacer eso bajo demanda, es decir, que el usuario le de al Play y empiece desde cero la reproducción para él, te valdría con crear un fichero M3U con el orden de los ficheros a reproducir. O por consiguiente tu idea es tener un canal reproduciendo en bucle un contenido concreto, aun que al igual, tendrías que crear un fichero M3U con la lista de reproducción pero utilizar otro sistema para que los usuarios se unan al flujo en reproducción. En la opción A te vale con cualquier cliente de medios, simplemente… Read more »
Hola KellerNET, muchas gracias por seguir con sugerencias. Para hacer la opción A, lo hizo con ffserver pero es para una solución de video on demand. El cliente tiene el archivo «.m3u» y puede ejecutar los «canales» con el Kodi, así mismo como dijiste. Ahora, intento encuentrar una manera para hacer la opción B,para crear el flujo de transmisión constante para que los usuarios puedan unirse en tiempo real a la transmisión. Estoy mirando ahora algunas herramientas, como Open Broadcaster Software o otras que sean funcionales bajo Debian. Creo que sean el camino. Como no conozco estas herramientas, tendré que… Read more »
Hola a todos¡
Si usas un sat linux receiver con 2 tuners para las 2 polarizaciones
y pasas los canales de sat a m3u entonces podrias ver todos los canales(contratados claro)de astra en varias raspies con Kodies por toda la casa no?
Saludos Y felicitaciones por el ultra super tutorial¡¡¡¡
Exacto.
Buscando una cosa encontre otra (suele pasar)
Es un generador de listas m3u para movistar
https://www.noltari.es/movistartv/
funciona de maravilla
Estimado… q tal!! te ha pasado que TVH no reconoce los usuarios que creaste? Uso la version; HTS Tvheadend 4.1-2398~gc38af4c~wily sobre un ubuntu 15.1
Al pasar de la version TVH 4.0 a la 4.1 me sucede que no me reconoce los usuarios que he creado…
Vaya!! gracias por la ayuda!!
Pues he tenido algunas veces problemas, volví a recrear mis usuarios. Creo recordar que de la 4.0 a la 4.1 cambiaban algunas cosas en la estructura de usuario/password, etc…
Luis eres un puñetero crack! Sólo por el tiempo que le has dedicado a este sitio y la solidaridad que muestras, aquí mi pequeño aporte/idea. Veo que los EPG los descargas de distintos sitios y esto quizás te genere una dependencia no deseada, además se trata de sitios no oficiales. Quizás lo mejor seria aprovechar una fuente original, descartando la petición por VLAN2. Ya hace tiempo que descubrí que los de Plus (ahora Movistar) tenían una sección en la web dónde podías descargar los EPG por fechas, con filtros y en el formato preferido (incluso el deseado XML). http://comunicacion.movistarplus.es/guiaProgramacion/exportarProgramacion En… Read more »
Muchas gracias, tiene buena pinta la idea, ahora no tengo mucho tiempo pero volveré por el EPG algún día y probaré esto que dices.
Hola,
Simplemente haciendo un post a la url «http://comunicacion.movistarplus.es/guiaProgramacion/exportar» pasándole en el body:
«fechaInicio=2017-01-05&fechaFin=2017-01-09&genero=0&formato=xml&selPredefinicion=0&cadena%5B%5D=INTECO&cadena%5B%5D=LA2&cadena%5B%5D=SEXTA&cadena%5B%5D=C4&cadena%5B%5D=T5&cadena%5B%5D=MV3&cadena%5B%5D=A3&cadena%5B%5D=ETB&cadena%5B%5D=TVE&cadena%5B%5D=TVC&cadena%5B%5D=NEOX&cadena%5B%5D=FDFIC&cadena%5B%5D=PCM&cadena%5B%5D=MTV&cadena%5B%5D=FOXGE&cadena%5B%5D=FOXCR&cadena%5B%5D=CL13&cadena%5B%5D=MV2&cadena%5B%5D=CPSER&cadena%5B%5D=COSMO&cadena%5B%5D=NONSTP&cadena%5B%5D=AXN&cadena%5B%5D=ATRESS&cadena%5B%5D=TNT&cadena%5B%5D=SET&cadena%5B%5D=SCI-FI&cadena%5B%5D=AMC&cadena%5B%5D=HOLLYW&cadena%5B%5D=MV1&cadena%5B%5D=CPXTRA&cadena%5B%5D=CPCOME&cadena%5B%5D=CPACCI&cadena%5B%5D=SUNDAN&cadena%5B%5D=PARCH&cadena%5B%5D=CPCOLE&cadena%5B%5D=TCM&cadena%5B%5D=DCESP&cadena%5B%5D=FUTREP&cadena%5B%5D=BELIG1&cadena%5B%5D=CPPART&cadena%5B%5D=BELIG2&cadena%5B%5D=BEMAX1&cadena%5B%5D=CHUEFA&cadena%5B%5D=CPFUT&cadena%5B%5D=BELIGA&cadena%5B%5D=MVMTGP&cadena%5B%5D=REALM&cadena%5B%5D=MVF1&cadena%5B%5D=IBERAL&cadena%5B%5D=GOLF%2B&cadena%5B%5D=TDEP&cadena%5B%5D=GOL&cadena%5B%5D=CAZPES&cadena%5B%5D=CFERIA&cadena%5B%5D=ESP2&cadena%5B%5D=BARNA&cadena%5B%5D=CPD2&cadena%5B%5D=ARTHUR&cadena%5B%5D=ESP&cadena%5B%5D=CPDEP&cadena%5B%5D=DCR&cadena%5B%5D=NATGW&cadena%5B%5D=NATGEO&cadena%5B%5D=DCRMAX&cadena%5B%5D=HIST&cadena%5B%5D=ODISEA&cadena%5B%5D=VJR&cadena%5B%5D=BIOGRA&cadena%5B%5D=CACOC&cadena%5B%5D=CYM&cadena%5B%5D=NOVA&cadena%5B%5D=DECASA&cadena%5B%5D=DIVINI&cadena%5B%5D=ENERGY&cadena%5B%5D=MEGA&cadena%5B%5D=NICKJR&cadena%5B%5D=PANDA&cadena%5B%5D=CLANTV&cadena%5B%5D=PLAYDC&cadena%5B%5D=NICK&cadena%5B%5D=BOING&cadena%5B%5D=DCHXD&cadena%5B%5D=DCH&cadena%5B%5D=MEZZO&cadena%5B%5D=CLASSD&cadena%5B%5D=40TV&cadena%5B%5D=CLASSI&cadena%5B%5D=VH1&cadena%5B%5D=MEZOHD&cadena%5B%5D=ENW&cadena%5B%5D=FOXNWS&cadena%5B%5D=TV5&cadena%5B%5D=CCTV-E&cadena%5B%5D=BL&cadena%5B%5D=RTESP&cadena%5B%5D=NBC&cadena%5B%5D=CNN&cadena%5B%5D=INFONW&cadena%5B%5D=CNCWOR&cadena%5B%5D=TLESUR&cadena%5B%5D=ORBE21&cadena%5B%5D=RUSSIA&cadena%5B%5D=PHOEN&cadena%5B%5D=PBOY&cadena%5B%5D=ARAGON&cadena%5B%5D=ANTV&cadena%5B%5D=TQ6&cadena%5B%5D=TQ2&cadena%5B%5D=TQ1&cadena%5B%5D=HDTQ10&cadena%5B%5D=HDTQ2&cadena%5B%5D=TQ3&cadena%5B%5D=TQ4&cadena%5B%5D=TQ5»
Ya nos devuelve el xml.
Gran trabajo por cierto, eres un crack.
Buenísimo, voy a probarlo ahora mismo. Esta sí puede ser la solución simple y rápida para todos.
Fabian, he hecho pruebas con POSTMAN, lo siguiente devuelve error: POST http://comunicacion.movistarplus.es/guiaProgramacion/exportar Content-Type: text/plain BODY: fechaInicio=2017-01-05&fechaFin.... Pero… me has dado la idea, entré en http://comunicacion.movistarplus.es/guiaProgramacion/exportarProgramacion que usan un programa en JavaScript así que he capturado el tráfico con wireshark he visto que lo que hacen es: POST http://comunicacion.movistarplus.es/guiaProgramacion/exportar Origin: http://comunicacion.movistarplus.es Content-Type: application/x-www-form-urlencoded Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0-8 Referer: http://comunicacion.movistarplus.es/guiaProgramacion/exportarProgramacion Accept-Encoding: gzip, deflate Accept-Language: es-ES,es;q=0.8;q=0.6 HTML Form URL Encoded: application/x-www-form-urlencoded Form item: key: fechaInicio value: 2017-01-05 Form item: key: fechaFin value: 2017-01-06 Form item: key: genero: value: 0 Form item: key: formato: value: xml Form item: key: selPredefinicion value: 0 Form item: key: cadena[]… Read more »
Buenas, después de un par de días dandole a la tecla ya tengo una versión funcionando del nuevo método para bajarse el EPG. He actualizado las secciones «EPG Grabber» y «Descarga web Movistar TV (2017)» explicando cómo hacerlo. Tenéis el proyecto en GitHub, proyecto tvhstar.
Hola Luis, viendo que estas actualizando el sistema te voy a dar una sugerencia.
Estuve siguiendo tus pasos pero no conseguí hacer funcionar los PICONS; buscando por internet vi que noltari había hecho una pagina para generar el m3u de los canales con los iconos ya integrados en esa lista. Puede ser interesante hacerlo asi, requiere menos configuración y (en mi opinion) va muy bien.
La pagina es esta:
https://www.noltari.es/movistartv
Gracias y enhorabuena, tu guía es genial.
Hola Pablo Estoy trabajando yo en ello, desde hace unos meses ando con poco tiempo y he frenado esto un poco pero estoy en proceso de retomarlo en breve, es un trabajo tedioso por que son muchos canales y mucha edición en PhotoShop así que poco a poco. Los de la TDT están mas avanzados por que empecé antes, te paso el link de GITHUP por si te interesa utilizarlos, lo bueno de tenerlos en GitHub es que según voy añadiendo los logos te irán apareciendo ya en tu TVH y cada 24h creo recordar refresca y actualiza si existen… Read more »
KellerNET, échale un ojo a este proyecto: https://www.picons.eu/ es una pasada, lo encontré hace unos días y lo que hacen es mantener muchísimos logos en formato vectorial (SVG). Tienen unos scripts para convertirlos pero si buceas encontrarás los PNG’s en 800×400. Yo he cogido estos últimos y añadido unos cuantos y los he puesto aquí: https://github.com/LuisPalacios/tvhstar en el directorio picons. He encontrado una nueva forma de hacer el EPG y lo documento ahí.
Gracias, le echaré un ojo, de todos modos mi idea es tener el control yo, ya que soy muy minucioso y perfeccionista y aun que contribuyo en algunos proyectos de TVHeadend actuales como el tema de los listados, estos repositorios son muy lentos de actualizar así que miraré y cogeré todo lo que me valga y continuaré el proyecto para mejorarlo.
Mil gracias Luis.
A que son tuyos, eso cambia 🙂 na creía que sería algún repo de terceros, es que estoy terminando unas cosas y he contestado antes de mirarlo 🙁 bueno, de todos modos «te robaré» con tu permiso, para escalarlos y comprimir los un poco para optimizar la carga en los reproductores.
Ya te comentaré cuando vaya haciendo y en que queda el tema.
Pretendo dejar un Repo para TDT, SAT en el futuro y MoviStarTV.
Saludos.
Muchas gracias, ya lo conocía, lo que pasa es que la calidad de los logos en baja. En https://www.picons.eu/ tienen versiones a 800×400, los cogí el otro día y he añadido unos que faltaban, los he puesto aquí: https://github.com/LuisPalacios/tvhstar en el directorio picons. Prefiero el sistema local, mucho más rápido, los logos a 800×400 se ven espectaculares en Kodi.
Hola Luis,
Estoy intentando configurar el tvhstar en mi server Debian, lo he hecho asi:
apt-get install nodejs npm git
cd /etc/tvheadend/
cd tvhstar
npm install
la salida del ultimo comando es este: https://paste.debian.net/907357/
Estoy haciendo algo mal?
La verdad que esta forma de obtener el XMLTV tiene muy buena pinta, aunque lo mas elegante es que Movistar lo enviara a traves de los IPTV con algun protocolo estandarizado.
Gracias por tu curro, un saludo.
Qué versión de Debian, nodejs y npm tienes? quizá puedo instalarme rápidamente un debian en una VM y probarlo… En mi caso
luis@tv ~ $ npm --version
3.10.9
luis@tv ~ $ node --version
v6.9.2
Gracias Luis, la version de Debian es Jessie con los repos oficiales mas el de tvheadend.
Ahora mismo no tengo acceso al server y no te puedo decir la version de npm ni node.
Un saludo y gracias por tu ayuda.
Hola, off-topic total, he instalado un nuevo plugin para la gestión de los comentarios en los apuntes, que se veían fatal. Este tiene buena pinta (wpdiscuz). Si lo veis distinto limpiar la cache de los navegadores. A ver que tal funciona…
Hola Luis, muy buen tutorial! Una pregunta, con el nuevo ONT de movistar (el Home Gateway) he notado que hay un limite de 7 canales simultáneos. Tienes alguna solución a ese problema o estoy haciendo algo mal? Un saludo/ Luis V.
Pues ni idea la verdad, no lo conozco. Mis pruebas sobre capacidad son las que documenté arriba fíjate bien al hacerlas, equipo, puertos (Gbit) y switch sobrados de capacidad (nada de wifi), en resumen el extremo a extremo.
Muchas gracias Luis voy a ver si he hecho algo mal!
Gracias por esta guía, la sigo hace un tiempo y me ha sido muy útil. He aplicado mucho de lo que viene aquí pero adaptado a un servidor TVHeadend v.4.1-2332~g38c9e89 en Raspberry-OSMC. Me funciona todo bien, lista de canales, EPG, iconos, excepto cuando hay cambios en los canales. Para automatizar la lista de canales, que por cierto cambia mucho últimamente, ejecuto un cron todos los días que me genera la lista m3u actualizada. El problema que me encuentro es que cuando cambian la dirección (las MRL’s), no se desactiva los antiguos servicios y los nuevos aparecen pero desactivados. Los tengo… Read more »
@Javier, Tvheadend parece que va a sí como comentas pero por ser sincero no lo he estudiado en detalle, tendría que hacer pruebas y ver si hay alguna forma o truco. Quizá si preguntas en el foro de Tvheadend o en github puedan decirte algo más.
Hola Luis, en primer lugar mil gracias por el articulo.
Tengo unas dudillas para plantearte:
1) Veo que tu tienes una instalación algo más compleja con voip y tal. Yo no voy a meter voip, ¿necesito algún aparato más aparte del router y el deco que ya te instala Movistar?
2) ¿Necesito usar udpxy?
3) Veo que la limitación se establece en 11 Canales o 100Mbps, lo que antes se alcance. Pero… ¿Podría tener por ejemplo 10 clientes a 1 canal y otro 10 clientes en otro? es decir, utilizar 2 canales pero con 20 clientes.
Muchas gracias de nuevo!
1) no entiendo bien la pregunta, 2) udpxy permite hacer de proxy entre fuentes multicast y pasarlas a unicast, depende de si lo necesitas, 3) sí se puede.
Una mejora genial 🙂 Me esta dando un error al ejecutar a ver si alguien sabe por que: # npm run start > tvhstar@1.0.0 start /imagenio/tvhstar > node build/server.js /imagenio/tvhstar/build/utils.js:53 if (Number.isInteger(numDias)) { ^ TypeError: Object function Number() { [native code] } has no method ‘isInteger’ at Object.validaDias (/imagenio/tvhstar/build/utils.js:53:24) at sessionController (/imagenio/tvhstar/build/server.js:206:42) at null. (/imagenio/tvhstar/build/server.js:352:3) at wrapper (timers.js:252:14) at Timer.listOnTimeout [as ontimeout] (timers.js:110:15) npm ERR! weird error 8 npm WARN This failure might be due to the use of legacy binary «node» npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian npm ERR! not ok code 0
Arreglado¡¡ ERa la version instalada del node (Gracias Luis) Si alguien lo instala en un ubuntu que empiece por aqui https://www.digitalocean.com/community/tutorials/como-instalar-node-js-en-ubuntu-16-04-es
Luis, muchas gracias por la pedazo de actualización, impresionante.
Donizt, gracias por la ayuda del node, justo he seguido esos pasos. Una pregunta, soy muy novato en esto del linux ;), me podrías decir cómo hacer en Ubuntu que se arranque de forma automática este script?
Muchas gracias.
@Luis, muchas gracias por la actualización, es increíble lo bien que funciona lo de la EPG desde Movistar, sobre todo lo rápido que descarga. Yo actualmente tengo unos 100 canales que descargo de WebGrab+Plus y tarda algo más de 1 hora.
@Donizt, gracias por la aclaración de la instalación del node en ubuntu, me ha venido muy bien. ¿Me podrías explicar un poco cómo hacer que se ejecute de forma automática este script en Ubuntu?
Gracias
Hola Luis: Lo primero de todo muchisimas gracias por el currazo del tutorial, lo he seguido y la verdad que va finisimo. Tengo una dudilla, estoy instalando Tvheadend sobre una Raspberry Pi 2 que quiero dejar como servidor de Tv en casa, y poder ver mi suscripción para cuando este fuera. He instalado udpxy y cargado tu lista en Tvheadend (la cual esta configurada con direcciones tipo de udpxy). A la hora de visualizar el estado de udpxy, he observando que tenia a dos «sanguijuelas» chupando de mi streaming. Me gustaría saber si una posible solución para que no me… Read more »
Uff… para temas de seguridad lo mejor es caparlo todo. En mi caso no dejo entrar a mi casa desde ningún sitio (o eso creo :-)). El tráfico UDP es raro que te lo puedan «chupar» a no ser que estes en una red compartida con otra gente.
Luis ante todo muchas gracias por compartir todo tu trabajo, es impresionante y lo bien que viene la epg que de otro modo seria imposible tenerla de un modo tan comodo. Dentro de unos dias en el dial 30 movistar pondra por unos dias un canal Disney princess, he visto en la pagina de programacion de movistar que esta incluido, asi que he probado a modificar el archivo cadenasHOME el codigo para este dial, que es el promo cine normalmente, este es el trozo de codigo modificado. { "movistar_epg": true, "movistar_fuente": "239.0.5.193:8208", "movistar_id": "MPRINC", "movistar_nombre": "M. Disney Princess", "movistar_numero": "30",… Read more »
Muchas gracias y gracias por el canal. En mi caso que los míos (hijos) son grandes ya no lo necesito pero seguro que a otros les va bien.
Muchísimas Gracias, he configurado la EPG nueva y va muy rápida , lo único que he intentado añadir un canal el de Movistar princess y me da este error
convierteJSONaJSONTV …
ATENCIÓN NO PUEDO CONVERTIR EL SIGUIENTE CANAL
PORQUE NO LO TENGO DADO DE ALTA EN cadenasHOME
movistar_nombre: M. Disney Princess
index: -1
Que puedo hacer
Ufff.. tienes que estudiarte los fuentes para entender como va el tema, llevo varias semanas sin tocarlo y tendría que estudiármelo yo mismo, además de que será larga la explicación seguro. Si puedo este finde lo miro y te contesto, pero lo dicho, lo mejor es que mires los fuentes.
No te preocupes esto ya lo solucione, mirando como llamaban ellos el canal y configurandolo
Muchas gracias Luis. Trabajo impresionante y exhaustivo.
Ya lo tengo implementado y va genial. Únicamente preguntar, si conoces el proyecto tv_grab_movistartv de _ WiLloW_
Obtiene la guía directamente del proveedor por multicast. Muy interesante.
Hola, muchas gracias. Sí lo conozco, aunque hace mucho tiempo que no dedico «horas» a este tema :-). A ver si encuentro un rato y puedo volver a meterme, supongo que existirá una versión más moderna (del tv_grab_movistartv), hubo una época en la que no funcionaba del todo bien… aunque por lo que dices parece que va bien. Tienes un link?