Converter Wav para MP3 usando Lame e PPSS para multi processamento via shell script - Asterisk
Publicado por Magno BRasil (última atualização em 13/11/2016)
[ Hits: 4.692 ]
Homepage: www.magnobr.info
Esse script é utilizado para conversão dos arquivos WAV em MP3, de forma automática pelo sistema ou parâmetros do usuário.
O script irá verificar se o Lame está instalado e o PPSS, caso não estejam ele instalara.
Esse script irá converter todas as ligações realizadas no dia anterior para o formato mp3 e excluindo as no formato wav, economizando espaço em disco.
OBS.: para utilizar o script de forma manual comentar as linhas 43,44,46 e inserir os dados nas linhas 53 e 56 e descomentar.
Comentários e sugestões para melhorar o script serão sempre bem vindos.
Agradeço ao Eduardo Rebelo Lopes pelo script criado em 10/01/2013 que pode ser acessado no endereço -
https://www.vivaolinux.com.br/artigo/Processamento-Paralelo-em-Shell-Script-Conversao-de-Arquivos-WA...
#!/bin/bash ###################################################################### # #convert_wav_mp3.sh - Script para converter arquivos WAV em MP3 # # #Autor - Magno Brasil - magno@magnobr.info #Criação - 11/10/2016 - v.1.0 # #---------------------------------------------------------------------- # #Esse programa é utilizado para conversão dos arquivos WAV em MP3, #utilizando parametros do sistema ou parametros do usuario. # #Esse script deve ser executado 00:01 e irá converter todas as ligações realizadas #no dia anterior # #OBS - Para utilizar o script de forma manual comentar as linhas 43,,44,46 #e inserir os dados nas linhas 53 e 56 e descomenta-las. # # # #Agradeço ao Eduardo Rebelo Lopes pelo script criado em 10/01/2013 #que pode ser acessado no endereço - # #https://www.vivaolinux.com.br/artigo/Processamento-Paralelo-em-Shell-Script-Conversao-de-Arquivos-WAV-para-MP3/ # ######################################################################## datainicial=`date +%s` ######### Verificicando se o LAME já está instalado lame_instalado=`whereis lame`; if [ "$lame_instalado" != "lame:" ]; then echo -e "PPSS já instalado !!!\n\n" else echo -e "Instalando o PPSS !!!\n\n" wget wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ppss/ppss-2.97.tgz rpm -ivh lame-3.98.4-1.el6.rf.x86_64.rpm rm -f lame-3.98.4-1.el6.rf.x86_64.rpm echo -e "LAME instalado com sucesso!!!\n\n" fi ######### Verificicando se o PPSS já está instalado ppss_instalado=`whereis ppss`; if [ "$ppss_instalado" != "ppss:" ]; then echo -e "PPSS já instalado !!!\n\n" else echo -e "Instalando o LAME !!!\n\n" wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/lame-3.98.4-1.el6.rf.x86_64.rpm tar xvzf ppss-2.50.tgz -C /usr/local/bin chown root:root /usr/local/bin/ppss && chmod a+rx /usr/local/bin/ppss echo -e "PPSS instalado com sucesso!!!\n\n" fi ############################################################ #diretorio raiz das gravações diretorio_raiz=/var/spool/asterisk/monitor #Para executar as conversões de forma manual #comente as linhas abaixo e coloque a data #nos campos descritos ############################################################ #Para executar de formar automatica, não comentar dia_atual=`date +"%d"`; mes_ano_atual=`date +"%m-%Y"`; let dia_atual=$dia_atual-1; #comando para a data do dia anterior ################################################################## ################################################################## #Para executar de forma manual, descomentar e setar as datas abaixo #Colocar o dia_atual no formato 1-31 sem o zero inicial #dia_atual=3 #Colocar o mes_ano_atual no formato mm-YYYY, não esquecer o - #mes_ano_atual=10-2016 ################################################################## data_atual=$dia_atual-$mes_ano_atual diretorio_final=$diretorio_raiz/$mes_ano_atual/$data_atual cd $diretorio_final tamanho_diretorio=`du -hs .` #Criando lista com os arquivos .wav ls | grep wav > /tmp/lista_arq.txt path_arquivo=$mes_ano_atual/$data_atual/ contador=`ls | wc | cut -d " " -f3-7`; ###################################################################################### echo -e "#Total de arquivos a serem convertidos $contador\n\n" >> /tmp/lista_arq.txt echo -e "############################################################\n" echo -e "Iniciando Conversão de $contador Arquivos ----- \n\n" echo -e "############################################################\n" cd /usr/local/bin #Comando para realizar a conversão dos arquivos - O LAME deve estar instalado. #O PPSS também deve estar instalado pra multi processamento ./ppss -d $diretorio_final -c 'BASENAME=`basename "$ITEM" .wav`; lame --quiet --preset insane "$ITEM" "$OUTPUT_DIR/$BASENAME.mp3"' -o $diretorio_final cd $diretorio_final echo -e "############################################################\n" echo -e "Conversões realizadas com sucesso $contador --------- \n\n" echo -e "############################################################\n" ###################################################################################### echo -e "############################################################\n" echo -e "Removendo arquivos wav --------- \n\n" echo -e "############################################################\n" rm -f *.wav; ###################################################################################### tamanho_diretorio_atual=`du -hs .`; mv /tmp/lista_arq.txt $diretorio_final/bkp mv /tmp/atualiza.sql $diretorio_final/bkp mv /tmp/roolback.sql $diretorio_final/bkp mv /tmp/script_roolback.sh $diretorio_final/bkp ####################################################################################### ################## # As linhas abaixo são para pegar os arquivos de log do PPSS e colocar na pasta da conversão mkdir $diretorio_final/logs mv /usr/local/bin/ppss_dir/* $diretorio_final/logs ########################################################################## echo "####################################################################" echo "####################################################################" echo "## ##" echo "## ##" echo "## TODAS AS CONVERSÕES FORAM REALIZADAS COM SUCESSO!!! ##" echo "## ##" echo "## O ESPAÇO UTILIZADO ERA DE $tamanho_diretorio" echo "## O ESPAÇO DO DIRETORIO ATUAL E DE $tamanho_diretorio_atual" echo "## FORAM CONVERTIDOS $contador ARQUIVOS ##" echo "## ##" echo "## ##" echo "####################################################################" datafinal=`date +%s` soma=`expr $datafinal - $datainicial` resultado=`expr 10800 + $soma` tempo=`date -d @$resultado +%H:%M:%S` echo " Tempo gasto: $tempo "
procurar palavras dentro de todos os ficheiros de sub directorias
Backup individual de contas no ZIMBRA MAIL
Alterando resolução de monitor externo
Agenda desenvolvida em Shell Script
Nenhum comentário foi encontrado.
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
O que você está ouvindo agora? [2] (175)
Copiar Layout do Teclado para aplicar em outra Distribuição (10)
Autenticação necessária. um aplicativo quer acesso ao chaveiro (2)