Streaming Está Quebrado II: Escolhendo o Hardware
Para começar a criar o HomeServer, primeiro precisamos decidir sobre o hardware que hospedará nosso servidor. Aqui vai uma excelente notícia: podemos ter um NAS de última geração com um zilhão de terabytes gerenciado pelo TrueNAS, ou até fazer tudo com um Raspberry Pi (sim, é perfeitamente possível). Realmente depende do seu orçamento.
No meu caso, optei por um Mini PC, mais especificamente um SOYO M2 PLUS V1.

Ele é muito mais do que o necessário para fazer um servidor funcional, mas havia alguns aspectos deste PC que me levaram a considerá-lo o candidato ideal.
- O preço. Paguei um total de €120 por ele. Basicamente o preço de um Raspberry Pi (+ acessórios), por um desempenho muito, muito melhor. Um PC x86 completo.
- O consumo de energia. Ao contrário de um servidor antigo com Xeon que consome energia como uma geladeira, o N100 opera com um TDP muito baixo (cerca de 6W a 15W). Pode ficar ligado 24/7 sem impactar a conta de luz.
- O processador Intel Alder Lake N100. O N100 possui uma iGPU Intel com QuickSync. Isso permite que ele transcodifique vídeos 4K HDR e até o codec moderno AV1 via hardware. Enquanto a CPU está dormindo, a GPU converte o filme para a TV ou celular sem engasgos (ainda mais se seu objetivo for um BDRemux 4K).
Especificação completa do mini PC: RAM: 16GB - Capacidade SSD: 512GB - CPU: Intel Alder Lake N100 - GPU: UHD Graphics
O Cliente
Enquanto nosso servidor ficará encarregado de disponibilizar o filme em nossa rede local, nosso cliente será responsável por consumir esse conteúdo. Como mencionei no meu post anterior, o que me motivou a fazer este projeto foi poder consumir conteúdo na minha recém-adquirida TV OLED de 65 polegadas. Mas para a compra da TV, acabei optando por um modelo da marca HiSense. A imagem, como esperado, é maravilhosa, mas a TV vem com o sistema próprio da HiSense chamado VIDAA: é uma porcaria colossal. O sistema vem com uma loja de aplicativos com muito poucos apps, a maioria dos quais nunca usarei. Mas a pior parte é que o sistema não possui uma versão nativa do Jellyfin. Pense no Jellyfin como o frontend do nosso projeto. Falarei sobre isso mais tarde. Se você tem um sistema operacional de TV decente que possui o Jellyfin, pule a compra de uma TV Box para isso.
Com essa limitação, não houve outra escolha: comprei uma TV Box TELE System UP1 com chipset Amlogic S905Y4. Meu ódio pelo Android TV é ainda maior que meu ódio pelo Windows, mas é um mal necessário. Dessa forma temos (um pouco mais de) controle sobre o OS do cliente, e podemos configurar o Jellyfin como mencionado.

No entanto, esbarrei em um gargalo inesperado: o cabo Ethernet. As especificações da TV Box listam uma porta “Ethernet 10/100Mbps”. Para streaming web convencional (Netflix/YouTube), é suficiente. Mas para um Home Server transmitindo arquivos 4K Remux (cópias fiéis de Blu-ray), os picos de bitrate podem exceder 100Mbps. Neste caso, e indo contra a lógica mais básica, escolhi usar o Wi-Fi 5GHz (AC). Embora menos estável que um cabo, ele oferece uma largura de banda bruta (throughput) muito maior que 100Mbps, permitindo que os picos de dados passem livremente. E como o roteador está a menos de 3 metros da TV Box, não temos uma perda de sinal (muito) significativa.
O Armazenamento
Como estamos falando de um HomeServer que disponibiliza filmes localmente, a abordagem esperada seria ser um “DataHoarder”, ou seja, acumular TBs e mais TBs de conteúdo. Mas optei por uma solução mais econômica, que faz mais sentido para mim, já que ter 1000 filmes disponíveis pode criar aquela famosa síndrome do “rolagem infinita da Netflix”.
Neste projeto, mudei minha abordagem em relação a isso: em vez de ser um datahoarder, sou um curador de filmes. Ou seja, usarei apenas meu SSD de 512GB como armazenamento. E nada mais. Isso levanta alguns pontos:
Com este volume, posso armazenar cerca de 9/10 filmes em 4K (Não remux) e algumas temporadas completas de séries (sou casado, o que significa que preciso ter uma ou duas temporadas de Gossip Girl disponíveis para minha esposa autorizar este projeto). Isso é mais do que suficiente para ter uma série de filmes disponíveis da minha watchlist do Letterbox.
Terei que criar uma rotina para excluir automaticamente os filmes que já foram assistidos, para evitar ter arquivos mortos no SSD.
Como estamos escolhendo um SSD pequeno em vez de HDDs colossais ou um NAS, o ruído gerado pelo mini PC é consideravelmente menor. Sem ruído de disco.
Com isso, temos um servidor silencioso e eficiente capaz de processar 4K, conectado a um cliente via Wi-Fi 5GHz para throughput máximo, operando em um ciclo de armazenamento inteligente. A fundação física está sólida.
No próximo capítulo, explicarei qual sistema operacional usaremos e como configuraremos o servidor em poucos minutos com um script bash que criei, que automatiza a configuração do nosso sistema.
