Juntando legenda com filme no Linux

8 03 2008

Se tem uma coisa que é uma mão na roda, é o rmvb legendado!!
Maravilha!
Melhor do que isso, só existisse um dvd player que lesse rmvb. Existe? Eu googleei por aqui e nada.
Mas, os dvd que lêem divx já quebram muito o galho.

Pois bem, pra converter de rmvb pra divx eu uso o Any Video Converter que é o melhor que eu encontrei. Dá pra enfileirar os arquivos pra serem convertidos e etc. Enfim, é uma beleza!
Só tem um problema: demora demais…

Mas e quando não temos o rmvb legendado e somente o avi (divx ou xvid) e as legendas em srt?
Dá pra fazer no virtual dub e no linux
No virtual dub é um pouco enjoado porque demora muito e precisa de programas terceiros pra fazer. Primeiro converte-se a legenda srt pra ssa e depois junta no virtual dub com a ajuda de um plugin que não vem por default.

Bom, pra encurtar conversa, pra juntar legenda e vídeo em um arquivo e poder assistir garotonamente no dvd é só seguir os passos daqui. Procure por divx e seja feliz

Beleza, mas e se vc tiver milhoes de arquivos e milhões de legendas pra juntar? Vai fazer de um por um, seu zero-um? Não, não vai. Eu fiz um script pra isso. Inicialmente, eu só ia colocar todos os comandos dentro do arquivo, mas aí me deu uma preguiça de fazer isso 12 vezes (pegar os nome do arquivos e colar e colocar um nome diferente pra saída). Pois bem, o script é o seguinte

for arq in *.avi
do
nome=`basename $arq .avi`
mencoder $arq -sub $nome.srt -subpos 95 -oac mp3lame -lameopts cbr:br=64 -ovc lavc -lavcopts vcodec=msmpeg4:vbitrate=967 -o $nome-legendado.avi
done

Ridículo de simples!
Para cada arquivo avi, é setada a variável nome que contém o nome do arquivo sem extensão. Daí, é graça. O nome do arquivo de saída é o nome do arquivo original sucedido de -legendado.avi. Simples assim.
Ah sim, os arquivos de vídeo e de legenda devem possuir exatamente o mesmo nome, diferindo apenas na extensão. Pra fazer isso, vc pode usar outro script que eu já postei aqui.





Avalanche

22 02 2008

Bom, o paidegua foi citado no meiobit.com. Eu fiquei feliz porque foi citado num site que muita gente lê e trouxe muita gente pra cá e comentários interessantes tb!

O crescimento de visitas foi exponencial, até agora já tem mais de 400 só no dia de hoje (22.02). Claro que antes eu nunca tinha visto isso e talvez nunca veria. Mas eu vi…hehe

O susto começou quando eu abri o email, tinha uns 6 avisos de comentários (o que não é nem um pouco comum) daí eu li em um deles que tinham me refenreciado no meiobit. Quase infartei! Quando eu fui ver as estastíticas lá estava o crescimento hiper-mega exponencial! Quase 300 visualizações em um único post e mais tantas outras nos demais.

Lá no meiobit tem trocentos comentários tanto de pessoas mais centradas que viram que não adianta ficar nessa guerra santa de Linux vs Windows e tinha um ou outro dos xiitas que eu, digamos, ‘denunciei’. Os add-ons que o luctimm fez foram bem legais e foi exatamente o que eu queria que as pessoas entendessem.

É muito legal ver uma coisa que saiu da minha cabeça sair andando por aí. :D





O erro do software livre

21 02 2008

Eu sou usuário de linux desde 2003 por uma certa imposição: os laboratórios do departamento só têm linux. No começo é esquisito, apesar de, graficamente, ser parecido com o windows, o linux tem diferenças substanciais. O escalonador é O(1) e isso é fantástico! O bicho não tem um loop!!!

Se eu não tivesse feito ciência da computação, eu, provavelmente, jamais teria entrado em contato com linux. Hoje, eu uso linux porque eu realmente gosto. O windows pra mim não combina com trabalho. Eu não consigo fazer nada que se aproveite no windows. Windows é sinônimo de diversão, jogos e outras coisas.

Com o linux é possível se divertir, no entanto, é uma diversão puritana, por assim dizer. Os jogos pra linux ainda são muito amadores, apesar de que hoje em dia já termos coisas boas até, mas mesmo assim é amador. O linux é lotado de joguinhos tipo puzzle que são muito legais. Eu sou viciado em “cinco ou mais”, por exemplo.

Bash é uma paixão pra mim. Quanto mais eu uso, mais eu me apaixono. O sed é um comando foda.

Mas esse não é exatamente o objetivo do post.

O que eu quero dizer é que o windows (ainda) é indispensável e há de ser por muito tempo. Por mais que o GIMP amadureça espantosamente a cada versão, ainda falta muito pra competir de verdade com o photoshop, por exemplo. E exemplos não faltam: corel draw, auto cad e etc. A recíproca também é verdadeira: tem muito software livre que bota qualquer software pago no chinelo. Eu tô pra ver um player de música melhor que o Amarok e um player de vídeo melhor que o vlc. O amarok infelizmente não tem pra windows. O vlc nunca me deixou na mão, sempre abriu todos os formatos imagináveis.

O que acontece é que o tal “movimento de SL” é composto de pessoas muito chatas. Muito chatas! De xiitas que ficam demonizando a microsoft e os softwares pagos. Ficam com frases do tipo: “eu sou livre, seja livre vc tb”, “consegui usar o windows por 3 minutos sem travar rsrsrsrs” e essas coisas.

O que eu vejo é que essas pessoas só tem experiência acadêmica. No mercado é diferente, os caras estão cagando se um software é pago ou é de graça e de código aberto: eles só querem que funcione e ponto. Eles não ligam se uma licença do windows custa 500 reais: eles compram licenças pra 1000 máquinas de uma vez só!!!. E eles pagam por um único motivo: querendo vc, ou não, o windows, apesar de todos os percalços, é uma solução “mais pronta” que o linux. É só instalar o sistema, um anti-virus, o messenger, o office e pronto! O que mais uma secretária ou vendedor precisa pra trabalhar? Eu falo isso porque eu vi de perto e ficava estarrecido vendo uma empresa adquirir centenas de licenças de anti-vírus…

Apesar de o ubuntu ser um sistema fantástico, ainda tem coisa que um usuário comum não consegue fazer. E aí é que está o ponto: o usuário comum não quer fazer. existem exceções, é claro.

O que eu quero dizer é que não adianta forçar a migração pro linux. Não adianta vender computador com linux nas casas bahia: quem comprar, vai formatar e colocar o windows copirated. Esses militantes xiitas do SL acabam atrapalhando em vez de ajudar. O richard stallman é um que só atrapalha. Quem dá bola pra ele? Um cara que cobra pra tirar uma foto?

ps: O post acabou ficando muito extenso e nebuloso e eu não me fiz entender muito bem.





Scripts para gerenciamento em massa de arquivos

19 12 2007

Post nerd.

Resolvi divulgar uns shell scripts pra gerenciamento em massa de arquivos (mp3) que eu fiz.
Eu perco horas ajeitando tags e nome dos arquivos. eu tenho um padrão pra isso, o meu padrão é numero-banda-titulo.mp3, todos esses nomes sem espaço. Quando o nome da banda tem mais de uma palavra, eu adoto o java style, a primeira letra da outra palavra fica maiúscula e se junta com o final da outra, .e.g.: iron maiden vira ironMaiden. Pro nome da música eu substituo os espaços por ‘_’. Os scripts são baseados nessas convenções.

A base dos scripts são comandos clássicos e maravilhosos: sed e tr.
Pra mexer com os arquivos mp3, eu uso o comando id3ren que foi o que mais amigável que eu encontrei.
Os scripts são GPL, você pode fazer o que quiser, só peço pra quem pegar deixar um comentário aí. Só pra saber se alguém pegou.

Ah sim, os arquivos não são amarrados a arquivos mp3.

- O primeiro script (esse não é meu) remove um padrão de um nome de arquivo.
Exemplo: vc tem 100 fotos e gostaria de remover o prefixo DSC para colocar viagem-passárgada, simples assim:

./removePadrao jpg DSC viagem-passargada-

Script:
#!/bin/bash

criterio=$1
antigo=$2
novo=$3

if [ $# -lt 3 ] ; then
echo “modo de usar: renomeia [criterio] [texto_a_ser_substituido] [texto_substituto]“
exit 0
fi

for arq in *$criterio*
do
mv “$arq” “$(echo $arq | sed “s/$antigo/$novo/”)”
done

- Quando vc pega mp3 cujos arquivos tem nome do tipo track01.mp3 mas as id3tags estão normais vc pode usar esse script pra pegar a tag do número da faixa e colocar no arquivo, e.g.:
track01.mp3 vira 01-track01.mp3

#!/bin/bash

for arq in *.mp3
do
numfaixa=”$(id3ren -showtag $arq | grep -i track |  sed ’s/\ \ \ \ Track: //’)”
mv “$arq” “$numfaixa-$arq”
done

- o terceiro script faz a mesma coisa que o segundo só que com relação ao nome da faixa, ou seja, pega o nome da faixa da id3tag e coloca no arquivo. Há duas versões, na primeira, eu pego um padrão pra renomear o arquivo, na segunda, o script faz isso ’sozinho’

v1:
#!/bin/bash

if [ $# -ne 1 ]
then
echo “usage: mudaNomeFaixaFromTagName.sh [padrao]“
exit 0
fi

antigo=”$1″

for arq in *
do
titulo=”$(id3ren -showtag $arq | grep -i song |  sed ’s/Song Name: //’ | tr ‘ ‘ ‘_’)”
mv “$arq” “$(echo $arq | sed “s/$antigo/$antigo$titulo/”)”
done

v2:
#!/bin/bash

for arq in *
do
tag=”$(id3ren -showtag $arq | grep -i song | sed ’s/Song Name: //’ | tr [:upper:] [:lower:])”
tag=”$(echo $tag | tr ‘ ‘ ‘_’)”
inicio=”$(basename $arq .mp3)”
echo $inicio$tag.mp3
mv “$arq” “$inicio$tag.mp3″
done

- O quarto script faz o contrário, pega o nome da faixa do arquivo mp3 e coloca na id3tag, mas atenção: ele segue o meu padrão supracitado. Aqui eu uso o comando eyeD3. Eu também uso um padrão que é pra saber onde termina o nome da banda e começa o nome da música, logo, o padrão é esse: o nome da banda

#!/bin/bash

if [ $# -lt 1 ] ; then
echo “modo de usar: $0 [padrao a ser substituido]“
exit 0
fi

padrao=$1

for arq in *.mp3;
do
titulo=$(echo “$arq” | sed ’s/[0-9][0-9]-$padrao-//’ | sed ’s/.mp3//’ | tr _ ‘ ‘);
echo $titulo;
eyeD3 -t “$titulo” “$arq”;
done

Basicamente, é isso. Eu tinha planos de fazer um super script que fizesse tudo isso de uma vez só, mas ai outras coisas mais importantes surgem, a preguiça domina, aí já viu…
Claro que tem muita coisa pra ser melhorada e tals, mas tá aí. Espero que sirva pra alguém

Em tempo, o melhor player do mundo é o Amarok!!