Vinheta dos Vídeos do FISL
Os Arquivos
Baixe os arquivos para concatenar no inicio das gravações do FISL:
Como Foi Feito
Estes mini-filminhos foram feitos sob uma pespectiva totalmente nerd. Não espere nenhuma citação de
Cinelerra ou
Kino.
Eu (Aurium) não sabia como usar essas ferramentas, não estava fácil instalar o Cinelerra, não via como inserir imagens como frames no Kino... Bem... nesse momento um nerd se lembra que atravéz do terminal tudo é possivel. Um filme são sequências de imagens (fácil conseguir) e um efeito no filme é um simples efeito gráfico que se propaga por algumas frames (
ImageMagick!).
Mas como gerar o filme? Consegui alguns meios, mas estava gerando com a natural perda de qualidade da compactação que seria piorada ao recompactar na concatenação com os videos do FISL. Até que encontrei a formula mágica:
ffmpeg -i frameFISL_%03d.jpg -sameq vinhetaFISL.avi
-
ffmpeg - é um "faz tudo" converte e monta vídeo, manipula som, faz streaming... e, é claro, tem sua interface no modo texto.
-
-i frameFISL_%03d.jpg - indica a entrada. são vários JPGs numerados com 3 digitos na parte variável do nome.
Algo assim: frameFISL_001.jpg, frameFISL_002.jpg, frameFISL_003.jpg ... frameFISL_057.jpg ... frameFISL_129.jpg ...
-
-sameq - indica que será usada a mesma qualidade da entrada no produto final. Foi esse argumento mágico que impediu a perda de qualidade.
-
vinhetaFISL.avi - é o nome do arquivo a ser gerado.
A disposição tinha:
- The GIMP - A única aplicação que não foi usada no modo texto para que fosse possível fazer algo com bastante qualidade gráfica em pouco tempo.
- Inkscape - Sim ele também é um editor visual, mas, apesar de poucos conhecerem, ele também tem uma interface modo texto que me seria útil...
- ImageMagick - O maravilhoso manipulador de imagens do modo texto. Ele será o coração do processo.
- BASH - O shell, o interpretador de comandos que possibilitará sellscripts interessantes.
Tinhamos algumas horas para fazer a vinheta. Porque não testar as possibilidades?
A Vinheta
Abrindo o arquivo
fontes_vinheta_FISL.tar.gz você encontra:
-
vinheta_entrada_sobreFISL6.xcf - Arquivo fonte da imagem base da entrada ( entrada.png ) no formato do GIMP separado em camadas para poder ser atualizado conforme necessário
-
vinheta_convite_FISL7.xcf - Arquivo fonte da imagem base do convite ( convite.png ) no formato do GIMP separado em camadas para poder ser atualizado conforme necessário
-
preto.png - A imagem que fará o fade-in e fade-out das partes da vinheta sem tirar os logos
-
placaFISL.png - A imagem que terá sua luminosidade modificada com o tempo na primeira sequência
-
placaFISL_ORIG.jpg - A fotografia original (caso seja necessário...)
-
logos.xcf - As camadas de logo guardadas separadamente para alguma necessidade...
-
foto_3.jpg - Uma possível fotografia a ser usada na animação
-
foto_2.jpg - A fotografia que foi escolhida para se deslocar na animação
-
foto_1.jpg - Outra possível fotografia a ser usada na animação
-
entrada.png - A imagem base com informações sobre o vídeo (primeira parte da vinheta)
-
convite.png - A imagem base com convite ao próximo FISL (segunda parte da vinheta)
-
anima.sh - O script que usará o ImageMagick e o ffmpeg para gerar a vinheta
Ações do Script
- Um diretório temporário é criado para jogar todos os frames do vídeo a ser criado;
-
placaFISL.png é combinada como fundo de entrada.png várias vezes e em cada momento ela recebe um pouco mais de lominosidade, saindo da escuridão até sua coloração e brilho original;
- Momento fade-out: as últimas frames geradas no passo anterior são combinadas com
preto.png. A cada momento o preto.png é colocado sobre a frame com mais intensidade chegando a apagar a última frame;
-
foto_2.jpg é recortada, a cada momento numa nova posição mais a esquerda e combinada com convite.png. Assim temos a imagem das pessoas se deslocando no fundo do convite;
- Momento fade-in: as primeiras frames geradas no passo anterior são combinadas com
preto.png. A cada momento o preto.png é colocado sobre a frame com menos intensidade fazendo a animação sair do escuro e ganhar brilho;
- O mini-filme é montado sem perda de qualidade no diretório corrente;
- O diretório temporário de frames é apagado.
As imagens de frames são sempre salvas com 100% de qualidade.
O Gerador de Título
Abrindo o arquivo
titulo_video_FISL.tgz você encontra:
-
titulo.svg - O SVG que ajudará na organização dos nomes
-
titulo_video_FISL.xcf - Arquivo fonte da imagem base do título da gravação no formato do GIMP separado em camadas para poder ser atualizado conforme necessário
-
titulo_video_FISL.png - A imagem base que receberá as informações sobre o vídeo que será apresentado
-
deed-BY.gif - Logo CC de Atribuição, usado em titulo_video_FISL.xcf
-
deed-NC.gif - Logo CC de Uso Não-Comercial, usado em titulo_video_FISL.xcf
-
deed-SA.gif - Logo CC de Compartilhamento pela mesma Licença, usado em titulo_video_FISL.xcf
-
top-logo.gif - O próprio logo Creative Commons, usado em titulo_video_FISL.xcf
-
anima.sh - O script que usará o ImageMagick, o Inkscape e o ffmpeg para gerar a animação de título
O Inkscape entrou na jogada por conta deste passo. A colocação do título da palestra, mesa-redonda, ou seja lá o que for e mais o nome do(s) palestrante(s) iria inserir textos não previstos na animação. Esses textos poderiam ser adicionados via ImageMagick, é claro. Ele pode escrever muito bem e com qualquer fonte, mesmo que não "instalada"... mas... ainda não posso informar a ele que existe limite de espaço e ele deve fazer a quebra de linha por conta própria. Lembrei que posso fazer isso em SVG. SVG é um formato de imagem vetorial definido sobre o XML, sendo assim, arquivo texto. Testando, criei um retangulo no Inkscape e inseri um texto nele (Text -> Flow into Frame), usei o ImageMagick para converter o SVG em PNG, mas ele ainda não implementou várias coisas, como o
texto fluido. Então pela primeira vêz usei a interface texto do Inkscape.
inkscape -f titulo.svg -e titulo.png (e assim consegui um PNG identico ao SVG criado no Inkscape)
Ok. Agora temos um meio de criar a imagem com os nomes variantes e ainda respeitar os limites da tela. Editei o SVG num editor de texto para tirar tudo o que era inutil, colocar medidas extatas e indicar os espaços que deveriam receber valores dinâmicos. Dentro do SVG temos:
-
%TIPO% - Será subdtituido por Palestra, Mesa-Redonda, ou o que for...
-
%NOME% - Será subdtituido pelo nome da palestra ou do que foi gravado
-
%PALESTRANTES% - Será subdtituido pelo nome do(s) palestrante(s)
Ações do Script
- Um diretório temporário é criado para jogar todos os frames do vídeo a ser criado;
- As informações de texto são requisitadas;
- As informações substituem as variáveis no SVG gerando um SVG temporário;
- O aqrquivo
titulo.png é criada a partir do SVG temporário;
-
titulo.png é combinado, cada vez com mais intensidade, com titulo_video_FISL.png fazendo a animação do nome que aparece aos poucos;
- A última frame tem o nome com seu brilho original, então é repetida algumas vezes para criar mais frames e extender o tempo da animação que intitula a gravação.
- O mini-filme é montado sem perda de qualidade no diretório corrente.
- O diretório temporário de frames é apagado.
Agora é só executar esse script para cada filme colocando os nomes adequados. É claro que seria muito bom fazer um script que lesse um txt com todos os nomes e chamasse o
anima.sh, mas é banal... Fica pro FISL 7.0.
--
AurelioAHeckert - 07 Dec 2005