Media center com Raspberry Pi

Este projeto nasceu da minha insatisfação com as soluções comerciais existentes no mercado. A maioria dos media-center ou boxes como são normalmente chamadas sofre de um ou mais problemas que a meu ver poderiam ser facilmente contornados utilizando uma solução mais pessoal.

Algumas das limitações das boxes originais devem-se à falta de suporte para alguns formatos ou suporte incompleto para formatos de áudio e vídeo que, apesar de possuírem características a nível de qualidade e fidelidade de reprodução superiores não se encontram tão disseminados no mercado. Outra questão relevante é o facto de muitos fabricantes abandonarem rapidamente uma determinada versão do equipamento assim que sai uma versão mais recente. Este abandono leva a que por vezes equipamentos com características de hardware perfeitamente aceitáveis deixem de receber actualizações de firmware que corrijam alguns bugs encontrados ou que providenciem actualizações para novos formatos que entretanto surgiram, ou sofreram melhorias/alterações.
Certos formatos não são suportados por não serem comuns, outros são ignorados por exigirem o pagamento de licenças de utilização e são ignorados pelos fabricantes de forma a reduzirem custos e apresentarem produtos mais baratos.

Uma primeira solução passou pela montagem de um HTPC (do Inglês Home Theater Personal Computer), mas que, apesar de muito superior às ofertas comerciais da altura, não se revelou uma solução completamente satisfatória: as dimensões físicas e o ruído não eram ideias especialmente para sessões mais tardias.

A solução final passou pela utilização de um Raspberry Pi. Este micro-computador possui dimensões reduzidas e não possui nenhum sistema de arrefecimento ativo.

Apesar das limitações do hardware: 256Mb de RAM e um CPU single-core, o fato de utilizar a arquitetura ARM, muito utilizada hoje em dia na indústria dos dispositivos móveis (telemóveis, tablets, etc) permite obter uma performance suficiente e um consumo de energia muito baixo. Além disso possui um chip de vídeo especializado que permite a descodificação de conteúdo 1080p por hardware.
De facto o seu consumo energético é tão reduzido que pode ser alimentado por uma porta USB, sendo que no projeto atual, o sistema é alimentado por uma porta USB da televisão, não sendo necessário um carregador extra.

Do ponto de vista do hardware este projeto consiste num Raspberry Pi, um comando remoto por infravermelhos e respetivo recetor, cabo de rede ou uma pen Wi-Fi (opcional, mas permite que o aparelho se atualize e possa procurar os meta-dados dos conteúdos multimédia, incluindo legendas online), cartão SD com pelo menos 8Gb de espaço. O cartão SD poderá conter a biblioteca de multimédia ou pode ser utilizado um disco USB externo, o que será a opção preferível devido ao custo dos cartões SD de maior capacidade. Se utilizar um disco externo a caixa precisa ser alimentada, pois a porta USB não é suficiente para alimentar o Raspberry Pi e o disco ao mesmo tempo.

Em termos de software existem algumas alternativas de código aberto e gratuitas já disponíveis e que podem ser facilmente utilizadas e estão disponíveis aqui. Sendo soluções de código aberto e dependendo dos conhecimentos do utilizador não é complicado compilar uma versão à medida das suas necessidades.

A solução mais comum é a instalação da distribuição RaspBMC que é constituída por um sistema operativo baseado numa versão reduzida da distribuição Raspbian (uma versão de Debian otimizada para Raspberry Pi) e uma instalação do software para media centers XBMC.

Outra solução comum é a instalação da distribuição OpenELEC (Open Embedded Linux Entertainment Center), esta é uma versão mais otimizada e apresenta menos opções de configuração depois de instalada, mas por norma é menos exigente em termos de recursos.

Neste caso em particular decidi-me por uma versão do OpenELEC compilada de raiz para o Raspberry Pi e com a inclusão de alguns codecs que utilizo e que não se encontravam disponibilizados por defeito.

Raspberry Pi a correr OpenELEC
Raspberry Pi a correr OpenELEC

Outra vantagem é que o facto de todo o software ser gratuito o custo apenas se prende com o hardware. Neste caso utilizando equipamento que já possuía em casa apenas foi necessária a aquisição do Raspberry Pi que custou cerca de 45€ com portes.