Script para gravar DVD

Publicado por Sérgio Abrantes Junior 03/07/2009

[ Hits: 7.140 ]

Homepage: https://br.linkedin.com/in/sergioabrantes

Download gravar




Este script é do Thobias Salazar Trevisan thobias[at]cos.ufrj.br e eu encontrei na net há um bom tempo.

Tenho utilizado muito ele.

  



Esconder código-fonte

#!/bin/bash
#
# Script para gravar CD de dados e audio
#
# Os programas utilizados por este script sao:
# bash, sed, cdrecord, pacote sh-utils, cut, mkisofs, cdparanoia e mpg123
#
# ***Verifique se voce tem os programas na sua maquina***
#
# PS:  Para configurar o seu gravador, de uma olhada CD-Writing-HOWTO
# URL: http://www.ibiblio.org/pub/Linux/docs/HOWTO/CD-Writing-HOWTO
#
# Autor : Thobias Salazar Trevisan <thobias[at]cos.ufrj.br>
# Site  : http://www.lcp.coppe.ufrj.br/~thobias/scr
#
# Last update: Sex Fev 21 15:01:27 EST 2003
#
#
# Configuracoes:
# dev         = device SCSI do cdrom // use o comando cdrecord -scanbus para descobrir
# speed       = velocidade que serao gravados os CD
# dir_temp    = dir onde sera colocada a imagem iso gerada
# dir_temp_wav= dir onde sero colocados os arquivos .wav quando um CD for ripado
# ripar_cd    = comando para ripar um CD

dev="0,0,0"
speed="2"
dir_temp="/tmp"
dir_temp_wav="/tmp"
ripar_cd="cdparanoia -B"

iso(){
[ -f "$1" -a -r "$1" ] || { echo -e "\nErro: arquivo invalido ou sem \
permissao de leitura\nfile: $1"; exit 1; }
echo -e "\nTamanho do arquivo = $(du -sm $1 | cut -f1)MB"
echo -e "\nContagem regressiva pra iniciar. Se quiser interromper Ctrl+C :)"
for i in `seq 9 0`;do echo -ne "{FONTE}33[D${i}";sleep 1;done
cdrecord -v speed="$speed" dev="$dev" -data -eject "$1"
}

# fiz algumas limpezas na tela para o comando mkisofs, soh que para poder
# utilizar este filtro em sed eh necessario a opcao -u de unbuffered, que
# vem com o sed 3.02.80, como o meu eh 3.02, nao utilizo este filtro. Caso
# sua versao for maior que a requerida, descomente as linhas abaixo, e
# comento o mkisofs atual
dir(){
[ -d "$1" -a -r "$1" ] || { echo -e "\nErro: diretorio invalido ou sem \
permissao de leitura\ndiretorio: $1"; exit 1; }
echo "Tamanho da imagem a ser gerada $(du -sm $1 | cut -f1)MB"
r= ;while [ "$r" != "s" -a "$r" != "n" ];do
read -n 1 -p "Deseja continuar (s/n)? " r;echo;done
[ "$r" = "n" ] && exit
read -p "Nome (label) do CD: " l; [ "$l" ] || l="  "
mkisofs -V "$l" -r -J -o "${dir_temp}/001.iso" "$1"
#mkisofs -V "$l" -r -J -o "${dir_temp}/001.iso" "$1" 2>&1 /dev/stdout |\
#sed -u '/[0-9]%/s/[0-9]%.*$/%/g' |  sed -u '/[0-9]%/{:a;N;s/\n/ /g;/Tot/{s/To/\
#To/;tb;};ta;:b;}'
read -n 1 -p "Precione qualquer tecla para gravar ou Ctrl+C pra sair &)" res
cdrecord -v speed="$speed" dev="$dev" -data -eject "${dir_temp}/001.iso"
}

wav(){
[ -d "$1" -a -r "$1" ] || { echo -e "\nErro: diretorio invalido ou sem \
permissao de leitura\ndiretorio: $1"; exit 1; }; echo;echo
echo "Dica: 750 Mb de arquivos wav equivale mais ou menos a 74 min";echo
echo "Tamanho do diretorio com os arquivos WAV  $(du -sm $1 | cut -f1)MB"
read -n 1 -p "Precione qualquer tecla pra continuar ou Ctrl+C pra sair :P " res
echo "
Track At Once (TAO), faixas são gravadas com uma pausa de 2 segundos entre elas.
Disk  At Once (DAO), faixas são gravadas sem essa pausa"
r= ;while [ "$r" != "dao" -a "$r" != "tao" ];do
read -p "Qual modo voce quer gravar o CD (tao/dao)? " r;done
[ "$r" = "dao" ] && \
(cd "$1";cdrecord -v speed="$speed" dev="$dev" -dao -pad -audio -eject *.wav) ||\
(cd "$1";cdrecord -v speed="$speed" dev="$dev"  -pad -audio -eject *.wav)
}

mp3(){
[ -d "$1" -a -r "$1" ] || { echo -e "\nErro: diretorio invalido ou sem \
permissao de leitura\ndiretorio: $1"; exit 1; }; echo;echo
cd "$1"
for i in *.mp3; do cp "$i" "$(echo "$i" | tr ' ' '_').new"; done
for i in *.mp3.new; do mpg123 -w $(basename "$i" .new).wav "$i"; done
rm -rf *.mp3.new
for i in *.wav; do sox "$i"  -r 44100 "${dir_temp_wav}/$i" ; done
rm -rf *.wav
wav ${dir_temp_wav}
cd "${dir_temp_wav}"; rm -rf *.wav
}

ripar(){
[ -d "$dir_temp_wav" -a -w "$dir_temp_wav" ] || { echo -e "\nErro: diretorio \
invalido ou sem permissao de escrita\ndiretorio: $dir_temp_wav"; exit 1; }
echo;echo;read -n 1 -p "Coloque o CD e precione qualquer tecla pra continuar" res
(cd "$dir_temp_wav"; $($ripar_cd) 2> /dev/stdout || exit 1; )
[ "$?" -eq "1" ] && { echo erro cdparanoia;exit 1; } ;echo -e "\n\n"
r= ;while [ "$r" != "s" -a "$r" != "n" ];do
read -n 1 -p "Deseja gravar CD de audio ripado (s/n)? " r;echo;done
[ "$r" = "n" ] && exit; wav "$dir_temp_wav"
}

caminho(){
read -p "Entre com o caminho.
PATH=" resposta; echo "$resposta"
}

read -n 1 -p "
                    Script para Gravar CD de dados e audio

                1 - Gravar uma imagem iso
                2 - Gravar um diretorio
                3 - Gravar CD de audio (fonte arquivos MP3)
                4 - Gravar CD de audio (fonte arquivos WAV)
                5 - Ripar CD de audio
                6 - Apagar conteudo CD regravavel
                0 - Sair

        Escolha uma opcao: " opcao

case "$opcao"
in
        1 )     echo -e "\n\n"
                iso $(caminho)
                ;;
        2 )     echo -e "\n\n"
                dir $(caminho)
                ;;
        3 )     echo -e "\n\n"
                mp3 $(caminho)
                ;;
        4 )     echo -e "\n\n"
                wav $(caminho)
                ;;
        5 )     ripar
                ;;
        6 )     echo -e "\n\n"
                cdrecord -v blank=fast dev="$dev"
                ;;
        0 )     echo;exit
                ;;
        * )
                echo -e "\nErro: Opcao Invalida\a"
                ;;
esac

Scripts recomendados

Script - monitorando servidor

Script para criação de usuarios.

Antivírus no Linux para usuários de domínio

Administração servidor WEB com Dialog

Gerando lista de arquivos mp3 do disco em arquivo de formato HTML


  

Comentários
[1] Comentário enviado por m4iir1c10 em 03/07/2009 - 22:22h

Sergio, valeu pelo script!
E bem interessante so que oque quebrou foi o titulo que voce deu ao script...
o titulo deveria ser "script para gravar cd" e nao dvd, fora isso voce esta perdoado :)

[2] Comentário enviado por pelo em 04/07/2009 - 12:57h

m4iir1c10 ,

Ele grava DVD também. O título não era esse. Foi alterado pelo moderador 0_O.
Mesmo assim obrigado pelo comentário.

Sérgio Abrantes
[]'s


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts