E eu lá sei editar vídeo?

Como sempre, tudo começa com a lilica!

O adestrador da Lilica me pediu se eu não conseguia editar uns vídeos pra ele colocar no site dele. Mas dessa vez ele não queria "o de sempre", mas algo mais sofisticado. Uns detalhezinhos a mais... É que andaram "roubando" [1] uns vídeos e fotos dele, editando pra retirar onde ele aparecia e usando na divulgação de outros adestradores. Ele queria então uma coisa simples: Colocar o nome dele no vídeo!

Err... pode até ser simples pra alguém com um mac ou com um 3d studio da vida... Mas no meu Ubuntu veio de guerra? Putz, tou lascado!

Bom, fui caminhando pelas pedras onde ja tinha trilhado... Comecei com o Avidemux, velho conhecido! Mas aí notei uma coisa, que não tinha notado da última vez: ele corta o final do áudio!!! sério, pergo uns 3 frames do áudio! Num vídeo sozinho, beleza, o final não serve pra nada mesmo. Mas quando faço edição e junto os vídeos, aí de mim. Fica tudo sambado, faltando pedaço.

Mas tudo tem solução... Eu me rendi à linha de comando, com o:

ffmpeg

Na verdade, tudo começa ANTES do ffmpeg :). Começa com o cat 🙂 sério! Descobri que juntar vídeos no formato AVI é a coisa mais ridícula do mundo! Basta um:

$ cat video1.avi video2.avi > video_nosync.avi

Err... Mas nem tanto né? tinha de ter um porem! Quando a gente faz isso, os players so reconhecem (e só tocam) o primeiro vídeo. Os outros ficam perdidos no arquivão. Então, seus problemas se acabaram-se, basta usar o super-ultra-power-legalzinho...

mencoder

Que nada mais é que o mplayer rodado na linha de comando. Ele sabe como re-indexar os AVIs pra que a emenda funcione melhor que o soneto 😉 basta um:

$ mencoder -forceidx -ovc copy -oac copy video_nosync.avi -o video_sync.avi

e seu video agora está magicamente unido e com os indices ressincronizados[2].

Aí, nesse ponto, eu voltava pro avidemux, inseria uma legenda gambiarrada (criava um arquivo SRT com uma única entrada que durava mais que o tempo do vídeo e manda inserir legenda). CLARO que o som sambava, então eu usava o ffmpeg pra reinserir o som do arquivo original, enfim uma gambiarra só. Além do que, ficava muito ruinzinho, aquela "legenda" com o nome do adestrador.

Mas é claro que tinha jeito melhor! Descobri que o ffmpeg pode usar umas bibliotecas chamadas vhook, e uma delas se chama magicamente:

watermark.so

Simmmmm!!! Marca d'água!!! E la vamos nós descobrir como usar!

Procura de lá, procura de cá! No final a única documentação que descobri foi, pasmem, os comentários do próprio código fonte (ê maldito mundo open source que abriga pessoais tais!). Enfim, descobri o que queria: Basta manter o fundo num tom de cinza assim:           [3]. Aí, o que for mais escuro que isso, ele "escurece" no vídeo, e o que for mais claro, ele clareia[4].

De posse das informações, lancei mão do querido e amado...

Gimp

Sim, o photoshop dos pobres e oprimidos, do governo Lulla e de quem mais for comunista, hippie sujo ou coisa que o valha! Pois então. Fui logo fazendo firula e inventando moda: Uma marca d'água em 3D ia ficar supimpa[5]. Pois então lancei mão de TODOS meus conhecimentos de Gimp! Mas foi fácil:

Primeiro, criei uma nova imagem do tamanh odo meu vídeo (640x480, no caso). Usando o baldinho de tinta derramado, pintei o fundo com o cinza #808080 lá de cima. Depois criei uma camada de texto (basta clicar na letrinha "A" na barra de ferramentas), e fui ajustando o tamanh oda fonte até ocupar bem a tela. Ajustei a posição do texto na tela (tem uma ferramentinha bacana ali na barrinha também que centraliza tudo pra nois, chamada Alignment tool, cujo qual o ícone é um quadradim com umas setas saindo em todas as direções.

Pode fazer a besteira que quiser com as letrinhas, A única coisa muito, mas muito importante, é de colorir elas de cinza! E adivinha qual??? O famoso cinza #808080 ;).

Agora sim, vamos no menu de "Filters", depois em "Distorts" e por fim "Emboss". Esse carinha é que vai dar o nosso efeito 3D. Ajuste seu "Emboss" a vontade. Eu pessoalmente usei os valores:

Azimuth 30.00
Elevation 40.00
Depth 3

Depois, pra dar um jeitinho de ficar mais transparente, eu ajusto o brilho e o contraste das letras, no menu Colors. No meu caso, eu usei um brilho de 50 e um contraste de -40. O lance é simples: quanto menor o contraste, mais transparente, e quanto maior o brilho, melhor aparecem as letras quando a cena do vídeo fica escura. Se quiser, dê uma brincada com os valores e escolha os que forem melhores pro seu vídeo.

Salve seu arquivo como GIF e parta pra usr, finalmente, o

ffmpeg

O lance todo é que eu ralei pra aprender a usar esse bicho, lendo man, vendo exemplos na internet etc e tal! E ficou até fácil: De posse do vídeo completo

video.avi

e do gif da marca d'água

logo.gif

, basta um simples comando:

$ ffmpeg -i video.avi -vhook '/usr/lib/vhook/watermark.so -f logo.gif' video_final.avi

Opa! Perai caceta!

Esse vídeo aí vai ficar comprimido com os valores "default" e vai ficar ruim pra cacete. Vamos melhorar essa situação. Eu gosto de alterar o fator de qualidade dele, e forçar o uso de mpeg4 (Divx, para os íntimos). Além disso, gosto do meu som em mp2 (o ffmpeg não comprime em mp3, pelo menos não no meu ubuntu) e com 128kbps. Então eu tasco logo assim:

$ ffmpeg -i video.avi -vhook '/usr/lib/vhook/watermark.so -f logo.gif' 
         -vcodec mpeg4 -qmax 6 -acodec mp2 -ab 128 video_final.avi

Cara, isso tá quase perfeito! Só falta uma coisinha atoa pra ficar demais:

Trilha Sonora

Atenção:

Muito cuidado com a trilha sonora pois invariavelmente ela estará protegida por direitos autorais.

Isso mesmo! Cuidado com a trilha! Para uso pessoal, não comercial, a lei permite que você copie pequenos trechos de uma obra (e isso inclui a música, assim como qualquer coisa!), mas para uso comercial ou trechos grandes são proibidíssimos de serem copiados.

Trocando em miúdos: copiar 30 segundos de uma música para incluir no vídeo do batizado do seu filho pode! Copiar a música inteira num vídeo que será vendido, não pode NEM FODENO[6]! Qualquer coisa entre um e outro, use o bom senso. Se a música tem só 30 segundos, aí não rola de copiar 29 segundos dela, né?

Enfim, de posse do seu bom senso ou do telefone do seu advogado, escolha a música a ser usada. Eu vou escolher uma música que seja livre ou em domínio público, pra não me dar mal nesse exemplo 😉

Hum.. achei no domínio público umas músicas em domínio público (duh!). Vou usar uma clássica que vocês logo vão reconhecer 😉 E como está em domínio público eu nem mesmo preciso dizer quem é o autor, olha que maravilha 🙂[7]

Então de posse da música, só o que preciso é mixá-la com o som original. Pra isso eu uso o audacity, que é um editor de audio muito do bão :). Mas antes, claro, extrair a trilha de audio do nosso vídeo original. Pra isso, claro, ffmpeg to the rescue:

$ ffmpeg -i video_final.avi -vn -acodec copy saida.mp2

Agora a gente abre os dois audios com o audacity (ele tem interface gráfica, viu? Abrir significa tão somente ir no menu "File" e dar "Open"), mixe os dois sons[8] e salve num novo arquivo! A idéia é copiar da trilha sonora um trecho com o tamanho exato do audio original do vídeo. Eu gosto de dar um ganho de -10dB[9] para o audio original, assim a trilha sobressai sem esconder todo o som. Algumas coisas que podem ser necessárias: reduzir o numero de canais (de estéreo pra mono), alterar o "sample rate" dos dois audios para ficarem iguais (use 48000 ou 44100 que são valores "padrão") e por fim mixar mesmo!

Depois de devidamente mixada (e com o tamanho certo do video), basta trocar a trilha de audio do video original:

$ ffmpeg -i audio_com_trilha.mp3 -i video_final.avi -acodec copy -vcodec copy video_com_trilha.avi

E com isso podemos...

Juntar tudo

e fazer mais um belíssimo vídeo da Lilica. O vídeo vocês já conhecem, do youtube (e quem não conhece ainda vai conhecer), mas agora ele vai ser garibado com marca d'água e trilha sonora! Então vamos lá:

Primeira coisa que fiz foi preparar minha marca d'água. É essa daqui ó:

marca d'água

marca d'água

Depois, juntar os vídeos... Ops... esqueci! Os vídeos estão em MPG e preciso passar eles pra avi antes de juntar... Então vamos lá:

$ for file in *.MPG; do ffmpeg -i $file -acodec copy -vcodec copy -f avi ${file%.*}.avi; done

Aí sim posso juntá-los:

$ cat MOV0036*.avi > tmp_unsync.avi
$ mencoder -forceidx -ovc copy -oac copy tmp_unsync.avi -o tmp_sync.avi

Preparar a trilha sonora é à parte, então vamos extrair o audio:

$ ffmpeg -i tmp_sync.avi -acodec copy -f wav audio_orig.wav

que depois de editado no audacity virou

audio_final.wav

.

E fazer a grande cartada que é juntar tudo (som, vídeo e marca d'água) de uma vez só:

$ ffmpeg -i audio_final.wav -i tmp_sync.avi 
         -vhook '/usr/lib/vhook/watermark.so -f watermark.gif' 
         -vcodec mpeg4 -qmax 6 -acodec mp2 video_final.avi

Et voilá! O resultado final, aqui no youtube (ou disponível pra download no meu site http://www.girino.org/tutorial_video):

Resultado final, que tal?

Notas

  1. ? Na verdade o termo correto seria violação de propriedade intelectual e do direito de imagem, mas vá lá.. se Até a RIAA fala que é roubo, porque eu não posso 😉
  2. ? Seja lá o que isso for...
  3. ? Pra quem não sacou é a cor #808080, em código de cores do HTML. Ou seja, intensidade 128 em todos os bytes de cor RGB. Mais mastigadinh oque isso eu nem sei explicar!
  4. ? Em termos mais técnicos ele soma os valores dos pixels (Ou será que o plural de píxel é píxeis? Vai saber...) em cada frame com a diferença entre o pixel correspondente da imagem e o valor RGB 0x808080
  5. ? eita gíria véia...
  6. ? segundo o adestrador isso é gíria de mineiro...
  7. ? No domínio público essa música está em formato midi e eu usei o timidity pra transformá-la em um formato que o ffmpeg reconheça...
  8. ? Vou ficar devendo essa, fica pra outra aulinha!
  9. ? na verdade uma atenuação, mas vá lá...

--girino 23:14, 24 Janeiro 2008 (BRST)

Wordlists, hackintosh e coisas diversas...

Terminei o ano de 2007 com 400 a 500 acessos diários. Comecei 2008 com cerca de 50. Motivo? Exclui minhas wordlists do google usando o robots.txt[1] e as ferramentas do google para webmasters.

Alguém poderia argumentar que mais hits são melhores pra mim, mas meu site "vive" de propaganda e o download direto de um arquivo não traz nenhum lucro, e gasta minha banda. E minha motivação pra ter o site não é econômica ("lucrei" apenas uns 50 reais nesses 9 meses de site), é prática: tenho controle total sobre meu site pessoal, posso fazer dele o que bem entender. Poderia ter um blog aqui, um fotolog acolá, uma wiki sei-la onde. Mas não quero, quero controle das minhas coisas, dá licença?

Quando a gente põe alguma coisa na web, um blog, fotos, etc, a gente quer é reconhecimento. E as wordlists não tem nem mesmo uma referência ao meu nome, meu site, nada! Procuravam no google, baixavam a wordlist, e nem descobriam que eu existia.

Em resumo, eu gastava banda e não ganhava nada em troca. Tirei do google, tenho menos acesso, mas pelo menos as buscas no google que retornam meu site ficaram mais fáceis de monitorar, e posso continuar distribuindo as wordlists pra quem REALMENTE precisa de uma.

E pro isso, resolvei aumentar minhas wordlists:

Wordlists com a wikipedia

Sim, isso mesmo. Usei o banco de dados da Wikipedia pra gerar wordlists novas. Ficaram gigantescas. A wordlist em português[2] tem quase 2 milhões de palavras. A wordlist em inglês[2] tem uma ordem de grandeza a mais. Comparado com minhas wordlists bobinhas antigas, são monstrengos enormes. MAs tenho algumas idéias pra fazer no futuro (se não for mais um projeto que eu vou abandonar, claro):

  • Contar a freqüência das palavras e fazer wordlists menores com as palavras mais frequentes.
  • Fazer wordlists a partir de blogs, sites de notícias e sites de relacionamentos.

Porque desse último? Porque a linguagem da wikipedia é bem mais "formal" que a linguagem usada no dia a dia da internet. E se alguém quer uma wordlist, sabemos todos pra que é: avaliar segurança de senhas (ou quebrar senhas mesmo, vá lá). Senhas tem maior probabilidade de serem encontradas na linguagem do dia a dia do que na linguagem formal da wikipedia. Alias, nas 3 senhas aqui de casa (minha, da Anita e da minha mãe) a wordlist da wikipedia em portugûes não achou nenhuma. Tenho certeza que com uma baseada em blogs o resultado seria bem diferente.

Mas claro que eu interrompi o trabalho no meio proque surgiu algo mais interessante pra fazer:

Meu Hackintosh

Pra quem não sabe, MacOSX é o sistema operacional mais metrosexual do mundo. E como bom metrosexual, ele é altamente seletivo: só roda em computadores da Apple. Só em computadores da Apple? Não! Uma pequena tribo de gauleses... err... estória errada... Não! Tudo que é proteção desse tipo está fadada a cair nas mãos dos piratas[3]. E dessa vez não foi diferente: o OSX ganhou o osx86, que é um patch pra rodar osx em qualquer micro x86.

Como eu tinha em minhas mãos um DVD de instalação do macos, resolvi experimentar. Preparei tudo segundo os tutoriais e quando tudo estava pronto, bootei meu lindo e maravilhoso OSX recém instalado! Mas... hum.. infelizmente... nem tudo funcionou! A rede por exemplo não foi reconhecida nem com os drivers mais novos! O vídeo, por outro lado, funcionou, porque o OSX tem suporte a VESA. Só que... apenas na resolução de 1024x768. E meu monitor é widescreen! Resultado: tudo deformado. Briguei durante um tempão com o vídeo, e nada! Por fim, desisti. Já estava com a intenção de trocar minha placa de vídeo, que não tem suporte 3D no Linux, por uma melhorzinha. Agora tenho mais um motivo: fazer o hackintosh ficar bonitinho!

A rede eu resolvi fácil: desmontei um micro velho e "ranquei" a placa 3com que tinha nele. Rebootei o hackintosh e... voila! reconheceu NA HORA! já entrei navegando. E o bicho é bonitinho mesmo! Os icones pulando[4], o arco-iris giratório[5], as telas se contorcendo pra minimizar[6]. Tudo muito bacana. Os softwares com uma aparência impecável. Nada do visual "pesado" do windows (principalmente do vista, que parece que precisam abusar dos recursos da máquina pra dizer que o negócio presta). Tudo com aparência leve e desimpedida[7]. Gen-te... A-MEI!!!. Sério, dá pra notar a diferença no enfoque. Parece que levam o KISS a sério, sem abrir mão do design.

Enfim, fiquei satisfeito com o resultado. Quando tiver "tempo" ($$$) pretendo investir numa nova placa de vídeo que seja suportada pelo bichinho e ver como fica com uma resolução decente. Quem sabe no futuro até compre um mac[8]. Além do que, o Muriloq postou no blogue dele um videozinho do linux embirobando que nem o OSX que me deu água na boca: será que consigo o melhor de dois mundos? Um SO aberto e flexível que seja biíto ingual macos? Veremos, veremos, fica pra outra estória num outro "senta que lá vem a estória".

Notas

  1. ? Mais informações de como fazer isso em robots.txt
  2. ? 2,0 2,1 Quer dizer, tem um monte de palavras extrangeiras no meio tanto da em português quanto da em inglês. É que na wikipédia tem os tais interwikis que referenciam outras wikipedias. Além é claro de palavras estrangeiras usadas no meio dos textos e em citações.
  3. ? espero que entendam que quando digo piratas estou sendo irônico! Sou totalmente a favor e apoio a galera que faz engenharia reversa em hardware e disponibiliza meios totalmente legais de se instalar um software em outra plataforma.
  4. ? gay!
  5. ? GAY!
  6. ? GAAAAAYYYYYYYYY!!!!!!!!!!
  7. ? BOIOLA, PEROBA, VIAAAAADDDDDDDOOOOOOO mesmo!!!!
  8. ?Carol?

--girino 16:19, 7 Janeiro 2008 (BRST)

Fedora 8: First Impressions

Não lembro mesmo onde vi, acho que no Slashdot, Digg ou algum lugar assim. Era um comentário sobre o Fedora 8 ser melhor que o Ubuntu. Curioso, resolvi experimentar. Baixei primeiro os live cds, e depois o DVD de instalação. Instalei, claro numa máquina virtual (tou usando VirtualBox depois que eu descobri. Apesar de menos completo que o vmware, é mais user friendly e é open source, o que me deixa tendencioso a usá-lo 🙂 Anyway,aqui vão minhas primeiras impressões:

Instalação default (Gnome)

  • Comparando com o Ubuntu 7.10 (que é o que eu estou acostumado) achei mais pesado, mas usável numa máquina moderna.A inicialização demora mais, e a coisa toda parece mais carregada. Comparando o tamanho dos HDs nas máquinas virtuais, vejo que ocupa mais espaço também (4.5Gb contra 3.5Gb do ubuntu). O sistema de atualizações/instalação de pacotes é mais lento, mas nada que atrapalhe demais. De resto, está muito bom. No mesmo nível do ubuntu. A tela de login, alias, é mil vezes mais bonitinha. Kudos pro Fedora (mas ainda não me fez sair do ubuntu não). Tem um porém de "purismo". No Ubuntu é muito mais fácil instalar softwares proprietários. O Fedora te implora pra usar Ogg/Vorbis no lugar de MP3, mas no final deixa você fazer o que quer. O sistema de instalador do debian (apt-get, que é o padrão do ubuntu) também é mais flexível pra quem é fuçador.
feature Fedora 8 ou Ubuntu 7.10 comentário
Instalador pau a pau, com ligeira vantagem pro ubuntu O fedora começa com uma tela de texto (curses) pra depois entrar em modo gráfico. O Ubuntu cai no modo gráfico direto.
"peso" do sistema ligeira vantagem pro Ubuntu Não testei em uma máquina antiga, mas o Ubuntu ficou mais leve na VM que eu usei. Ocupou também menos espaço em disco.
Tela de login Fedora, de longe! A tela de login do Ubuntu é "unix like" demais. A do Fedora é bem bonitinha, já com a lista de usuários (que no ubuntu precisa ser habilitada depois) e num quadrinho azul bem desenhado, com fontes e icones bacanas.
Sistema de atualizações Ubuntu I just love Debian/apt-get ;). Não me conformo com o apt-get não ser o padrão em todos os linuxes 😉
codecs, drivers proprietários, etc ligeira vantagem pro ubuntu Porque é menos burocrático

Só que o Fedora não é só Gnome! Então resolvi comparar o KDE com o Kubuntu:

Instalação KDE

Na verdade, não é uma nova instalação. Basta habilitar o KDE no instalador de pacotes e boas. Tudo se instala (o ubuntu tem os pacotes do kubuntu, mas nesse ponto ele é realmente mais burocrático. Ponto pro Fedora). Instalei em português, porque uma coisa que tinha notado na casa da minha sogra é que o kubuntu em português CHUPA TEMPO GRANDE, cheio de partes mal traduzidas e erros de tradução. Fiquei Satisfeitíssimo! Tradução muito boa e completa. Não vi ainda nenhuma frase em inglês. Kudos triplos pro Fedora. Também fiquei satisfeito de não ver a mistureba Gnome/KDE que é o kubuntu. Dependendo do que se instala o synaptic aparece no meio dos menus do KDE. Enfim, o atualizador/instalador do Fedora é melhor integrado com o KDE.

Pra mim, sinceramente, nesse quesito não precisa d etabela comparativa: Fedora é MUITO MELHOR que o kubuntu. Lembrando, claro, que é mais pesado, logo não recomendo pra computadores antigos. Mas nesses eu provavelmente iria com uma distro baseada em Xfce, como o Xubuntu. Alias, não avaliei o fedora com Xfce, mas pra ser imparcial teria de reinstalar APENAS com o xfce e ver se fica pesado.

Alguém sabe se existe um jeito de simular uma maquina "mais lenta" com vmware, VirtualBox ou similar?

--girino 16:05, 1 Janeiro 2008 (BRST)