Jugando con Imagenio

Justo durante los días en los que estuve preparando y redactando mi análisis a la fibra óptica de Movistar, la operadora anunciaba que iba a renovar los paquetes Fusión mejorándolos en características sin tener que pagar más al mes. La principal novedad para los clientes de fibra es que nos añadían el denominado paquete “Movistar TV mini”, consistente en una selección de canales de pago. El “mini” del nombre es porque se trata de una oferta reducida respecto al paquete normal, que incluye más de 70 canales, cuando este son apenas 10.

Desde sus inicios, el servicio de televisión de Movistar se ha llamado Imagenio, pero en mayo de este año pasó a ser simplemente Movistar TV. Por comodidad y costumbre, durante el resto del post me referiré al servicio como Imagenio.

A diferencia de otras mejoras que iban a ser aplicadas automáticamente a los ya clientes, la solicitud de Imagenio había que pedirla expresamente porque conlleva la renovación del año de permanencia que tienen los productos Fusión. A mí eso no me preocupaba especialmente (total, apenas llevaba dos meses con ellos), pero no lo pedí nada más estar disponible dada mi configuración “especial”. Antes quería estar seguro qué implicaba exactamente tener contratado el servicio de Imagenio, porque su configuración es un poco diferente a lo que estaba acostumbrado.

Nuevos paquetes Movistar Fusión

Nuevos paquetes de Movistar Fusión

Hace meses, cuando me empecé a informar acerca de la sustitución del router que da Movistar para FTTH, ya observé que existía una configuración diferente para los clientes con Imagenio. Por aquel entonces no le presté demasiada atención porque estaba seguro de que no íbamos a contratar este servicio, pero ahora la cosa cambiaba. Por supuesto, con este servicio y el router de Movistar no había ningún problema, pero con el MikroTik sí: básicamente el problema residía en que, si un dispositivo empezaba a ver algún canal de Imagenio, la red se inundaba de paquetes, incluyendo el punto de acceso, siendo el principal perjudicado. Esto quiere decir que si por ejemplo se encendía el decodificador de Imagenio, el Wi-Fi se saturaría llegando incluso a colgarse.

Por eso, antes de lanzarme a contratarlo, valoré las posibles soluciones a este importante problema y una vez lo tuve claro, gestioné el pedido a Movistar (esta vez directamente a su Twitter). Lo hice un viernes y sorprendentemente el lunes de la semana siguiente me llamaron para ver cuándo venían a instalarme el decodificador. Por supuesto, como los técnicos no iban a lidiar con mi configuración, antes de que vinieran coloqué de nuevo el router Comtrend con la configuración por defecto y le acerqué una tele para que todo fuera lo más fácil y rápido posible para los técnicos: que llegaran, cargaran la nueva configuración en el router, pusieran el decodificador, adiós y gracias.

Cuando llegaron los técnicos, me preguntaron dónde quería tener el decodificador, y yo les dije que al lado mismo del router, donde había colocado la tele provisional. Se extrañaron un poco de la ubicación, pero hablando y viendo el percal que tengo montado, enseguida me calaron y no tardaron en dejármelo preparado. Me dijeron que así daba gusto, sin tener que hacerles tirar cable ni nada. Normal.

El decodificador que me pusieron es un ZyXEL STB-2112T Nano. Es bastante pequeño, e incluye un sintonizador TDT-HD, que puede venir bien si tu tele es algo antigua. En la caja no viene el cable HDMI incluido, pero los técnicos lo trajeron por separado.

ZyXEL Nano

Los canales incluidos en el paquete Movistar TV mini son los siguientes: FOX HD, AXN HD, TNT HD, Calle 13 HD, Cosmo HD, Hollywood HD, Paramount Comedy, Canal del mes (uno de los no incluidos que varía al mes; este mes está el canal Historia), Descubre más (igual que el canal del mes pero en HD; el mes pasado estaba Odisea HD) y Movistar TV (el típico canal promocional). Además, también están la mayoría de los principales canales de la TDT y las versiones SD de los ofrecidos en HD.

La calidad de los canales en alta definición es muy buena, realmente da gusto verlos. Para que te puedas hacer una idea, es como TVE-HD cuando emitía en 1080i, incluso mejor. Siendo más técnico, su bitrate es de 10 Mbps, aunque en alguna ocasión he visto que bajaba hasta los 6 Mbps en el caso de FOX HD. En cuanto a los canales SD, su calidad es la esperable, similar a los canales de la TDT en definición estándar. El bitrate en este caso es de unos 2,4 Mbps.

Como curiosidad, mientras estábamos probando los canales HD, me quedé decepcionado con la calidad de los mismos. El técnico me respondió que sería cosa de la tele (era Full HD y estaba seguro de que eso no era), pero más tarde descubrí que la salida de vídeo del decodificador estaba configurada en SD. Cualquier otra persona menos experimentada lo hubiera dejado tal cual, así que mal por los técnicos en este aspecto.

Interfaz Movistar TV

Interfaz de Movistar TV

Una vez vi que todo funcionaba correctamente, tocaba ponerme manos a la obra para volver a poner el MikroTik de router y hacer que funcionara el servicio de Imagenio. Para ello, eché mano nuevamente del tutorial de ADSL Zone, pero esta vez siguiendo los pasos como usuario de Imagenio. Como no quería empezar de cero configurando el router, comparé el archivo de configuración de Internet + Teléfono + Imagenio con el que ya tenía y, viendo qué diferencias había entre ellos, introduje los comandos restantes en el MikroTik. Luego tuve que seguir otro tutorial más actualizado para completar los últimos pasos.

148 comentarios / Añade el tuyo debajo

  1. Buenas de nuevo.

    Finalmente me he dado (casi) por vencido en cuanto a tener ffmpeg funcionando en mi NAS. Ahora se está recompilando otra vez (y van…) pero no tengo muchas esperanzas de que funcione.

    Afortunadamente tengo siempre un Mac Mini encendido y en él instalar ffmpeg y ponerlo en marcha ha sido mucho más sencillo.

    Ya está escupiendo alegremente un fichero stream.m3u8 que se actualiza periódicamente y una serie de ficheros cortitos output_xxx.ts

    Ahora la pregunta es… ¿qué usas para reproducirlos cuando estás por la calle? ¿Los compartes en un servidor web? ¿Qué software usas para reproducirlo?

    En principio no debería ser demasiado problemático olvidarme de los segmentos, crear un solo output.ts y publicarlo en alguna URL, pero el VLC sólo reproduce el tramo que estaba creado cuando empieza a reproducirlo, no se da cuenta de que ha aumentado de tamaño.

    Supongo que por eso empleas los segmentos, pero no tengo muy claro cómo hacer eso accesible desde fuera de mi red.

    Muchas gracias de nuevo por todo.

    1. Hola Carlos,

      Junto a esos segmentos deberías también tener un archivo .m3u8, que genera una lista de reproducción automática de los segmentos y es el único archivo que debes reproducir. Para ello, como bien intuyes, los comparto en un servidor web y abro el archivo .m3u8 con Safari en el iPhone. Éste se encarga de reproducir los segmentos, uniéndolos internamente al vuelo y creando así la reproducción en vivo. Si el iPhone lo tienes enlazado al Bluetooth del coche, ya tienes el sistema al completo ;)

      Un saludo!

  2. De nuevo muchísimas gracias.

    Al final lo dejé funcionando con un servidor web sencillito en el Mac Mini

    nohup python -m SimpleHTTPServer 8000 &

    Y la instrucción que pusiste en uno de los primeros comentarios para el ffmpeg (la última tenía como salida también video, la original sólo tenía el audio).

    ffmpeg -i rtp://@IP:puerto -vn -sn -map 0:a:0 -c:a aac -ac 1 -b:a 32k -ar 22050 -f segment -segment_list stream.m3u8 -segment_time 10 -segment_list_size 30 output_%03d.ts

    El puerto 8000 en el router (NAT, port forwarding o como se quiera llamar) queda apuntando a la IP del Mac Mini y ya puedo escuchar la tele con http://IP_EXTERNA:8000/stream.m3u8

    Lo pongo tan desglosado por si entra alguien buscándolo, es evidente que tú sabes todo eso.

    Ahora la cosa es que igual que sólo controlo lo básico de Linux, me ocurre lo mismo con OS X. Ahora mismo cada vez que lo quiero usar tengo que hacer ssh al Mac Mini y poner la cosa en marcha. Tendré que buscar la forma de automatizarlo.

    Un saludo.

  3. Como curiosidad, anoche me puse otro rato y ya tengo todo tal y como quería. Este post ha sido una inspiración :)

    Al final tengo varios scripts.

    —- inicio_stream —-
    #!/bin/bash
    /Users/carlos/a/fin_stream
    nohup /bin/ffmpeg -nostdin -i $1 -vn -sn -map 0:a:0 -c:a aac -ac 1 -b:a 32k -ar 22050 -f segment -segment_list /Users/carlos/audioimagenio/stream.m3u8 -segment_time 10 -segment_list_size 30 /Users/carlos/audioimagenio/output_%03d.ts >> /Users/carlos/a/log.txt 2>&1 &
    echo $! > /Users/carlos/audioimagenio/save_pid.txt
    ——————————–

    Este script ejecuta ffmpeg dejándolo en segundo plano con la dirección rtp que se le pasa como parámetro ($1) y guarda en save_pid.txt el PID del proceso. Primero llama a otro script que limpia los posibles ficheros que haya por ahí y mata el anterior proceso ffmpeg si existe.

    —- fin_stream —-
    #!/bin/bash
    rm /Users/carlos/a/log.txt > /dev/null
    kill -9 `cat /Users/carlos/audioimagenio/save_pid.txt` > /dev/null
    rm /Users/carlos/audioimagenio/* > /dev/null
    ———————————

    —- la1 ———–
    /Users/carlos/a/inicio_stream rtp://@239.0.0.76:8208
    ———————

    Como servidor web estoy usando uno gratuito llamado Abyss Web Server.

    Y ahora lo mejor… tanto en Android como en iOS hay programitas que permiten ejecutar un script en un servidor ssh remoto dándole simplemente a un botón.

    En Android estoy usando SSH button y en iOS SimpleSSH.

    Así que una vez configurado todo, si quiero escuchar Teledeporte por la calle:

    1. Abro SSH button en Android.
    2. Le doy al botón de Teledeporte (que ejecuta el script ssh correspondiente en el Mac Mini)
    3. Abro VLC y elijo el stream.

    Cuando acabo vuelvo a abrir SSH button y le doy al botón de Finalizar stream.

    1. Muchas gracias Carlos por compartir tus scripts; no conocía los programas que lanzan comandos por SSH automáticamente y es algo que puede ser muy útil!

      Un saludo, y ahora a disfrutar de tu sistema :)

  4. Me alegro de haber sido de ayuda.

    Un par de cositas más que añadí luego.

    1. Me dejé andando uno de los scripts sin acordarme de pararlo durante 3 días y luego había tantos ficheros creados que el rm * se quejaba de que había demasiados argumentos. Para solucionarlo añadí el parámetro -segment_wrap 10 para que cuando llegue al segmento 100 vuelva empezar desde el primero.

    2. Añadí un parámetro adicional a los scripts para poder usar varios directorios. La idea era que mi mujer pudiese estar escuchando un canal y yo otro (cosa que nunca pasará, pero ya puestos…). Me encontré con el problema de que dos instancias de ffmpeg no pueden estar escuchando un stream rtp por el mismo puerto simultáneamente. Para solucionarlo sólo modifiqué los scripts que lanzan los canales para que usen el stream http que es la salida del udpxy, y no el rtp que nos llega desde Movistar.

    Saludos y hasta pronto.

  5. Muchas gracias por tu tutorial,

    A ver si me puedes ayudar.

    Estoy intentando conectar la raspberry al router Movistar+ modelo VG-8050 para convertir multicast a unicast mediante udpxy y no lo consigo.
    Estoy convencido que es alguna configuración del router y me da a mí que es problema de la configuración de IGMP, te paso una captura: http://a/imgur.com/8pY8n

    Mi configuración de IPTV de Imagenio es:
    Imagenio nueva versión (Comtrend VG-8050)
    IPTV Address 10.248.88.24
    IPTV Netmask 255.128.0.0
    IPTV Gateway 10.128.0.1

    Estoy intentando conectarme con un portátil a udpxy sin éxito a través del siguiente enlace (como ejemplo el canal Movistar+ a la IP 192.168.1.11 de la raspberryy al puerto 4022 de udpxy):
    http://192.168.1.11:4022/udp/239.0.5.185:8208
    En cambio mediante multicast sí lo consigo

    Mirando por la configuración del router hay varias cosas relacionadas que me surgen duda de la configuración adecuada:
    – “IGMP Snooping” lo tengo habilitado en las dos interfaces (eth0.2 y eth0.3) en WAN Service y luego también en LAN.
    – “Disable WMM Advertise” lo tengo sin chequear, es decir, activado.
    – “IGMP version” lo tengo por defecto en 2 (y me suena que es posible que tenga que ponerse en 3, al menos así es en OpenWRT).
    – “Enable Wireless Multicast Forwarding” lo tengo deshabilitado ya que no quiero que vaya por wifi, solo por ethernet que es a lo que conecto la raspberry pi.

    A ver si me puedes ayudar, muchas gracias por adelantado!!!

    1. Hola Magarto,

      Disculpa la demora en responderte. He visto que has pedido ayuda también en ADSL Zone; ¿has probado a cambiar el puerto de la URL que quieres reproducir por donde está escuchando tu servidor udpxy? Lo arrancas con el 4024 pero le estás solicitando la reproducción por el 4022.

      Mira a ver si es eso, un saludo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados con *