Este artículo técnico detalla el proceso de transformar un receptor DIRECTV HR54-700 Genie DVR en una caja de reproducción de video independiente para Jellyfin. El proyecto aprovecha el hardware existente, que incluye un decodificador Broadcom BCM7346B2, 1 GB de RAM y un disco duro de 1 TB, para eliminar la dependencia de un PC auxiliar y el servicio DIRECTV.
El autor resuelve la limitación principal del sistema operativo original, Linux 3.3.8, mediante la explotación de un mecanismo de carga de plugins que permite obtener acceso root persistente sin modificar el firmware. Se identifica y corrige un error de seguridad en el cargador de plugins donde la verificación de firmas y la resolución de archivos no estaban vinculados, permitiendo ejecutar comandos de root. Una vez obtenido el acceso, se expone una consola de root en TCP 5777 y se utiliza el servicio de transferencia nativo del receptor para gestionar el medio.
Para la reproducción, se configura un perfil de reproducción específico (MPEG-TS, H.264, AC3) que permite transmitir flujos HTTP directamente al decodificador de hardware. Se elimina el bloqueo de la interfaz de usuario (OSD 36) para habilitar el control remoto. La interfaz de usuario se implementa en el runtime WebKit/ITV del receptor, utilizando JavaScript ES5 y un modelo de enfoque determinista compatible con el mando a distancia, en lugar de frameworks modernos como React.
Finalmente, se desarrolla un backend en C estático para MIPS32 que gestiona la autenticación, la búsqueda y la reproducción, eliminando la necesidad de un PC externo. El resultado es un dispositivo autónomo que puede reproducir contenido de Jellyfin directamente desde la pantalla del televisor, sin cables ni dependencias de hardware adicional.
