Streaming está Roto II: Eligiendo Hardware

Esta publicación fue originalmente escrita en inglés. La traducción puede no reflejar el 100% de las ideas originales del autor.

Para comenzar a crear el HomeServer, primero necesitamos decidir el hardware que alojará nuestro servidor. Aquí hay una excelente noticia: podemos tener un NAS de última generación con un billón de terabytes gestionado por TrueNAS, o incluso hacerlo todo con una Raspberry Pi (sí, es perfectamente posible). Realmente depende de tu presupuesto.

En mi caso, opté por un Mini PC, más específicamente un SOYO M2 PLUS V1.

Soyo M2 Plus V1

Es mucho más de lo necesario para hacer un servidor funcional, pero hubo algunos aspectos de esta PC que me llevaron a considerarla la candidata ideal.

  • El precio. Pagué un total de 120€ por él. Básicamente el precio de una Raspberry Pi (+ accesorios), por un rendimiento mucho, mucho mejor. Una PC x86 completa.

  • El consumo energético. A diferencia de un antiguo servidor Xeon que consume energía como un refrigerador, el N100 opera con un TDP muy bajo (alrededor de 6W a 15W). Puede permanecer encendido 24/7 sin impactar la factura de la luz.

  • El procesador Intel Alder Lake N100. El N100 tiene una iGPU Intel con QuickSync. Esto le permite transcodificar videos 4K HDR e incluso el moderno códec AV1 por hardware. Mientras la CPU está durmiendo, la GPU convierte la película para la TV o el teléfono sin tartamudeos (Más aún si tu objetivo es un BDRemux 4K).

Especificación completa del mini PC: RAM: 16GB - Capacidad SSD: 512GB - CPU: Intel Alder Lake N100 - GPU: UHD Graphics

El Cliente

Mientras nuestro servidor se encargará de poner la película disponible en nuestra red local, nuestro cliente será responsable de consumir ese contenido. Como mencioné en mi publicación anterior, lo que me motivó a hacer este proyecto fue poder consumir contenido en mi recién adquirida TV OLED de 65 pulgadas. Pero para la compra de la TV, terminé eligiendo un modelo de la marca HiSense. La imagen, como se esperaba, es maravillosa, pero la TV viene con el propio sistema de HiSense llamado VIDAA: es una basura colosal. El sistema viene con una tienda de aplicaciones con muy pocas aplicaciones, la mayoría de las cuales nunca usaré. Pero lo peor es que el sistema no tiene una versión nativa de Jellyfin. Piensa en Jellyfin como el frontend de nuestro proyecto. Hablaré de ello más adelante. Si tienes un sistema operativo de TV decente que tenga Jellyfin, omite la compra de una TV Box para eso.

Con esta limitación, no hubo otra opción: compré una TV Box TELE System UP1 con un chipset Amlogic S905Y4. Mi odio por Android TV es aún mayor que mi odio por Windows, pero es un mal necesario. De esta manera tenemos (un poco más de) control sobre el SO del cliente, y podemos configurar Jellyfin como se mencionó.

TV Box

Sin embargo, me encontré con un cuello de botella inesperado: el cable Ethernet. Las especificaciones de la TV Box enumeran un puerto Ethernet “10/100Mbps”. Para streaming web convencional (Netflix/YouTube), es suficiente. Pero para un Home Server transmitiendo archivos 4K Remux (copias fieles de Blu-ray), los picos de bitrate pueden superar los 100Mbps. En este caso, y yendo en contra de la lógica más básica, elegí usar Wi-Fi de 5GHz (AC). Aunque menos estable que un cable, ofrece un ancho de banda bruto (throughput) mucho mayor que 100Mbps, permitiendo que los picos de datos pasen libremente. Y dado que el router está a menos de 3 metros de la TV Box, no tenemos una pérdida de señal (muy) significativa.

El Almacenamiento

Dado que estamos hablando de un HomeServer que pone películas disponibles localmente, el enfoque esperado sería ser un “DataHoarder”, es decir, acumular TBs y más TBs de contenido. Pero opté por una solución más económica, que tiene más sentido para mí, ya que tener 1000 películas disponibles puede crear ese famoso síndrome del “scroll infinito de Netflix”.

En este proyecto, cambié mi enfoque respecto a esto: en lugar de ser un datahoarder, soy un curador de películas. Es decir, usaré solo mi SSD de 512GB como almacenamiento. Y nada más. Esto plantea algunos puntos:

  • Con este volumen, puedo almacenar alrededor de 9/10 películas en 4K (No remux) y algunas temporadas completas de series (Estoy casado, lo que significa que tengo que tener una o dos temporadas de Gossip Girl disponibles para que mi esposa autorice este proyecto). Esto es más que suficiente para tener una serie de películas disponibles de mi lista de seguimiento de Letterbox.

  • Tendré que crear una rutina para eliminar automáticamente las películas que ya se han visto, para evitar tener archivos muertos en el SSD.

  • Dado que estamos eligiendo un SSD pequeño en lugar de HDDs colosales o un NAS, el ruido generado por el mini PC es considerablemente menor. Sin ruido de disco.

Con esto, tenemos un servidor silencioso y eficiente capaz de procesar 4K, conectado a un cliente vía Wi-Fi de 5GHz para un throughput máximo, operando en un ciclo de almacenamiento inteligente. La base física es sólida.

En el próximo capítulo, explicaré qué sistema operativo usaremos y cómo configuraremos el servidor en unos minutos con un script bash que creé, que automatiza la configuración de nuestro sistema.

¡Adiós!