Servidor de Mídia com 128 MB de RAM

Aqui, vamos nós nesse novo desafio, criar um servidor de mídia para ser acessado por vários dispositivos, como Xbox, PS3, celular, Laptop, TV, etc. Vamos fazer stream de vídeos, fotos e áudio na rede com um computador limitado a 128 MB de RAM, Pentium-3 850Mhz e 20 GB de HD.

[ Hits: 44.243 ]

Por: M4iir1c10 em 25/03/2014 | Blog: https://github.com/mauricioph


HD como dispositivo permanente



Depois de configurado, devemos colocar os HDs como dispositivos permanentes no computador, assims sempre que o MySQL procurar pelos arquivoss ele vai encontrars já que o HD não é móvel, porém, instalado dentro do computador.

Caso você não tem a coragem de abrir a capa do seu HD externo e ligar ele como interno, ou se você está no meu caso, você tem um Laptop e não há espaço físico para HDs internos, gracas a Deus você usa o GNU/Linux, então, você pode fazer o computador reconhecer o seu HD e montar ele automaticamente na pasta correta.

Como fazer isso?
Primeiro, vamos descobrir o número único de identificação do seu HD. Ao conectar o USB do HD no computador, será designado um dispositivo para ele.

Para descobrir qual é, digite no terminal, logo depois de conectar o USB:

# dmesg | grep sd | grep GB

Você verá algo identificando seu HD como sdX, onde X é uma letra qualquer selecionada pelo sistema. Para o nosso exemplo, sdb.

* CUIDADO: você pode cometer algum erro nessa parte e identificar o HD errado, portanto, preste atenção qual é o dispositivo correto para os seus HDs. Veja o tamanho de cada um listado, para saber com certeza qual é qual.

No terminal, digite:

# blkid /dev/sdb1

Esse comado deve retornar algo como:

 /dev/sdb1: UUID="7fa9c421-0054-4555-b0ca-b470a97a3d84" TYPE="ext4"

Algumas distros só autorizam os administradores do sistema usarem blkid, caso sua distro seja uma delas, digite o sudo antes do comando.

A parte importante aqui, é o UUID do seu HD, vamos usar ele no /etc/fstab. Na última linha do arquivo /etc/fstab, digite:

UUID="7fa9c421-0054-4555-b0ca-b470a97a3d84" /media/HD ext4 defaults,nobootwait,noatime 0 0

O formato é:

[UUID] [pasta para montar] [sistema de aquivo] [opções] [backup] [checar o sistema durante inicialização]

Considere que o meu HD já está formatado em ext4, assim sendo, eu coloquei o sistema de arquivos como ext4. Caso você não queira formatar o seu HD, por padrão, ele deve ter o sistema de arquivos como NTFS. Assim, a entrada no fstab deveria ser assim:

UUID="7fa9c421-0054-4555-b0ca-b470a97a3d84" /media/HD ntfs defaults,uid=1000,gid=1000,dmask=022,nobootwait 0 0

Permissões para NTFS e VFAT, devem ser configuradas por opções de dmask, fmask and umask.

Onde:
  • dmask controla as permissões dos diretórios.
  • fmask controla as permissões dos arquivos.
  • umask controla os dois.

Um truque para saber o valor numérico das permissões para NTFS e VFAT: retire do valor 777, o valor da permissão que você quer no GNU/Linux.

Por exemplo, rwx para o dono dos arquivos e rw para os outros, em GNU/Linux seria 755, então, para o Windows, o equivalente seria:

777 - 755 = 022

Para fazer você ser o dono do dispositivo, use o UID e GID para usuários e grupos. Você pode achar o seu UID com o comando echo $UID. Para encontrar o GID, use cat /etc/group. Esses valores são geralmente 1000, para o seu usuário padrão.

Um ajuste muito comum para NTFS, é: uid=1000,gid=1000,dmask=027,fmask=137. Esse ajuste te faz o dono do drive, e dão as permissões drwxr-x---.

Agora você entende porque eu prefiro deixar o meu HD como ext4? Claro que, deixando ele como ext4, o meu HD só será reconhecido por sistemas como GNU/Linux. Se eu colocar ele em um Windows, o mesmo vai pedir de cara para você formatar o drive (nunca faça isso, ou você perde tudo em seu HD). Já no Mac, ele nem reconhece, salvo se o seu Mac tem drivers para ext* instalados.

Para evitar problemas como esse, quando eu coloco algum arquivo vindo de origem Windows ou Mac, eu acesso o meu HD pelo SSH. Já que SSH e SFTP, são tecnologias presentes em todos os três sistemas.

Para saber mais sobre o SSH, veja o artigo que eu escrevi sobre ele:
Você pode, então, usar programas como o FileZilla para transferir os seus arquivos; outra opção muito viável, se você tem outros computadores com o Windows ou Mac, é fazer uma pasta compartilhada usando o Samba.

Não vou entrar em detalhes nesse assunto, porque aí já seria um outro artigo dentro desse artigo. Mas a ideia, é a seguinte:

Monte os seus HDs em pastas criadas pelo root em /media/NN onde NN é o nome qualquer das pastas:

sudo mkdir -p /media/HD1

Mude a permissão para rwx (ler, escrever e executar) nessas pastas para todos os usuários e grupos:

sudo chmod 777 /media/HD1

Aponte o SSH, FTP ou Samba, para essas pastas:

SSH e FTP: Edite o arquivo /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config

Certifique que esta linha esteja presente:

Subsystem sftp /usr/lib/openssh/sftp-server

E adicione estas linhas para o seu usuário:

Match User mauricio
  ChrootDirectory /media/HD1
  AllowTCPForwarding no
  X11Forwarding no
  ForceCommand /usr/lib/openssh/sftp-server

Se você tem vários usuários, não precisa fazer um por um, apenas adicione o grupo ao qual eles todos pertencem.

Match Group users
  ChrootDirectory /media/HD1
  AllowTCPForwarding no
  X11Forwarding no
  ForceCommand /usr/lib/openssh/sftp-server

Samba: edite o /etc/samba/smb.conf:

sudo nano /etc/samba/smb.conf

No final do arquivo, onde você deve criar o compartilhamento, escreva:

[HD1]
comment = Primeiro HD
path = /media/HD1
force user = nobody
force group = nogroup
read only = No
create mask = 0664
directory mask = 0775
guest ok = Yes

Essas opções são para tornar o seu HD público na rede, assim, todos têm acesso a ele.

Caso você queira modificar alguns detalhes, como guest ok = no, create mask, etc, fique à vontade. Como eu disse, não vou me aprofundar nestes detalhes, uma procura aqui no VOL vai dar as respostas que você quer. Ou mande uma mensagem neste artigo e eu vou tentar te ajudar no que estiver a meu alcance.

Agora, o passo final. :)

Página anterior     Próxima página

Páginas do artigo
   1. A ideia
   2. O plano
   3. Instalando o sistema
   4. Configurações
   5. HD como dispositivo permanente
   6. Acesso aos arquivos
   7. Fazendo a manutenção
Outros artigos deste autor

Codificação e decodificação entre ASCII, hexadecimal e unicode

Raios de luz explodindo atrás do texto

GRUB com imagens aleatórias e KDM com vídeo de fundo

Malware, Vírus e Hacking. Estamos seguros usando Linux?

Rode o Blackbox no Windows XP

Leitura recomendada

VNC - Virtual Network Computing

Execução automática de comandos na inicialização do modo gráfico

Espelhos Mais Rápidos no Debian e Derivados

Instalar placa de rede wireless do notebook HP dv6636 no Ubuntu

Alta disponibilidade com SuSE 10 Enterprise Server SP2

  
Comentários
[1] Comentário enviado por mattos_gru em 21/03/2014 - 01:57h

Grande Mauricio!

Ótimo artigo. À medida em que lia, já esquematizava minha instalação aqui.

Grato pela ideia, vou poder guardar as pilhas de cds e dvds (acho até que vou digitalizar alguns VHSs familiares).

Só não tenho um Nobo/Lap "Véio".

Mesmo assim vou montar numa VB e depois que arrumar
um hardware (Lap ou Desk) passo para ele.

Vou seguir os mesmos passos usando o Debian.

Dica para o config do Apache (roda assim em 2 servers de produção):

MaxSpareServers 3
MinSpareServers 1
StartServers 1

Essa config atende um escritório com 8 estações.

Quanto aos aplicativos clientes pretendo utilizar tambem o Audacious e o Kaffeine.

Acredito que voce tenha despendido de 2 a 3 semanas de tempo no seu projeto.

Na medida em que o tempo me permitir passarei os resultados, penso que demorarei uma ou duas semanas.

Abraço

[2] Comentário enviado por m4iir1c10 em 21/03/2014 - 05:33h


[1] Comentário enviado por mattos_gru em 21/03/2014 - 01:57h:

Grande Mauricio!

Ótimo artigo. À medida em que lia, já esquematizava minha instalação aqui.

Grato pela ideia, vou poder guardar as pilhas de cds e dvds (acho até que vou digitalizar alguns VHSs familiares).

Só não tenho um Nobo/Lap "Véio".

Mesmo assim vou montar numa VB e depois que arrumar
um hardware (Lap ou Desk) passo para ele.

Vou seguir os mesmos passos usando o Debian.

Dica para o config do Apache (roda assim em 2 servers de produção):

MaxSpareServers 3
MinSpareServers 1
StartServers 1

Essa config atende um escritório com 8 estações.

Quanto aos aplicativos clientes pretendo utilizar tambem o Audacious e o Kaffeine.

Acredito que voce tenha despendido de 2 a 3 semanas de tempo no seu projeto.

Na medida em que o tempo me permitir passarei os resultados, penso que demorarei uma ou duas semanas.

Abraço


Ola Cleber,

Que bom que voce gostou do artigo, agora que voce vai digitalizar sua colecao leia esse meu outro artigo que vai te ajudar ainda mais http://vivaolinux.com.br/artigo/Criando-video-com-caracteristicas-de-DVD

Eu usei o exemplo do laptop porque esse foi oque a minha esposa tinha guardado por muitos anos, porem o melhor e usando um desktop, porque a torre te proporciona o espaco nescessario para a intalacao de mais HDs e evita as instrucoes que eu dei com relacao ao HD permanente no usb. Se voce coloca dentro da torre o Linux vai automaticamente reconhecer como HD permanente.

Obrigado pela dica de conf do apache, sua contribuicao e muito bem vinda.

Eu levei bem mais que 3 semanas para desenvolver esse artigo, para fazer o servidor rodar pela primeira vez levou 2 dias e eu ja estava fazendo streaming dos meus arquivos... oque demorrou mais foi aprender com os meus erros, fazer o HD permanente foi o primeiro obstaculo, toda vez que o computador desligava eu tinha problemas porque os sistema montava o hd em pastas diferentes e assim eu perdia tudo na database... so que com o passar do tempo pude rever oque estava errado e produzir esse artigo... mais uma revelacao dos bastidores, eu deixei esse artigo em construcao por mais de um ano antes de publicar, porque eu queria ter certeza que qualquer pessoa que fazer oque eu fiz nao teria que passar pelos problemas que eu passei e tambem se alguem passar por algo que seja simples porem nao seja do seu conhecimento eu tenho um pouco de esperiencia para poder resolver o problema :)

[Desculpe a falta de acento, os teclados aqui nao possuem acentos :) ]

[3] Comentário enviado por mattos_gru em 21/03/2014 - 18:55h

De volta Mauricio!

Consegui no escritohrio de um cliente/amigo uma CPU P4 HT com 512 MB de RAM. Agorah estou a cahssa de uma HD IDE que tenho por aquih - ou seria Sata?!, naum me recordo.

Diversaum garantida para o fim de semana.

Quanto ah acentuasaum, naum se preocupe, o importante eh que nohs possamos nos entender (aprendih a escrever desta forma com meu filho, ateh hoje troco msgs com ele assim).

Brincadeiras à parte - os teclados aqui estão com acentuação - utilizo um mini-wireless, comprado por aí nas terras altas e frias, com layout Alemão QWERTZ, mas até que já me adaptei à ele - grato pelo artigo de criação de DVDs, muito útil.

Bem, vou encomendar duas redondas e umas seis latinhas (acho melhor doze), a madrugada vaí ser lonnnnga!

Bom final de semana!

[4] Comentário enviado por thiagocantero em 21/03/2014 - 21:09h

Parabéns pelo artigo!
Fantástico!
Muito bem detalhado e explicado!Gostei até mesmo das partes com humor que você inseriu no texto!Ficou bem legal mesmo!
Fico feliz em ver artigos sempre úteis e utilizando por vezes materiais até mesmos "simplistas", costumo comentar com amigos que nós subutilizamos a tecnologia de uma forma geral, trocando computadores, celulares e smartphones como se fossem roupa e por vezes eles ainda são úteis e muito úteis por sinal!
Mais uma vez parabéns pelo exposto!
Deus te abençoe!

Abraços

Thiago Cantero Mari Monteiro

[5] Comentário enviado por maran em 22/03/2014 - 11:35h

Parabéns , sensacional este artigo.

[6] Comentário enviado por edsonpira em 26/03/2014 - 23:27h

Amigo...excelente artigo....não só da ideia, mas como foi escrito...eh um best seller....

Tenho um vaio com athon que esta capenga...lá no fundo do armário (e esposa querendo a reciclagem dele no arquivo morto - vulgo lixo)...bom já achei um motivo para ressuscita-lo....

Tenho um TL-MR3420 com OpenWRT e midiabox, funciona legal (TV, Tablet, note, Smartphone, mas é bom dar uma função nova para os novos velhinhos equipamentos...

Valew

[7] Comentário enviado por fabregas em 27/03/2014 - 21:14h

Cara quando eu vou iniciar o mediatomb com o /init.d ele sempre falha. Você sabe o que pode ser? Fiz tudo certinho de acordo com o tutorial que você fez no arquivo config.xml. A unica coisa que deve ser feita e isso ne? pesquisei na pasta so tem esse arquivo.

[8] Comentário enviado por mattos_gru em 28/03/2014 - 15:28h

Olá Mauricio,

novamente por aqui!

Bem, minhas experiências com a Box P4, infelizmente, ainda não resultaram - de bom só estavam a pizza e as cervejas.

A despeito da CPU P4 3.0Ghz disponibilizar HT, a MoBo não o faz e tambem as portas USB são 1.1, o que resultou em baixíssimo throughput.

Alem disso, fui obrigado a usar um HD Ide - o que tambem não resultou em grande coisa para dow/up stream.

A MoBo tem Sata onboard, mas trata-se de Sata I e, o HD ao qual eu estava à "caça" - finalmente achei-o no fundo de um armário - é um Sata II que a MoBo/Bios não querem reconhecer - no case externo roda perfeito.

Bem, vou "inventar" algo e à medida que houver algo de concreto, posto aquí.

Nice weekend,

Mattos

[9] Comentário enviado por removido em 31/03/2014 - 15:10h

Excelente artigo.

Mas eu adotaria um outro método mais simples:

1. Instalar o Ubuntu Minimal (somente com aquilo que será usado, desta forma economizando muita memória e processamento).
2. Instalar o MediaTomb.

O próprio MediaTomb possui uma interface de configuração que pode ser acessada pela rede, assim não é necessário instalar o Apache e o Webmin. Acredito que se o objetivo é apenas executar um servidor DLNA, não há a necessidade de instalar outros serviços. Isto vai poupar e muito a memória RAM da máquina, e ela vai ser mais rápida no final das contas.


[10] Comentário enviado por m4iir1c10 em 03/04/2014 - 04:52h


[7] Comentário enviado por fabregas em 27/03/2014 - 21:14h:

Cara quando eu vou iniciar o mediatomb com o /init.d ele sempre falha. Você sabe o que pode ser? Fiz tudo certinho de acordo com o tutorial que você fez no arquivo config.xml. A unica coisa que deve ser feita e isso ne? pesquisei na pasta so tem esse arquivo.


Qual e a mensagem que voce recebe ao iniciar o servico?

[11] Comentário enviado por m4iir1c10 em 03/04/2014 - 04:56h


[8] Comentário enviado por mattos_gru em 28/03/2014 - 15:28h:

Olá Mauricio,

novamente por aqui!

Bem, minhas experiências com a Box P4, infelizmente, ainda não resultaram - de bom só estavam a pizza e as cervejas.

A despeito da CPU P4 3.0Ghz disponibilizar HT, a MoBo não o faz e tambem as portas USB são 1.1, o que resultou em baixíssimo throughput.

Alem disso, fui obrigado a usar um HD Ide - o que tambem não resultou em grande coisa para dow/up stream.

A MoBo tem Sata onboard, mas trata-se de Sata I e, o HD ao qual eu estava à "caça" - finalmente achei-o no fundo de um armário - é um Sata II que a MoBo/Bios não querem reconhecer - no case externo roda perfeito.

Bem, vou "inventar" algo e à medida que houver algo de concreto, posto aquí.

Nice weekend,

Mattos


Talvez nao esta reconhecendo por causa de alguma limitacao imposta na BIOS, checa a configuracao, mais por favor so mude se voce tem nocao doque esta fazendo... antes de mexer na BIOS lembre das sabias palavras do tio Ben para Peter Parker "Com grandes poderes, vem grandes resposabilidades" :)

[12] Comentário enviado por m4iir1c10 em 03/04/2014 - 05:07h


[9] Comentário enviado por bilufe em 31/03/2014 - 15:10h:

Excelente artigo.

Mas eu adotaria um outro método mais simples:

1. Instalar o Ubuntu Minimal (somente com aquilo que será usado, desta forma economizando muita memória e processamento).
2. Instalar o MediaTomb.

O próprio MediaTomb possui uma interface de configuração que pode ser acessada pela rede, assim não é necessário instalar o Apache e o Webmin. Acredito que se o objetivo é apenas executar um servidor DLNA, não há a necessidade de instalar outros serviços. Isto vai poupar e muito a memória RAM da máquina, e ela vai ser mais rápida no final das contas.



Obrigado pela sua contribuicao, realmente faz sentido usar somente o MediaTomb ja que oque nos interessa e o servico de DLNA. Porem existe razoes pela qual eu instrui instalar o apache e o Webmin...

Webmin Executar comandos de manutencao, configuracao e reparo de forma simples sem ter que memorizar comandos ( Isso ajuda em muito os novatos que nao sabem ou nao gostam de usar o terminal )

Apache A razao pela qual eu indiquei o apache e por causa da vasta gama de opcoes voce tem ao usar o servico de http, por exemplo digamos que o usuario so tem o vlc e a colecao de midia da pessoa e enorme... usando o DLNA no VLC e muito lento agora se a pessoa configura o HD como um servidor http e a pessoa sabe a estrutura das pastas e onde encontrar a midia a unica coisa que a pessoa deve fazer e abrir um stream apontando para o ip da maquina e o caminho do video ou da musica.

Por exemplo no meu caso que quero assistir o classico Akira eu abro o vlc tanto no computador como no celular e abro a seguinte url
http://192.168.39.117/videos/Movies/Animations/Akira.avi

Outra boa funcionalidade do apache e para a manutencao do mysql usando o phpmyadmin.
eu tambem tenho uma interface web que uso para armazenamento do meu catalogo de videos.

Infelizmente eu percebi que estava demorando muito para produzir o artigo e para nao ficar muito longo eu resolvi resumir e acabei deixando algumas lacunas no meu artigo... mais da para rodar bem com todos os servicos que eu descrevi e eu consegui rodar videos em todos os meus dispositivos de uma so vez sem enroscar o stream...

[13] Comentário enviado por devauxcl em 09/04/2014 - 16:37h

Excelente tutorial, gostei muito!
Agora dá pra esquecer os dvds à vontade!

[14] Comentário enviado por Carlos_Cunha em 10/04/2014 - 21:22h

Amigo uma duvida, ele faz Streming ou seja o procesamento e nele? Peço isso por possuo um Xbox porém ele não reconhece legendas e muitos formato,etão uso o PLEX(media server também) para processar o video e rodar na televisão via xbox. Ou aqui ele so libera um compartilhamento via DLAN( ou outro).
Abraço

[15] Comentário enviado por m4iir1c10 em 11/04/2014 - 05:01h


[14] Comentário enviado por PretooOO em 10/04/2014 - 21:22h:

Amigo uma duvida, ele faz Streming ou seja o procesamento e nele? Peço isso por possuo um Xbox porém ele não reconhece legendas e muitos formato,etão uso o PLEX(media server também) para processar o video e rodar na televisão via xbox. Ou aqui ele so libera um compartilhamento via DLAN( ou outro).
Abraço


Da maneira a qual eu ensino a configuracao aqui ele so esta liberando o acesso ao protocolo DNLA e servindo a localizacao da midia, porem ele pode tambem fazer o processamento de conversao ele possui suporte para comandos de conversao no qual ele vai usar a entrada de comandos direto no xml de configuracao dele. Se voce quizer experimentar veja esse link http://mediatomb.cc/dokuwiki/transcoding:transcoding

Outra coisa que voce pode fazer se estiver usando o XBMC e carregar a legenda direto do site opensubtitles.org na tela.

Entre em Settings -> Video -> Subtitles
Selecione o idioma e no servico padrao de legendas escolha o padrao ou baixe mais clicando em "buscar mais" (Get more).

Se voce escolher um servico que pode ser ajustado os ajustes sao feitos aqui:
Settings -> Add-ons -> Enabled Add-ons -> Subtitles -> select the service add-on -> Configure

Essa configuracao e para o XBMC e nao o software original do Xbox.

[16] Comentário enviado por marbreu em 30/06/2014 - 21:16h

Cara D+ este artigo parabéns...

[17] Comentário enviado por JJSantos em 12/10/2014 - 20:45h

Muito bom seu artigo.
Parabéns!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts