Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se Blogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Guia de mídia por linha de comando


Tabela de conteúdo

Introdução

A evolução nos traz uma série de vantagens. Hoje é muito simples gravar um CD usando o K3B ou o nero, mas nunca sabemos o que está rodando por baixo dos panos.

Inicialmente este tutorial tinha o intúito de mostrar como gravar um cd via linha de comando mas o negócio foi crescendo (ainda mais com a parceria com o Lipse. Hoje este abrange desde a ripagem de CD/DVD, passa por conversão e vai até a gravação do mesmo.

Softwares utilizados

Ripando

O termo ripar tem um significado meio confuso mas resumindo trata-se de retirar os dados de um CD/DVD e transformá-lo num arquivo no seu HD.

CDs

Aprenderemos aqui a Ripar CDs para o formato WAV que posteriormente ensinaremos a converter

Ripar CD de áudio completamente

Para ripar um cd completamente em WAV utilize o seguinte comando:

# cdparanoia -vB

Onde:

  • -v: verbose, mostra mais detalhes da operação
  • -B: ripar arquivos separando as faixas em arquivos diferentes

Ripar faixas específicas

Para ripar uma faixa específica de um CD de audio em WAV utilize o seguinte comando:

# cdparanoia -v <número_da_faixa>

Onde:

  • -v: verbose

DVDs

Convertendo

Som

Wav em MP3

Arquivo por arquivo

Para converter seus arquivos WAV para MP3 utilize o seguinte comando:

# lame -h -b 192 file.wav file.mp3

Em lote

Para converter seus arquivos WAV para MP3 utilize o seguinte comando:

$ for i in *.wav; do lame -h -b 192 "$i" "$(basename "$i" .wav).mp3"; done; sync

Este comando converte todos os arquivos mp3 de uma pasta

O 192 é o bitrate do mp3, ou seja, muda-se a gosto de cada um.

MP3 em WAV

Arquivo por arquivo
Com mpg123

Para converter seus arquivos MP3 para WAV para posteriormente grava-los em CD utilize o seguinte comando:

# mpg123 -v -w som.wav som.mp3

Com sox

Para converter seus arquivos MP3 para WAV para posteriormente grava-los em CD utilize o seguinte comando:

# sox som.mp3 -r 44100 som.cdr

Em lote
Com lame

Para converter seus arquivos MP3 para WAV para posteriormente grava-los em CD utilize o seguinte comando:

# for i in *.mp3; do lame --decode "$i" "$(basename "$i" .mp3).wav"; done; sync

Este comando converte todos os arquivos mp3 de uma pasta.

Com mpg123

Para converter seus arquivos MP3 para WAV para posteriormente gravá-los em CD utilize o seguinte comando:

# for i in *.mp3; do mpg123 -v -w "$(basename "$i" .mp3).wav" "$i"; done; sync

Este comando converte todos os arquivos mp3 de uma pasta.

Vídeo

FLV em mpeg

Arquivos FLV são usados em sites como o Youtube e o Google videos para disponibilizar vídeos para visualização. Mas com isso caímos na seguinte pergunta: "É possível copiar estes arquivos para o nosso computador e ve-los no meu player preferido?" A resposta é "Sim". Podemos baixar manualmente copiando o arquivo .flv da pasta de cache do browser ou podemos usar programas como a extenssão VideoDownloader para o firefox.

No caso do Google videos ele baixa e já converte em avi para você. Agora no caso do Youtube ele baixa em formato flv. Ae vem outra pergunta: "Como posso assistir um vídeo neste formato?". Existem hoje diversos programas que lêem este formato mas muitas vezes você quer mandar um vídeo para alguém e esta pessoa possivelmente não terá este programa. O que fazer? A resposta é simples. Converta-o.

O processo é simples. Utilize o programa ffmpeg.

# ffmpeg -i arquivo.flv arquivo.mpeg

Onde:

  • arquivo.flv: Arquivo baixado pela extenção do firefox
  • arquivo.mpeg: Nome do arquivo que você quiser. Pode-se utilizar o final .mpg também.

Para maiores opções leia a documentação do programa que é bem completa.

MPEG em AVI

Muitos de nós queremos criar um álbum digital em CD ou DVD para ser lido no aparelho de DVD. Para isto o vídeo precisa estar em DivX (para aparelhos que lêem este formato). Mas ao tentar converter no avidemux, perde-se o áudio por um "erro de codec".

Para converter utilize o seguinte comando:

# mencoder <arquivo_origem> -of avi -oac mp3lame -lameopts q=5:vbr=2:abr=160:aq=5:ratio=50:mode=0:vol=8 -ovc divx4 -divx4opts q=3:br=1024:pass=1 -vf scale=384:288 -o <arquivo_destino>

Onde:

  • <arquivo_origem> - nome e caminho do arquivo a ser convertido. Se já estiver no diretório do arquivo (como é o caso deste exemplo), não será necessário digitar o caminho, informando o diretório onde o arquivo se encontra.
  • <arquivo_destino> - nome e diretório do arquivo final. Idem ao anterior.
  • vol=7 é possível ajustar o volume do áudio, que deve ser alto o suficiente para ser audível (lógico!) e baixo o suficiente para não "estourar" e causar chiados. Neste caso, parta do 7 e se não estiver bom, vá aumentando ou diminuindo.

Dados

BIN/CUE em ISO

Muita gente não gosta do padrão bin/cue pois não é possível manipulá-lo como manipula-se as imagens iso, por isso podemos converter esse padrão no padrão iso. Para isso utilizamos o aplicativo bin2iso:

# bin2iso arquivo.cue

Caso você tenha perdido o arquivo cue, o bin2iso consegue converter usando apenas o bin, para isso:

# bin2iso nome_arquivo.cue -c arquivo.bin

Identificando a gravadora

Para identificar a gravadora utilize o comando "cdrecord -scanbus". A saída será algo parecido com isto:

# cdrecord -scanbus Cdrecord 2.0 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg Schilling Linux sg driver version: 3.1.24 Using libscg version 'schily-0.7' scsibus0: 0,0,0 0) 'HL-DT-ST' 'CD-RW GCE-8520B ' '1.03' Removable CD-ROM 0,1,0 1) * 0,2,0 2) *

Anote os três primeiros números ao lado da gravadora identificada (No nosso caso 0,0,0).

Lendo detalhes (dados) da mídia

O Cdrdao permite lermos detalhes gravados na mídia, como fabricante real e química usada. Você pode ter a surpresa de descobrir que seu CD, com aquela marca cara e que você confia por "ter nome", é fabricado pela mesma empresa daquele genérico:

# cdrdao disk-info --device 0,0,0 --driver generic-mmc

O parâmetro "--driver" é obrigatório no cdrdao. A maioria dos gravadores fabricados depois de 2000, funcionam perfeitamente com o driver "generic-mmc", isso não significa que seu gravador mais antigo não vá funcionar. Caso tenha problemas com o generic-mmc, existem outros drivers suportados pelo cdrdao:

  • cdd2600
  • generic-mmc-raw
  • plextor
  • plextor-scan
  • ricoh-mp6200
  • sony-cdu920
  • sony-cdu948
  • taiyo-yuden
  • teac-cdr55
  • toshiba
  • yamaha-cdr10x

O Cdrecord também tem um recurso semelhante:

# cdrecord -atip dev=0,0,0

Gravando

CDs

Audio

# cdrecord dev=0,0,0 -v speed=20 -fs=16 -pad -eject -audio track1.wav

Parâmetros:

  • dev=0,0,0: Dispositivo indicado pelo "cdrecord -scanbus"
  • -v : Exibe informações durante a gravação.
  • -fs=16: Especifica o tamanho do buffer na memória RAM em megabytes. Substitua o 16 por um número menor caso você tenha pouca memória RAM.
  • speed=20: Efetua a gravação na velocidade 20x
  • -eject: Abre a gaveta do cd-rom após o término da gravação
  • -pad: Verifica se o tamanho total do CD é múltiplo de 32 KB (para evitar problemas de leitura), caso não seja, ele adiciona alguns bits zero no final imagem completando estes últimos 32 KB

No parâmetro "dev" usamos "0,0,0" pois esta é a identificação do dispositivo de gravação emulado como SCSI. Na série 2.6 do Kernel, essa emulação não é mais necessária, portanto, no parâmetro "dev" usamos o endereço real do dispositivo de gravação. Ex: cdrecord dev=/dev/hdc ...

Para adicionar espaço entre as faixas utilize o parâmetro -dao

# cdrecord -v dev=0,3,0 speed=20 -dao -eject -pad -audio track1.wav

Para gravar mais de uma faixa utilize "*" para gravar todas as músicas dentro do diretório ou se preferir especificar as que deseja, utilize espaço entre as faixas (ex: track1.wav track3.wav track7.wav)

Dados

Para gravar CDs de dados no linux, existem duas etapas. A primeira é gerar uma imagem dos dados a serem gravados no CD e a segunda é a gravação em si.

Para gerar a imagem utilize o comando "mkisofs".

# mkisofs -o /caminho/imagem.iso -pad -JrTlL /caminho/pasta_com_arquivos/

Parâmetros:

  • -o: Especifica o caminho e o nome da imagem a criar
  • -pad: Este parâmetro verifica se o tamanho total da imagem é múltiplo de 32 KB (para evitar problemas de leitura), caso não seja, ele adiciona alguns bits zero no final da imagem completando estes últimos 32 KB
  • -J: Gera informação de diretórios Joliet (para compatibilidade com Windows)
  • -r: Gera informação de diretórios no formato Rock Ridge
  • -T: Cria recursivamente, diretório por diretório, um arquivo texto (TRANS.TBL), que lista o conteúdo do diretório
  • -l: Possibilita nomes com até 31 caracteres
  • -L: Permite espaços no padrão ISO 9660
  • /caminho/pasta_com_arquivos/: Pasta onde estão os arquivos a serem gerados. Podem ser adicionados vários diretórios utilizando espaço entre os caminhos (ex: /caminho/pasta_com_arquivos/ /caminho2/pasta_com_arquivos2/).

Feito isso, a próxima etapa é a gravação.

# cdrecord dev=0,0,0 -v speed=20 -fs=16 -eject -data /caminho/imagem.iso

Com esse comando o CD será fechado, não permitindo assim gravações adicionais posteriores (multisessão).

CD multisessão

Para se gravar um cd multisessão, devemos informar ao programa o próximo espaço disponível para gravação.

A criação da primeira imagem ocorre da mesma forma.

# mkisofs -o /caminho/imagem.iso -pad -JrTlL /caminho/pasta_com_arquivos/

A diferença na gravação está em adicionar a opção "-multi":

# cdrecord dev=0,0,0 -v speed=8 -fs=16 -eject -multi -data nome_da_imagem.iso

Para obter a próxima posição livre do CD usamos a seguinte sintaxe:

# cdrecord -msinfo dev=0,0,0 0,28681

Com essa informação geramos a segunda imagem:

# mkisofs -o imagem2.iso -pad -JrTlL -C 0,28681 -M /media/cdrom /caminho/diretorio/

Agora é só gravar normalmente:

# cdrecord dev=0,0,0 -v speed=52 -fs=16 -eject -multi -data imagem2.iso

Você pode criar um CD com várias sessões. Quando quiser fechar o CD, ou seja, gravar a última sessão e não permitir mais gravações (mesmo que sobre espaço), é só gravar a última imagem retirando o parâmetro "-multi" do cdrecord. Lembre-se que leitores de CDs não conseguem "enxergar" mais de uma sessão, ou seja, mesmo que o CD tenha 2 sessões ou mais, os leitores só "enxergam" a 1ª sessão, outros nem sequer rodam o CD caso a sessão esteja aberta. Isso já foi um problema, mas hoje, com a popularização dos gravadores de CDs, já não traz mais dores de cabeça.

Gravando imagens BIN/CUE

Além do famoso formato iso, existe o bin/cue. Esse padrão é composto por dois arquivos, o "bin", que é a imagem e o "cue", que é um arquivo que descreve como a imagem "bin" deve ser gravada. O Cdrecod não grava esse tipo de arquivo, por isso usamos o Cdrdao. Para gravar:

# cdrdao write --eject --speed 8 --device 0,0,0 --driver generic-mmc imagem.cue

Bom, não tem nem o que explicar pois os parâmetros são claros. Só uma observação: é necessário que os arquivos (bin e cue) tenham o mesmo nome e estejam no mesmo diretório.

Copiando CDs

Para copiar um CD inteiro em outro CD, deve-se primeiro gerar a imagem usando o comando "dd" e em seguida gravá-la normalmente usando o cdrecord. O comando para gerar a imagem é:

# dd if=/dev/cdrom of=imagem.iso

O comando "dd" não lê corretamente CDs multisessão, por isso use o cdrdao para copiar esse tipo de CD, como é mostrado abaixo.

Copiando CDs especiais

Existem CDs que nos dão uma certa dor de cabeça quando tentamos copiá-los, um exemplo são os CDs de Playstation. Com o Cdrdao podemos contornar isso:

# cdrdao read-cd --read-raw --datafile nome_imagem.bin --device 0,0,0 --driver generic-mmc-raw nome_imagem.toc

O arquivo "toc" tem a mesma função do "cue" e é um padrão adotado pelo Cdrdao. Com esse comando o Cdrdao copiará o conteúdo do CD (pode ser qualquer tipo: áudio, dados simples, multisessão, etc) gerando uma imagem no diretório onde for executado. Para gravar a imagem, use o mesmo comando para gravar imagens bin/cue:

# cdrdao write --eject --speed 8 --device 0,0,0 --driver generic-mmc imagem.toc

DVD

Dados

Usando o mesmo método de gerar imagens com o Mkisofs, mostrado anteriormente, pode-se gravar um DVD de dados, para isso, usamos o Growisofs, programa que faz parte do pacote dvd+rw-tools e que é, na verdade, um front-end para o Mkisofs. Após gerar a imagem, use o comando abaixo para gravá-la num DVD:

# growisofs -dvd-compat -speed=4 -Z /dev/dvd=imagem.iso

Parâmetros:

  • -dvd-compat: Fecha o disco após a gravação
  • -speed: Determina a velocidade da gravação de acordo com a mídia usada e/ou a gravadora de DVDs
  • -Z: Especifica que gravadora será usada apontando o endereço direto do dispositivo, mesmo que ele seja emulado como SCSI, como acontece na série 2.4.x do kernel
  • imagem.iso: A localização da imagem que você gerou para ser gravada.

Montando imagens ISO

Às vezes queremos saber o conteúdo de uma imagem iso antes de gravá-la e achamos que isso não é possível ou então que no ambiente GNU/Linux não temos ferramentas para isso. Na verdade isso é um engano, pois o próprio kernel já tem um módulo que nos permite acessar as imagens ISO 9660 (padrão de um CD-R). O comando deve ser dado como usuário root e é bem simples:

# mount -o loop imagem.iso /mnt/diretório_de_montagem

O "mount" já conhecemos, serve para montar todo tipo de dispositivo, o módulo que citei é o "loop", "imagem.iso" é a imagem propriamente dita e o último parâmetro é o diretório de montagem. Não é regra, mas se convém fazer as montagens em subdiretórios do diretório /mnt, aqui monto imagens iso no /mnt/iso. Às vezes é preciso especificar o sistema de arquivos da imagem, senão não monta, então:

# mount -t iso9660 -o loop imagem.iso /mnt/diretório_de_montagem

O parâmetro "-t" especifica o sistema de arquivos do que se quer montar, seja dispositivo, seja imagem, e "iso9660" é o sistema de arquivos das imagens iso.

Lembre-se de desmontar a imagem após seu uso:

# umount /mnt/diretório_de_montagem



Formatando CDs regraváveis (CD-RW)

Para formatar um CD-RW existem duas formas, uma formatação mais superficial (mínima), que é super rápida, e uma mais profunda, que demora mais de 30min:

Formatação Mínima

# cdrecord dev=0,0,0 blank=fast -eject

Formatação Total

# cdrecord dev=0,0,0 blank=all -eject

Percebe-se facilmente que o parâmetro do cdrecord que formata CDs regraváveis é o "blank".

Links

Autores

Horários baseados na GMT -3. Agora são 16:09.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.