segunda-feira, 20 de fevereiro de 2012

Gnu/Linux como servidor de medias - DLNA

Alguém já sonhou em poder reproduzir conteúdo multimédia em casa, de um equipamento para o outro sem ter de conectar fios e cabos. Pois seus problemas acabaram (tabajaaaaaara...kkkk).

O DLNA (Digital Living Network Alliance) é uma tecnologia que permite a interação entre dispositivos, sem a necessidade de fios. Com isso, é possível visualizar suas fotos, vídeos e músicas em seus smartphones, videogames, televisores, players multimédia e muitos outros equipamentos que suportem essa tecnologia.



O que é preciso para ter dlna funcionado: basicamente um servidor e um cliente e que estes estejam conectador e se comunicando por uma rede. Aqui em casa bastou rodar o servidor que todos os dispositivos e outros PC's da rede, reconheceram o servidor sem problemas, sem quáquer configuração via roteador.

Agora que falamos um pouco do DLNA vamos falar de um servidor Linux para essa tecnologia. A pesar do palavra SERVIDOR causar um pouco de medo em algumas pessoas, nada mais é que um pequeno aplicativo que iremos configurar e executar em nossas maquinas, que proverá o serviço multimédia de striming para nossa rede.

 

O nosso servidor será o MiniDLNA, que achei muito fácil e pratico de configurar.

 

Instalando:

 

Ubuntu
sudo apt-get install minidlna

 

 

Fedora: No RPMFusion
su –-c “yum install minidlna”

 

 

ArchLinux
su –-c “pacman -S minidlna”

 

Mandriva
su –-c “urpmi minidlna”

 

Opensuse

Aqui ou aqui.

 

Configurando:

 

O arquivo de configuração padrão está em:

/etc/minidlna.conf

Que precisa de permissões de root para ser alterado.

 

Agora vejam meu arquivo de configuração:

irei comentar apenas os detalhes mais importantes.

Se quiserem podem pegá-lo por inteiro e alterar apenas os diretório de mídias, que não haverá problemas.

 
# A porta HTTP utilizada pelo minidlna, deixe esta mesmo

port=8200

 

# Altere a interface de conexão do servidor

#para utilizar todas o qualquer uma, deixe comentado (recomendado)

#network_interface=eth0

 

# Altera o diretorio de mídias.

# você pode adicionar varias pastas pela linha media_dir=/diretorio

# repetindo quantas vezes precisar.

# ou especificar por tipo de media.

# áudio (ex. media_dir=A,/home/jmaggard/Music)

# vídeo (ex. media_dir=V,/home/jmaggard/Videos)

# imagens (ex. media_dir=P,/home/jmaggard/Pictures)

media_dir=A,/media/win_e/my_musics/

media_dir=V,/media/win_e/videos

media_dir=P,/media/win_e/programas/imagem

media_dir=/media/win_e/

 

# nessa linha fica o nome do servidor dlna, se comentado ele coloca o nome do host.

friendly_name=kcv-media

 

# aqui sera o cache do suas miniaturas de pré-visualização nos clientes.

# descomente caso faça o passo mostrado mais adiante.

#db_dir=/var/cache/minidlna

 

# aqui sera o local de log de execução, caso quera checar erros e etc.

# descomente caso faça o passo mostrado mais adiante.

#log_dir=/var/log

 

# this should be a list of file names to check for when searching for album art

# note: names should be delimited with a forward slash ("/")

album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg

 

# habilita o monitoramento de novos arquivos

# note: the default is yes

inotify=yes

 

# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO

#enable_tivo=yes

 

# set this to strictly adhere to DLNA standards.

# * This will allow server-side downscaling of very large JPEG images,

# which may hurt JPEG serving performance on (at least) Sony DLNA products.

strict_dlna=yes

 

# default presentation url is http address on port 80

#presentation_url=http://www.mylan/index.php

 

# notify interval in seconds. default is 895 seconds.

notify_interval=900

 

# serial and model number the daemon will report to clients

# in its XML description

serial=12345678

model_number=1

 

# specify the path to the MiniSSDPd socket

#minissdpdsocket=/var/run/minissdpd.sock

 

# use different container as root of the tree

# possible values:

# + "." - use standard container (this is the default)

# + "B" - "Browse Directory"

# + "M" - "Music"

# + "V" - "Video"

# + "P" - "Pictures"

# if you specify "B" and client device is audio-only then "Music/Folders" will be used as root

#root_container=.

 

 

 

Para habilitar o cache e o log do minidlna, execute como root.

 
mkdir /var/{cache,log}/minidlna

chown nobody:nobody /var/{cache,log}/minidlna

 

Agora descomente :

 

db_dir=/var/cache/minidlna

log_dir=/var/log/minidlna

 

Executando.

 

Basta rodar via terminal:

 
/usr/sbin/minidlna ou /usr/bin/minidlna ou minidlna

 

Como root ou usuário normal.

 

Para forçar uma rechecagem das mídias adicione o parâmetro “ -R ”

 
/usr/sbin/minidlna -R ou /usr/bin/minidlna -R ou minidlna -R

 

Também é possível rodá-lo como DAEMON:

 
service minidlna strat

 

service strat minidlna

 

rc.d start minidlna

 

Os clientes que testei foram:

 

Um Xbox 360.

Ubuntu em Um pc.

Um Archlinux em um netbook.

Um celular Android.

 

No xbox 360 basta rodas os plyers de média que ele exibe uma lista com seus arquivos.

Nos Linux's eu utilizei o XBMC, ele encontrou tudo certinho,em Linux não há muitos clientes disponíveis para dlna.

No Android eu utilizei o BubbleUPnP, mas na market existem muitos clientes.

 

Há vários outros servidores dlna para Gnu/Linux, mas o minidlna é um dos mais fáceis e compatíveis que encontrei. Existem alguns que fazem transcodificação das mídias para formatos mais portáveis baseados em XVID. Mas fica a critério de um novo tutorial mostrar um servidor mais complexo.

2 comentários:

  1. amigo ele tambem disponibiliza os videos para assistir em web?
    é facil fazer isso?
    pq assim é melhro pq não iria precisar de um cliente dlna.

    ResponderExcluir
  2. Estou tendo o problema abaixo para acessar um hd de dados com partição ntfs que tenho só para armazenar os arquivos digitais.

    * Restarting DLNA/UPnP-AV media server minidlna [2013/04/29 12:43:11] minidlna.c:474: error: Media directory "/media/fabio/1D0EEAAE0FAD1D5E/Videos" not accessible! [Permissão negada]

    Como se resolve isso? Esse problema só acontece com o minidlna.

    ResponderExcluir