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: 93.038 ]

Por: Perfil removido em 21/07/2010


Scripts de transcodificação



O script de transcodificação é usado para adequar um conteúdo para ser reproduzido no dispositivo, nesse caso o PS3. Os scripts são definidos na tag transcoding do arquivo de configuração (config.xml).

a. Crie o arquivo /usr/local/bin/mediatomb-video-generic e cole o conteúdo abaixo:

#!/bin/bash
INPUT="$1"
OUTPUT="$2"
VIDEO_CODEC="mpeg2video"
VIDEO_BITRATE="4096k"
AUDIO_CODEC="mp2"
AUDIO_BITRATE="128k"
AUDIO_SAMPLERATE="48000"
AUDIO_CHANNELS="2"
FORMAT="dvd"

exec /usr/bin/ffmpeg -threads 2 -i "${INPUT}" -vcodec ${VIDEO_CODEC} -b ${VIDEO_BITRATE} \
-acodec ${AUDIO_CODEC} -ab ${AUDIO_BITRATE} -ar ${AUDIO_SAMPLERATE} -ac ${AUDIO_CHANNELS} \
-f ${FORMAT} - > "${OUTPUT}" 2>/dev/null

b. Torne-o executável:

# chmod 755 /usr/local/bin/mediatomb-video-generic

c. Crie o arquivo /usr/local/bin/mediatomb-mov-mpeg e cole o conteúdo abaixo:

#!/bin/bash
INPUT="$1"
OUTPUT="$2"
VIDEO_CODEC="mpeg2video"
VIDEO_BITRATE="4096k"
AUDIO_CODEC="mp2"
AUDIO_BITRATE="128k"
AUDIO_SAMPLERATE="48000"
AUDIO_CHANNELS="2"
FORMAT="dvd"
FPS="ntsc"

exec /usr/bin/ffmpeg -threads 2 -i "${INPUT}" -vcodec ${VIDEO_CODEC} -b ${VIDEO_BITRATE} \
-acodec ${AUDIO_CODEC} -ab ${AUDIO_BITRATE} -ar ${AUDIO_SAMPLERATE} -ac ${AUDIO_CHANNELS} \
-f ${FORMAT} -r ${FPS} - > "${OUTPUT}" 2>/dev/null

d. Torne-o executável:

# chmod 755 /usr/local/bin/mediatomb-mov-mpeg

f. Teste o MediaTomb com o novo arquivo de configuração e os scripts:

# /etc/init.d/mediatomb restart
# tail -f -n 20 /var/log/mediatomb.log
2010-02-02 13:41:58    INFO: Loading configuration from: /home/mediatomb/.mediatomb/config.xml
2010-02-02 13:41:58    INFO: Checking configuration...
2010-02-02 13:41:58    INFO: Setting filesystem import charset to UTF-8
2010-02-02 13:41:58    INFO: Setting metadata import charset to UTF-8
2010-02-02 13:41:58    INFO: Setting playlist charset to UTF-8
2010-02-02 13:41:58 WARNING: You enabled the YouTube feature, which allows you
                             to watch YouTube videos on your UPnP device!
                             Please check http://www.youtube.com/t/terms
                             By using this feature you may be violating YouTube
                             service terms and conditions!

2010-02-02 13:41:58    INFO: Configuration check succeeded.
2010-02-02 13:41:59    INFO: Initialized port: 50500
2010-02-02 13:41:59    INFO: Server bound to: 192.168.1.100
2010-02-02 13:42:00    INFO: MediaTomb Web UI can be reached by following this link:
2010-02-02 13:42:00    INFO: http://192.168.1.100:50500/

Página anterior     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

Compilação e instalação do kernel 2.6.xx no Slackware

Configurando os escâneres HP 2300C/2400C no Linux

Modem HSP 56 MR no Fedora Core 1

Udev - Funcionamento e Regras

Prevenindo atualização de pacotes no APT-GET

Leitura recomendada

Apresentando o Molotov

Traduzir dicas e mensagens do login

Os Codinomes do Ubuntu

Sony Ericsson k550i no Linux

Uma pequena análise do Gentoo Linux

  
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