GeralLinuxRaspberry

Servidor de midia com Raspberry, MiniDLNA, ChromeCast e BubbleUPnP

BubbleUPnP abrindo no Chromecast

Há algum tempo eu escrevi um artigo sobre servidor de mídia com Raspberry usando Rygel (veja esse artigo). Agora vou discorrer sobre algo um pouquinho diferente, que é pra quem tem o Google Chromecast.

Eu tinha aqui uma coleção de DVDs da Pantera cor-de-rosa que minha filha ama, mas eu não queria ligar o arcaico blue-ray para assistí-lo, afinal, estamos na era digital, não é mesmo? Bem, saindo do Google Play e do Netflix, como eu poderia reproduzir meu próprio conteúdo no Chromecast? Daí pesquisei um bocadinho e cheguei a essa solução.

Preparando as midias a serem tocadas





Eu primeiramente extrai em um notebook mais antigo (que ainda possui leitor de DVD) o conteúdo dos DVD em forma de capítulo. Para isso, instale em seu Windows algum programa para fazer a extração ou, caso seja um feliz usuário de Linux como eu, utilize o programa dvd-rip. Instale-o via apt, caso já não o tenha instalado:

Crie um projeto e extraia o conteúdo. Suponhamos que você tenha 4 DVDs da Pantera cor-de-rosa também. Eu chamei o projeto de “Pantera_cor-de-rosa-DVD1” para o DVD1. Só que todos os capítulos extraídos ficaram com o mesmo nome, em diretórios diferentes, no formato vob. Depois de extrair, fiz uma série de manipulações:

Converter os arquivos vob para mp4

Eu utilizo o ffmpeg que costumo compilar os fontes para habilitar as coisas do jeito que eu gosto, mas acredito que você deve conseguir utilizar a contento instalando dos repositórios mesmo:

Algumas distribuições não tem o ffmpeg nos repositórios. Por causa da treta no projeto, tem um fork que é o libav onde você terá avconv invés de ffmpeg e avplay invés de ffplay. Para instalar;

As flags são as mesmas até onde pude testar. Depois, os arquivos estarão esparramados em uma estrutura de diretórios da extração e você precisará encontrá-los e convertê-los. Para isso, da forma mais simples (tem um quatrilhão de maneiras de fazer em shell, não critique, adote sua solução), entre no diretório raiz (dvdrip-data) e execute:

Ao final será criado um arquivo.sh que você deve editar e colocar na primeira linha:

O conteúdo abaixo dessa linha deve estar parecido com isso:

Agora execute esse arquivo e tenha paciência porque demora um bocado:

Testar o arquivo convertido

Quando terminar, confirme a existência dos arquivos mp4:

E então reproduza um para teste:

Ou “avplay”, caso esteja utilizando a libav. Reproduziu? Ótimo, agora você pode apagar os arquivos .vob

Apagar os arquivos vob

Esses arquivos não são mais necessários, então você pode removê-los facilmente (de maneira irreversível) com um comando só:

Renomear os arquivos





É uma droga ter todos os arquivos com o mesmo nome, seria interessante ao menos tê-los numerados já que não dá pra nomear por capítulo. Nesse caso, tem um comando simples:

Agora já tem pelo menos um identificador, mas se o nome estiver muito cumprido, é capaz que não seja possível lê-lo na hora da exibição. Nesse caso, renomear uma parte maior ou o arquivo inteiro é uma opção. Por exemplo:

Aí fica a seu critério.

Copiando para uma midia externa

Você vai precisar colocar em um pendrive ou um HD externo para conectá-lo ao Raspberry para que possa ser reproduzido. Faça a cópia como desejar e acesse a mídia no Raspberry. Supondo que você sempre terá esse dispositivo conectado via USB ao Raspberry, o primeiro passo é descobrir como esse dispositivo foi (ou será) identificado. O primeiro comando é o “dmesg”, que ao término deverá exibir o dispositivo conectado a ele. Eu normalmente deixo habilitado o messages no sistema. nesse caso é só executar o comando:

e ficar de olho na saída enquanto conecta o dispositivo à porta USB. tendo sido identificado, disponibilize-o no sistema:

Para montar automaticamente a cada boot, edite o arquivo /etc/fstab e inclua-o:

Nessa linha usei ext4 como exemplo, mas substitua pelo sistema de arquivos da sua midia. Se você montou manualmente mas não sabe qual é o sistema de arquivos, digite:

E procure pelo mount point para saber qual o sistema de arquivos. Também utilize sdXx, que deve ser substituido pelo dispositivo real, algo como sda1. Terminada a preparação da midia, agora vamos ao serviço do sistema.

MiniDLNA

Primeiramente, utilize o apt para instalar esse servidor de midia. Simplesmente faça:

Após instalado, a configuração é bastante simples. Entre em /etc e edite o arquivo de configuração.

Se você não sabe utilizar o vi ou o vim, use seu editor preferido. Comente a linha padrão “media_dir=/var/lib/minidlna”. Agora você só precisa adicionar 2 parâmetros a esse arquivo; um nome amigável na rede e um diretório de midia. Como criamos no Raspberry o diretório de videos em /media/videos, devemos adicionar nesse arquivo uma linha assim:

A letra “V” na frente indica que é video. Poderia ser um container padrão (.) , um diretório navegável (B), música (M) ou fotos (P). O nome amigável fica nesse formato abaixo.

Para fazer o controle, sugiro que esteja como root (digitando ‘sudo su’) e faça o scan e o reinicio do serviço:

Isso precisa ser feito toda a vez que você modificar algum dado no repositório de midia.

 BubbleUPnP

BubbleUPnP no Android
BubbleUPnP no Android

Baixe o programa no PlayStore através desse link. Quando você clicar em instalar, você deverá indicar para qual de seus dispositivos o programa será enviado e instalado, não precisa abrir esse link diretamente no Android, fique tranquilo. Após instalá-lo, abra-o e repare que no canto superior esquerdo tem um menu de acesso onde você encontrará seu Chromecast (no meu caso se chama KGB) e logo mais abaixo está o nome do dispositivo que está servindo midia (no caso, fiz em um notebook para esse artigo e se chama SonyVaioServer, que é o nome amigável colocado em /etc/minidlna.conf). Agora basta que você abra o menu de videos, monte sua lista e se divirta tocando-o em sua TV!

BubbleUPnP abrindo no Chromecast
BubbleUPnP abrindo no Chromecast

O aplicativo tem uma limitação de 16 arquivos na playlist e mais algumas limitações que podem ser removidas com uma licença que na data desse post custa R$11,00. Garanto que vale a pena.

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do bit Ao Byte – https://www.facebook.com/groups/dobitaobyte/

Projetos Arduino e Eletrônica – https://www.facebook.com/groups/projetosarduinoeletronica/

ESP8266 BR – https://www.facebook.com/groups/ESP8266BR/

Próximo post a caminho!

One comment

Comments are closed.

%d blogueiros gostam disto: