MOVIX: a fantástica mini-distribuição Multimídia

Autor: Alessandro de Oliveira Faria <alessandrofaria@netitec.com.br>

Introdução

O Movix (http://movix.sourceforge.net/) foi criado pelo italiano Roberto de Leo, e o diferencial desta distribuição foi conseguir com aproximadamente apenas 7MB criar um cd de boot capaz de reproduzir todos os tipos de de arquivos de audio e vídeo. Você pode usá-lo para ouvir músicas em mp3, cds de audio, reproduzir vídeos em diversos formatos: dvd, vcd, avi, divx e outros. As próximas versões prometem incluir suporte para assistir vídeos e músicas via rede ou internet e também suporte as placas de TV existentes no mercado.

O Movix usa o mplayer para reproduzir as músicas e exibir vídeos e portanto depende das funcionalidades dos formatos suportados (e compilados) no Mplayer. Na tecnologia de som, faz uso do projeto alsa (http://www.alsa-project.org/) e das placas de som por ela suportadas (você pode conferir se sua placa é suportada em http://www.alsa-project.org/alsa-doc/).

Com esta distribuição, você pode montar um micro (sem HD) com uma boa placa de vídeo, com saída de TV e um leitor de DVD para transforma-lo em um fantástico Player de DVD doméstico que reproduz a maioria do sistema de audio e vídeo existente no mercado.

Além disso, você pode criar cd de filmes em divx bootáveis, inserindo no cd o filme com a distribuição Movix. O funcionamento é simples, após o boot no cdrom, carrega-se uma versão do kernel 2.4.20 e tenta detectar o hardware da máquina, placas de vídeo, placa de som, placa de rede e placa de tv, etc e ao término do processo de boot, inicia uma tela de menu onde você pode começar a ouvir seus mp3, cd de audio, seus divx, vcd ou dvd.

O projeto é dividido em 3 categorias:
  • eMovix - é um cd bootável onde o filme encontrado na raiz do cdrom é executado automaticamente (autoplay).
  • Movix - Após o boot, é apresentado um menu ao usuário, para a partir deste momento ser possível ejetar o cd e inserir o CD, DVD ou arquivos a serem reproduzidos no hd.
  • Movix2 - Função idêntica ao Movix porém com uma apresentação do menu no modo gráfico.
Vamos elaborar um roteiro de como compilar, instalar e criar um CD Bootável com um vídeo DIVX.




Download

Com o link http://unc.dl.sourceforge.net/sourceforge/movix/emovix-0.8.0rc1.tar.gz você efetua o download da última versão do Movix, mas dependendo da época em que você estiver lendo este tutorial para ser que tenha disponível uma nova versão. Para verificar o mesmo entre no seguinte endereço:


# wget http://unc.dl.sourceforge.net/sourceforge/movix/emovix-0.8.0rc1.tar.gz

--17:01:48-- http://unc.dl.sourceforge.net/sourceforge/movix/emovix-0.8.0rc1.tar.gz
=> `emovix-0.8.0rc1.tar.gz.1'
Conectando-se a unc.dl.sourceforge.net:80... conectado!
Requisição enviada ao servidor HTTP, esperando resposta... 200 OK
Tamanho: 8,601,837 [application/x-tar]
0K .......... .......... .......... .......... .......... 0% 14:58 9,52K
50K .......... .......... .......... .......... .......... 1% 6:40 21,2K

Descompactando o download

Após a conclusão do download, vamos descompactar o arquivo com a seguinte linha de comando:


# tar -zxvf emovix-0.8.0rc1.tar.gz

emovix-0.8.0rc1/
emovix-0.8.0rc1/config/
emovix-0.8.0rc1/config/alsaConfig
emovix-0.8.0rc1/config/dxr3Config
.
.
.
emovix-0.8.0rc1/scripts/movix-conf
emovix-0.8.0rc1/scripts/movix-version
emovix-0.8.0rc1/scripts/mkmovixiso.sh
emovix-0.8.0rc1/scripts/mkmvxiso.bat

Agora, vamos entrar na pasta onde foi criado os arquivos:

# cd emovix-0.8.0rc1

Instalando o pacote

Neste momento vamos checar e configurar os arquivos de compilação e instalar o eMovix!

Para checar os arquivos e configurá-los, siga o exemplo abaixo:


# ./configure

checking build system type... i586-pc-linux-gnu
checking host system type... i586-pc-linux-gnu
checking target system type... i586-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking for mkisofs... true
checking for cdrecord... true
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/movix/Makefile
config.status: creating src/isolinux/Makefile
config.status: creating src/isolinux/kernel/Makefile
config.status: creating scripts/Makefile
config.status: creating config.h
config.status: config.h is unchanged

Agora vamos criar os arquivos para instalação do pacote. Em caso de erro no procedimento anterior, verifique as dependências dos pacotes cujo erro foi gerado.


# make

make all-recursive
make[1]: Entering directory `/rede/public/download/emovix-0.8.0rc1'
Making all in src
make[2]: Entering directory `/rede/public/download/emovix-0.8.0rc1/src'
Making all in isolinux
make[3]: Entering directory `/rede/public/download/emovix-0.8.0rc1/src/isolinux'
Making all in kernel
make[4]: Entering directory `/rede/public/download/emovix-0.8.0rc1/src/isolinux/kernel'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/rede/public/download/emovix-0.8.0rc1/src/isolinux/kernel'
make[4]: Entering directory `/rede/public/download/emovix-0.8.0rc1/src/isolinux'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/rede/public/download/emovix-0.8.0rc1/src/isolinux'
make[3]: Leaving directory `/rede/public/download/emovix-0.8.0rc1/src/isolinux'
Making all in movix
make[3]: Entering directory `/rede/public/download/emovix-0.8.0rc1/src/movix'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/rede/public/download/emovix-0.8.0rc1/src/movix'
make[3]: Entering directory `/rede/public/download/emovix-0.8.0rc1/src'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/rede/public/download/emovix-0.8.0rc1/src'
make[2]: Leaving directory `/rede/public/download/emovix-0.8.0rc1/src'
Making all in scripts
make[2]: Entering directory `/rede/public/download/emovix-0.8.0rc1/scripts'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/rede/public/download/emovix-0.8.0rc1/scripts'
make[2]: Entering directory `/rede/public/download/emovix-0.8.0rc1'
make[2]: Leaving directory `/rede/public/download/emovix-0.8.0rc1'
make[1]: Leaving directory `/rede/public/download/emovix-0.8.0rc1'
Já com todos os arquivos prontos, finalmente vamos instalar o movix.
[root@servidorproxy emovix-0.8.0rc1]# make install
Making install in src
make[1]: Entering directory `/rede/public/download/movix/emovix-0.8.0rc1/src'
Making install in isolinux
make[2]: Entering directory `/rede/public/download/movix/emovix-0.8.0rc1/src/isolinux'
Making install in kernel
make[3]: Entering directory `/rede/public/download/movix/emovix-0.8.0rc1/src/isolinux/kernel'
.
.
.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/rede/public/download/movix/emovix-0.8.0rc1'
make[1]: Leaving directory `/rede/public/download/movix/emovix-0.8.0rc1'

Estamos agora pronto para gerar um cd com vídeo ou audio bootável.


Criando a imagem do CD

O comando mkmovixiso gera uma imagem para ser gravada no cd. O que devemos informar são poucos parâmetros que explicarei logo abaixo:
  • --title=<title>: título para imagem gerada
  • --output-file=<file>: nome do arquivo do arquivo .iso
  • --boot-label=<label>: nome do volume do CD a ser criado.
  • --language=<lang>: determina a língua da mensagens de boot do cd.
  • --eject: o MoviX ejetara o CD após o término da reprodução.
  • --reboot: o MoviX ira reiniciar o PC após o término da reprodução.
  • --shut: o MoviX desligará o PC após o término da reprodução.
  • --auto-delete: remove automaticamente os arquivos temporários.


Línguas disponíveis:
  • en - English (default)
  • it - Italian
  • es - Spanish
  • nl - Dutch
  • hu - Hungarian
  • de - German
  • fr - French
  • pt - Portuguese
  • jp - Japanese
  • sar - Sardinian
  • esp - Esperanto


Veja o exemplo abaixo:
mkmovixiso --title="Velozes e Furiosos" --output-file=/rede/public/emovix.iso ---language=pt --subtitleFonts=polish /rede/public/video


Os arquivos referentes ao filme .avi (Filme Divx) e .sub (Legenda), se encontram na pasta informada acima (/rede/public/video).

Gravando o CD


Não vou entrar em detalhes sobre qual software deve ser utilizado para gravação do CD. Apenas sugiro o uso do NERO para usuários Windows e MKISOFS para usuários Linux, mas fica a critério de cada um qual programa utilizar, sendo que uma vez a imagem .iso gerada, praticamente qualquer software de gravação de CD é capaz de tal tarefa.


Usando o MoviX - Opções de Boot

O MoviX após a sua carga de boot, carrega um script (movix.pl) para tentar detectar qual placa de vídeo se encontra em seu sistema. Caso o sistema não obtenha êxito na detecção, você deve usar as opções extra de boot para forçar a entrada do sistema com uma determinada configuração.

As opções disponíveis no boot:
  • Movix (padrão) - a opção padrão que executa o script movix para escolher automaticamente os melhores drivers do mplayer para sua placa de vídeo.
  • sdl - melhora a qualidade das legendas, mas não a qualidade de vídeo.
  • vesa - o tradicional driver "vesa" deve funcionar para a maioria das placas.
  • vesaFB - usa o driver genérico vesa FrameBuffer
  • FB - usa o driver FB específico para sua placa.
  • aa - vídeos em formato ASCII ;-P
  • aa1024 - vídeos em formato ASCII na resolução 1024x768
  • aa1280 - vídeos em formato ASCII na resolução 1280x1024 (apenas para CPU >= 1GHz)
  • TV - inicializa ativando a saída de TV da sua placa.
  • hd - executa o boot pelo HD
  • floppy - executa o boot pelo floppy disk.



Argumentos do Boot

Além das opções, existem alguns argumentos que podem serem usados para o script movix.pl mudar o seu comportamento. Segue abaixo a lista de argumentos:
  • Boot Args Valores Efeito
  • SLOW y,ni - por padrão o movix desacelera seu drive de
  • CD-ROM - para reduzir seu ruído, mas algumas vezes isso não funciona corretamente. Se seu drive de CD parece se comportar de forma estranha, você pode tentar usar esta opção.
  • ACCEL sw,no - força re-escalar por software ou não. Se o playback aparenta estar muito lento, você pode tentar "ACCEL=no" para torná-lo mais suave. (porém, seu filme não poderá ser re-escalado para fulscreen).
  • VO_DRIVER <driver> - força o uso de um determinado driver de vídeo.
  • MP_OPTIONS <opções> - adiciona opções para o mplayer (mesmo que acima!).
  • LIST <lista> - usa "lista" como lista de execução (playlist) padrão.
  • DMA y,n - use "DMA=n" se seu sistema travar durante o boot tentando acessar o CD-ROM.
  • SHUT y,n - desliga o micro após a reprodução dos arquivos no CD. É especialmente útil se você pegar no sono antes do fim da execução. :-D
  • REBOOT y,n - reseta o micro ao termino da execução.
  • LOOP <N> - repete a execução N vezes. Colocando "LOOP=0" faz o mplayer tocar seus arquivos para sempre.
  • RANDOM y,n - toca todos os arquivos no CD de forma aleatória.

Menu do Mplayer


A função "menu" no mplayer foi implementada e você pode facilmente usá-la para navegar por sua seleção de vídeos e/ou para mudar a lista de execução. Para ativá-lo, espere o mplayer começar e pressione a tecla "m" para ativar o menu.

A lista de outras teclas ativas para o mplayer é definida no arquivo input.conf.

Elaborei uma lista dos principais comando aceitos no mplayer implementado no movix:
  • RIGHT UP PGUP - avança a reprodução
  • LEFT DOWN PGDWN - retrocede a reprodução
  • - + - sincroniza o audio
  • q ESC - finaliza
  • p SPACE - pause
  • o osd
  • z x - sincroniza a Legenda
  • 9 / * 1 - ajusta o Volume
  • 1 2 - ajusta o Contrast
  • 3 4 - ajusta o Brilho
  • r t - ajusta a posição da legenda
  • m - entra no modo menu console
  • ALT+ F1 - tela principal
  • ALT+ F2 - tela para ajuste do som
  • ALT+ F3 - console

    • Ajustandoo volume no modo PAUSE


      Avançando o filme no modo PAUSE


      Como reproduzir outros arquivos

      Você pode reproduzir outros arquivos sem nenhuma dificuldade, basta substituir o disco na unidade e executar o comando MOVIX.

      Reproduzindo DVDs, VCDs e CDs NÃO EMOVIX!


      Para reproduzir um determinado padrão, basta digitar o seu respectivo comando da lista abaixo:
      • dvd N (onde N é usualmente 1 ou 2)
      • vcd N (onde N é usualmente 1 ou 2)
      • acd (CD de audio)

      Aconselho neste caso, adquirir a última versão do Movix2 que foi projetada para este fim.


      Dicas em modo console

      Reproduzir musicas em MP3:

      # mplayer /cdrom/extras/<escolher_uma>.mp3

      Reprodução de vídeos:

      # mplayer /cdrom/extras/peacemaker.avi

      Definindo as dimensões/zoom:

      # mplayer -fs -vm -zoom /cdrom/extras/filme.avi

      # mplayer -zoom -x 800 -y 600 /cdrom/extras/filme.avi


      mplayer -vo aa /cdrom/extras/peacemaker.avi

      mplayer -vo fbdev /cdrom/extras/peacemaker.avi

      Acho que com este pequeno roteiro dá para começar a se divertir sem ter que ficar adivinhando as funções básicas deste projeto. Já estou começando a montar meu acervo de DivX com o movix!



      Autor: Alessandro de Oliveira Faria (CABELO)
      alessandrofaria@netitec.com.br

      Counter
      Outros artigos: http://www.cabelo.ezdir.net