Blog Nerd do Liquuid

CURD - Conversor Universal do Reino de Deus



Uma coleção de scripts, escritos em Python e Shell script, para conversão de arquivos de mídia de um jeito menos complicado.

A idéia é estruturar uma coleção de funções de modo que o uso de programas como ffmpeg, mencoder e convert seja simples mesmo a partir da linha de comando. Outra idéia é criar uma caixa de conversão, onde os arquivos a serem convertidos sejam arrastados para uma janela e convertidos por ordem de chegada, usando (se disponível) processamento paralelo de outros máquinas rodando o curd em sua rede local (ou não).

Para que o processamento paralelo seja possível será necessário a criação de um daemon, cujo o algorítmo será discutido ao longo do tempo.

Já tem uma versão alpha pra download,pra baixar :

cvs -d:pserver:anonymous@cvs.curd.berlios.de:/cvsroot/curd login
cvs -z3 -d:pserver:anonymous@cvs.curd.berlios.de:/cvsroot/curd co curd

Também tem uma lista de discussão e um site tipo forge :

http://curd.berlios.de http://groups.google.com/group/curd/


0 comentários

TAGS : conversor convert curd cvs daemon ffmpeg mencoder paralelo processamento python script shell

Funções no bash



Funções no bash são uma verdadeira mão na roda, vc pode automatizar uma porção de comandos longos e repetitivos. O Aurélio (verde) e o Tobias (http://thobias.org/) criaram uma biblioteca de funções úteis como consultar cotação de moedas, pronuncia de palavras em inglês etc...Seu nome é .
Criar uma função no bash é muito simples, abra seu editor favorito e digite :

function digaoi()
{
       echo 'filma eu galvão !!!';
}

Para carregar sua função no shell atual digite :

source arquivo.func
Onde arquivo.func é o nome do arquivo onde vc digitou os comandos :)
Pode conferir, agora no seu shell existe o comando digaoi, experimente executa-lo. Como vc percebeu ele imprime na tela a frase "filma eu galvão!!!"

Agora vamos tentar um comandinho mais útil, eu particularmente adoro animes, e muitas vezes estes vem encodados com codecs pesados demais para máquinas humildes então frequentemente eu converto um vídeo ou outro para um formato mais leve. Resumidamente (a original é 3 vezes maior ) a linha de comando que eu uso é :

mencoder -o arquivosaida.avi  -oac mp3lame   -ovc lavc -lavcopts bitrate=2000 arquivodeentrada.mkv

E teve um dia que eu me embananei e sobescrevi o arquivo original, tive que baixar o desenho de novo ..... Pra evitar problemas criei a seguinte função :

function ..pramaquinavelha () {
mencoder -o $1.avi  -oac mp3lame   -ovc lavc -lavcopts bitrate=2000 $1
}

O nome da função é "..pramaquinavelha", ela chama o mencoder com os parametros que eu quero, por exemplo:

..pramaquinavelha ghost-in-the-shell-01.mkv

E como saída ele gera o arquivo "ghost-in-the-shell-01.mkv.avi".
Como vc observou, eu passei um parâmetro para a função, para isso basta usar a variável $1, seu valor é a primeira string passada logo após o comando principal, no meu caso, o nome do arquivo que eu queria converter, ghost-in-the-shell-01.mkv.
"Mas porquê $1 ?Não poderia ser outro número ?" você pergunta. Sim ! Os números vão de 0 até infinito (nem tanto), vc pode passar multiplos parâmetros para uma função, como por exemplo o bitrate do vídeo além do nome do arquivo.A variável $0 é o próprio comando, e os parâmetros são numerados de $1 até $N, exemplo:

comando parametro1 parametro2 ... parametroN
$0        $1        $2            $N

Um outro tipo de função que eu uso bastante é um script que lista as dependêncas de um binário e quais pacotes suprem essas depências, segue a listagem :

..showdeps (){
[ "$1" ] || { echo 'uso: ..showdeps arquivo_binário'; return; }
rpm -qf `ldd $1 | awk '{print$3}'` | sort | uniq
}

Nesse exemplo alé da variável de argumento ($1), também fiz uso do comando de testes "[" e "]" e de um operador lógico "ou" ("||"). As chaves testam se algum parâmetro foi passado e caso positivo prossegue com a função, se não imprime uma mensagem ensinando ao usuário como usar a dita função. O resto da função é pauta para outro post, o que vale dessa vez é a idéia, funções são poderosas, implemente as suas, e divida com os amigos :)

Para ter suas funções favoritas sempre carregadas no shell, adciona a linha "source arquivo.func" à configuração do seu shell, por exemplo ~/.bashrc.

Depois falo mais de shell e seus truques.


0 comentários

TAGS : bash mencoder shell

Novas idéias rolando



Com o fim da minha crise nerd, período onde eu passei a não ter mais a mínima vontade de ser incluído digitalmente ... Todo esse papo de software livre e um monte de coisas que eu eu sempre preguei deixaram de fazer sentido, então passei os últimos 8 meses tentando ver o sentido dessa coisa toda. No fim, continuo não vendo uma boa razão pra continuar pregando por ai... meu momento é outro e é dele que quero falar nesse singelo post.

No meio dessa confusão toda , aprendi a gostar do mac, virei mac maníaco e tudo e por mais que o mac não tenha me ajudado a sair da crise pelo menos ele me garantiu mais noites bem dormidas, noites essas que eu custumava a passar compilando kernel e otimizando o xorg.... Bom isso não era vida. Mas essa passagem pelo mundo mac foi positivo... eu aprendi que a vida não precisa ser complicada, e que o SL só vai pra frente se alguém empurrar.

Tenho algumas idéias de programas que facilitariam a minha vida e a do povão:

  • Um clone do visualhub (front end pro ffmpeg e mencoder)
  • Extenção de rádio-online para o firefox
  • Programa clone do EJay
  • Um plugin Kio-slave para o KDE navegar nativamente por acervos livres do mundo
  • Gerenciador de arquivos via Tag
Eu me sinto revigorado e disposto pra tocar algumas dessas coisas pra frente, começando pelo conversor de vídeos universal. Toda essa brincadeira demanda pesquisa, e essa vai ser a nova função desse blog nos próximos meses.

O podcast vai voltar em breve, e não estarei sozinho, see ya.


1 comentários

TAGS : crise curd ejay ffmpeg firefox kde livre mac mencoder nerd podcast software visualhub xorg

Posts relacionados

Delicious/liquuid/mencoder
The Smorgasbord | Converting video in linux using ffmpeg and mencoder
liquuid's post :: CURD - Conversor Universal do Reino de Deus
liquuid's post :: Funções no bash
liquuid's post :: Novas idéias rolando
Blog do BooT