Montando um Media Server com o MediaTomb

Esse artigo descreve os passos necessários para instalação do MediaTomb, um poderoso servidor de mídia baseado no protocolo UPnP.

[ Hits: 92.386 ]

Por: Perfil removido em 21/07/2010


Introdução



O MediaTomb é um servidor UPnP de código aberto (GPL) que permite fazer streaming de mídia digital (vídeo, áudio, foto) via rede. Ele é compatível com uma grande variedade de dispositivos compatíveis com o UPnP, como: PS3, XBOX 360, TV, Receiver etc. A lista completa de dispositivos testados pode ser encontrada em:
Seguem abaixo algumas características do MediaTomb:
  • Extração do metadata de arquivos MP3, OGG, FLAC, JPEG etc;
  • Suporta thumbnail EXIF;
  • Definição de layout baseado em scripts customizáveis pelo usuário;
  • Transcodificação de formatos via plugins e scripts.

Material utilizado - segue abaixo o material utilizado para os testes:
  • 01 - Computador com Ubuntu 9.10 - Server Edition
  • 01 - PS3 (Firmware v3.40)
  • 01 - Router WRT54GL (Firmware Tomato v1.27)
  • 01 - TV/Monitor
  • 01 - Receiver (opcional, o áudio pode ser reproduzido na TV)

Linux: Montando um Media Server com o MediaTomb

Instalação

O MediaTomb é muito flexível e customizável, portanto as instruções e configurações abaixo podem variar de acordo com as necessidades de cada usuário e devem servir somente como referência.

a. Atualize do sistema operacional e instale as dependências:

sudo password root
$ su
# aptitude update
# aptitude safe-upgrade
# reboot

# /etc/init.d/apparmor stop
# update-rc.d -f apparmor remove
# aptitude remove --purge apparmor apparmor-utils

# aptitude install build-essential autoconf ffmpeg ffmpegthumbnailer \
libavcodec-extra-52 libavdevice-extra-52 libavfilter-extra-0 \
libavformat-extra-52 libavutil-extra-49 libavcodec-dev libavdevice-dev \
libavfilter-dev libavformat-dev libavutil-dev libffmpegthumbnailer-dev \
libdvdread-dev libdvdnav-dev libfaac-dev libfaad-dev libmp3lame-dev \
libmp4v2-dev libopencore-amrnb-dev libopencore-amrwb-dev \
libxvidcore4-dev libx264-dev libexif-dev libtag1-dev \
libcurl4-gnutls-dev libexpat1-dev \
libmagic-dev libmozjs-dev libmysqlclient-dev libsqlite3-dev \
x264 zlib1g-dev subversion


b. Baixe e compile o MediaTomb:

# svn co https://svn.mediatomb.cc/svnroot/mediatomb/trunk/mediatomb mediatomb
# cd mediatomb
# autoreconf -i
# ./configure --prefix=/usr/local


CONFIGURATION SUMMARY ----

sqlite3: yes
mysql: yes
libjs: yes
libmagic: yes
inotify: yes
libexif: yes
id3lib: disabled
taglib: yes
libmp4v2: yes
ffmpeg: yes
ffmpegthumbnailer: yes
lastfmlib: missing
external transcoding: yes
curl: yes
YouTube: yes
Weborama: yes
Apple Trailers: yes
SopCast: disabled
libextractor: disabled
db-autocreate: yes

# make
# make install

# adduser --add_extra_groups --disabled-login --shell /usr/sbin/nologin mediatomb
# sudo -u mediatomb -s -H


    Próxima página

Páginas do artigo
   1. Introdução
   2. Testando do MediaTomb
   3. Configuração para execução automática
   4. Arquivo de configuração
   5. Scripts de transcodificação
   6. Conclusão e referências
Outros artigos deste autor

Instalação dual boot UEFI Linux Mint/Ubuntu com Windows 8.1/10

Comportamento das tecnologias WEB e seus meios de acesso

LookXP-IceWM - Linux leve e com cara de XP

PuTTY - Release 0.66 - Parte IV

Passos essenciais para configurar seu modem 3G no Linux

Leitura recomendada

Asterisk - O PBX de código aberto

CUIDADO com o comando "dd", embora muito útil ele pode ser perigoso

Acessando mainframes IBM a partir do Ubuntu

Guia de referência do ISOLINUX (parte 1)

Escrevendo scripts no GIMP, pintando a cobra

  
Comentários
[1] Comentário enviado por sergiomb em 24/07/2010 - 11:13h

A ideia de mostra o mediatomb é muito boa , no fedora se instala assim : yum install mediatomb.
Mas o artigo perde-se em configurações que deviam estar em anexos, para se poder ler melhor o artigo, e fiquei sem perceber para que é que serve , e quem lê .
Estava aqui a ver, na internet, que se pode instalar o mediathumb em discos multimédia como emetec R100, que deve ser bastante interessante (eu tenho um) mas não percebo qual a sua função e para que serve a PS3?

De qualquer modo , agradeço imenso a sua contribuição, e não desanime com as criticas :)

[2] Comentário enviado por removido em 24/07/2010 - 15:24h

Oi sergiomb,

Sim, podemos instalar a versão 0.11 com 'yum' em distros baseadas no Red Hat, ou mesmo com 'apt' em distros baseadas no Debian. Postei esse procedimento no meu blog em 2009:
http://alexloula.blogspot.com/2009/06/upnp-server-com-mediatomb.html

Agora se você quiser usar as novas características da versão 0.12 do MediaTomb, como YouTube e LastFM, você precisa compilar o source de desenvolvimento conforme mostrado nesse artigo.

Se você não entendeu a função do PS3, talvez você não tenha entendido o conceito de Media Server. Conforme mencionado no artigo, o MediaTomb faz 'streaming' de mídia (fotos, músicas, vídeos) para dispositivos compatíveis com UPnP (DLNA). Esse paper detalha um pouco mais essa tecnologia:
http://www.allegrosoft.com/UPnP_DLNA_White_Paper.pdf

Como você digitou "Mediathumb", talvez você tenha confundido com um Media Browser para Windows. Aí com certeza não precisaríamos do PS3.

Quanto aos arquivos de configuração, sinta-se a vontade em postá-los para facilitar o processo.

Obrigado!

[3] Comentário enviado por removido em 31/07/2010 - 07:36h

Alexsander,

Você conseguiu acessar os arquivos a partir de uma TV compativel com DLNA?

Tentei fazer o mediatomb "conversar" com minha TV LG, mas não funcionou.

[4] Comentário enviado por removido em 31/07/2010 - 12:06h

Oi Gomes,

Testei somente com o PS3 e um client java, mas deveria funcionar com a sua TV. Vc consegue acessar a GUI pelo browser?

[5] Comentário enviado por removido em 31/07/2010 - 15:34h

Já instalei usando o apt-get e o seu procedimento e em ambos os casos consegui acessar a GUI pelo navegador. Também liberei as portas no Firewall. Só falta a TV enxergar o media server.

Acho que a TV procura uma porta diferente do padrão. Quando uso o Nero Media Home no Rwindows, funciona.

[6] Comentário enviado por removido em 31/07/2010 - 16:18h

Nos testes que eu fiz nunca encontrei esse problema do client não enxergar o server. O que normalmente acontece é problema de incompatibilidade de formatos de mídia entre o que estamos fazendo streaming com o que o client suporta.
Achei no fórum do Ubuntu um problema parecido com o seu, mas com uma Samsung. A solução foi alterar o http-header.
Altere a tag <custom-http-headers> no seu config.xml de:
<add header="X-User-Agent: redsonic"/>

Para:
<add header="transferMode.dlna.org: Streaming"/>
<add header="contentFeatures.dlna.org: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=017000 00000000000000000000000000"/>

Não esqueça de tirar o comentário dessa seção removendo o "<!--" do começo e o "-->" do final.

[7] Comentário enviado por andrecostall em 05/01/2011 - 17:01h

E ai loula, tdo blz cara ?
Instalei um server com MediaTomb e esta funcionando perfeitamente parabéns cara..
Cara só tenho uma duvida como faço para acessar algum video atraves do Windows media Player, como ficaria a URL para chamar um video por exemplo "Shrek" ?
Abração

[8] Comentário enviado por removido em 10/01/2011 - 11:56h

Oi André,

Nunca tentei usar o WMP como cliente ou servidor UPnP. Pelo explicado nesse link parece que é possível:

http://thewelltemperedcomputer.com/SW/WMP/MediaSharing.htm

Grato.

[9] Comentário enviado por bcsdias em 25/05/2011 - 08:54h

Belo artigo.
Estou tentando configurar o mediatomb no freenas e estou com uma duvida.
o mediatomb esta instalado e rodando, mas nao sei como configurar qual pasta quero deixar disponivel para streaming
como faço esta configuraçao?

[10] Comentário enviado por removido em 26/05/2011 - 13:50h

Oi bcsdias,

Você pode adicionar a(s) pasta(s) pela interface web do Mediatomb ou direto no arquivo de configuração conforme exemplo abaixo:

<autoscan use-inotify="auto">
<directory location="/home/user/music" mode="inotify" recursive="yes" hidden-files="no"/>
<directory location="/home/user/picture" mode="inotify" recursive="yes" hidden-files="no"/>
<directory location="/home/user/video" mode="inotify" recursive="yes" hidden-files="no"/>
</autoscan>

Altere o "location" conforme suas necessidades.

[11] Comentário enviado por alexandreceti em 07/09/2011 - 21:50h

Mais uma dica galera
Para ter mais de 1 trilha de áudio para vídeos de 2 trilhas.
no final do código dos scripts, adicione o parâmetro -newaudio como abaixo.
De:
...-f ${FORMAT} -r ${FPS} - > "${OUTPUT}" 2>/dev/null
Para:
....-f ${FORMAT} -r ${FPS} - > "${OUTPUT}" -newaudio 2>/dev/null.

ai o vídeo passa a ter 2 trilhas..

[12] Comentário enviado por jmcastro em 07/05/2013 - 16:33h

Olá Alexsander, parabém pelo artigo.
Tenho uma dúvida operacional. Sou novato em Linux, estou procurando deixar o Win para trás e com ele o meu cliente dlna WMS.
Instalei o Mediatomb no meu PC e meus arquivos de media estão em um HD separado - instalado em um NAS, ligado a minha rede doméstica - como faço para incluir no Database doMediatomb este HD com meus arquivos de filmes e músicas?
Sei que seu post já foi feito há algum tempo, mas se pudesse me ajudar agradeceria.
Obrigado

Marcelo

[13] Comentário enviado por danieldhdds em 17/09/2014 - 22:12h

MediaTomb plenamente configurado e funcionando no Ubuntu 14.04 LTS, via WiFi no modem Sagemcom e na SmartTV LG.


PS: Baixei ele pelo Synaptics, instalei os pacotes adicionais que ele mostrou que faltava no arquivo de log e pronto. Executei, verifiquei o log, instalei como autoexecutável no boot e reiniciei o sistema. PERFEITO!

Posterior ao reboot do sistema e o server já funcionando perfeitamente fui ver o arquivo de log novamente e constava "Error: iconv..." que, com uma pesquisada na internet encontrei o seguinte site: https://www.gnu.org/software/libiconv/#downloading. Pelo que pude entender, o iconv é um sistema antigo para dar nomes a caminhos, não aceitando vários formatos e etc, portanto tem sua 'atualização'. Vou fazer a instalação agora (se eu aprender a compilar um .tar.gz), voltarei com o resultado e direi se houve alguma modificação no MediaTomb.

(Ia tentar aprender a compilar, mas deixa pra lá. "Em time que está ganhando não se mexe.")


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts