Como Fazer um Vídeo Tutorial SWF
Intro
Esse tutorial é um tutorial de como fazer um tutorial. Pode parecer estranho, mas sabemos que muita gente por aí sabe muita coisa e, muitas vezes, não sabe como compartilhar todo esse conhecimento com os outros. No presente caso vamos usar o software
vnc2swf para criar aquele que parece ser o tutorial favorito de todos: o vídeo tutorial. Mais especificamente, utilizaremos o formato
SWF para gravar o vídeo. A grande vantagem desse formato é que os vídeos podem ser assistidos em muitas plataformas e diretamente no navegador, além de serem extremamente compactos.
Demonstraremos como usar o
vnc2swf numa distribuição
debian, mas a instalação não deve diferir muito em outras distribuições. Obviamente assumimos que a placa de som, o microfone e demais elementos do hardware funcionam.
Esse tutorial também está disponível na forma de vídeo tutorial! Note que é recomendável
ler por completo o texto abaixo antes (ou depois) de ver o vídeo:
http://www.estudiolivre.org/el-gallery_view.php?arquivoId=2945
Instalação
O que precisamos
O primeiro passo para a utilização do
vnc2swf é a instalação dos pacotes que ele precisa. Segundo o site precisamos instalar:
- python
- pygame (1.6 ou maior)
- opcional: pymedia (1.3.5 ou maior; necessário para gravações em MPEG)
E ainda precisamos de alguma versão do vnc:
Além desses, precisamos de algumas ferramentas para gravar e converter a faixa de áudio que acompanhará o nosso vídeo:
- arecord (aplicativo do projeto alsa para gravar o áudio)
- lame (para convertê-lo para mp3)
Escolhendo e instalando os pacotes (no Debian)
Como utilizaremos o
pyvnc2swf com alguns recursos interessantes, vamos começar instalando uma versão mais 'atual' das bibliotecas da linguagem
python. Para isso, no debian:
apt-get install python2.4 python2.4-minimal python2.4-tk python2.4-numeric python2.4-gtk2 python2.4-pygame
Além disso, gravaremos o desktop atual que estamos usando (para não ter que abrir um outro). Por isso:
apt-get install x11vnc
Agora só nos resta instalar o pyvnc2swf em si. Primeiro baixamos o 'tar.gz' do site:
wget http://www.unixuser.org/~euske/vnc2swf/pyvnc2swf-0.9.3.tar.gz
(Você também pode baixar usando o firefox ou seu navegador predileto, basta clicar com o botão direito e 'Salvar Link Como...'. É bom verificar
no site se esta é mesmo a última versão do programa.)
Na verdade não é necessário 'instalar' o pyvnc2swf, basta descompactá-lo e ele estará pronto para ser usado:
tar -xzvf pyvnc2swf-0.9.3.tar.gz
A descompactação gera uma pasta:
pyvnc2swf-0.9.3.tar.gz. É bom entrar nessa pasta para que os comandos a seguir funcionem. Para isso é suficiente usar o 'cd':
cd pyvnc2swf-0.9.3.tar.gz
Gravação
Iniciando a sessão do vnc
Para gravar o seu desktop atual basta fazer:
x11vnc -localhost -viewonly -wait 10 -defer 10 &
Isso faz com que o vnc mande para o vnc2swf tudo aquilo que está acontecendo no desktop que você está usando (ao invés de você ter que abrir um novo desktop).
Iniciando o vnc2swf
Para rodar o vnc2swf basta:
python2.4 vnc2swf.py -o tutorial.swf -S "arecord -r 22050 voz.wav" localhost:0
Para entendermos melhor o que esse comando faz, vamos analisá-lo com mais calma. A primeira parte "python2.4" indica que usaremos o
python versão 2.4; precisamos disso pois só é possível gravar áudio ao mesmo tempo que gravamos o vídeo se usarmos essa versão do
python.
Em seguida temos a opção "-o", ali indicamos (em
vermelho) qual vai ser a saída do vnc2swf. Vale lembrar que os arquivos gerados são 'swf' (ou vídeos no formato Flash); além disso, o vnc2swf sempre cria um
arquivo 'html' do mesmo nome para facilitar a visualização do vídeo criado.
Então utilizamos a opção "-S", que indica que o vnc2swf vai rodar um comando ao mesmo tempo em que grava o vídeo. No caso, o 'arecord' vai servir para que gravemos o som do microfone, onde comentaremos o vídeo. O 'arecord' recebe dois parâmetros: o primeiro é o bitrate do wav que vai ser criado, o segundo é o nome do wav que vai ser criado (em
verde). Outra possibilidade é usar o programa 'rec' para fazer a gravação do som, para isso basta substituir o 'arecord' por 'rec', ou seja, teríamos o comando:
python2.4 vnc2swf.py -o tutorial.swf -S "rec -r 22050 voz.wav" localhost:0
Finalmente indicamos 'localhost:0' para que o vnc2swf conecte-se ao servidor vnc rodando na mesma máquina onde estamos rodando o próprio vnc2swf (sim, é possível gravar remotamente!).
Usando o pyvnc2swf
Depois que rodamos o comando, vemos uma janela mais ou menos assim:
É fácil ver que o botão que queremos é o 'start', para que a gravação comece. As outras opções podemos deixar como estão. Clicamos no 'start', agora basta fazer o tutorial. Assim que quisermos parar a gravação é só clicar em 'stop'.
Finalizando o tutorial
Convertendo o som
Agora que terminamos a gravação, é conveniente convertermos também o áudio 'wav' em 'mp3' para que o nosso vídeo não seja muito grande (
muito grande!). Para isso utilizaremos o lame (veja a seção 'mp3' aqui
?) fazemos:
lame -b 64 voz.wav voz.mp3
Onde assumimos que o wav criado tem o nome '
voz.wav', para a saída escolhemos o mesmo nome (com a terminação mp3:
voz.mp3), mas você pode escolher qualquer nome que quiser. O número
64 indica a taxa de bits por segundo, no caso 64 kbps. Para gravações em voz é o suficiente, mas se você for colocar música (ou quiser mais qualidade na sua gravação) pode aumentar para 128 ou 160.
Juntando tudo
Agora que temos o som compactado e o vídeo pronto, precisamos juntá-los. Para fazer isso usaremos o 'edit', que vem junto com o vnc2swf. Primeiro voltamos para a pasta onde o vnc2swf está. Depois basta:
python2.4 edit.py -o tutorial_mp3.swf -a voz.mp3 tutorial.swf
Aqui o vídeo de saída é o
tutorial_mp3.swf e o criaremos anexando o áudio em
voz.mp3 ao vídeo
tutorial.swf. Caso você queira que o swf de saída seja menor do que a sua tela, você pode diminui-lo usando a opção '-s'; isso pode ser feito na mesma hora em que a junção com o som, nesse caso, teríamos então:
python2.4 edit.py -o tutorial_mp3.swf -a voz.mp3 -s 0.5 tutorial.swf
onde o número em
amarelo corresponde a quantas vezes o tamanho do swf será multiplicado, no exemplo ele será diminuído pela metade.
O tutorial está pronto para ser assistido!!!
Assitindo
Para assistir ao tutorial você precisa ter o plugin do flash instalado no seu navegador. Mas é bem provável que você já o tenha, dessa forma, basta abrir o arquivo 'tutorial_mp3.html' criado pelo vnc2swf. Agora aproveite o filminho...
Alguns problemas que podem surgir
Usando o arecord
Tive problemas para usar o 'arecord' já que tenho duas placas de som instaladas no meu computador. Além disso, a placa que queria usar era uma SoundBlaster
?. Acabei descobrindo que o erro:
arecord: set_params:857: Sample format non available
acontece pois esse tipo de placa precisa de um parâmetro especial na gravação, o '-f S16_LE'. Além dele, tive que usar o '-D' para especificar que o ALSA deveria usar a minha segunda placa de som, resultado:
arecord -D hw:1 -f S16_LE -r 22050 voz.wav
Framerates muito baixos?
Sim, o 'pyvnc2swf' grava os vídeos com 12 quadros por segundo, o padrão do Flash. É pouco, mas, dependendo da duração do vídeo, vale a pena, pois quanto mais quadros por segundo maior o vídeo. Mesmo assim, caso você queira aumentar a taxa de quadros por segundo basta usar a opção '-r'. Por exemplo, pra gravar o tutorial com taxa de 30 quadros por segundo:
python2.4 vnc2swf.py -o tutorial.swf -r 30 -S "arecord -r 22050 voz.wav" localhost:0
Mp3 com bitrate variável (VBR)?
Não é possível usar mp3 com VBR pois eles não são suportados pelo Flash player. Se você tentar o pyvnc2swf vai reclamar...
Publicação no estudiolivre.org?
Publicar um swf no estudiolivre.org é permitido, no entanto ainda não é possivel assistir a um como o exemplo desse tutorial. Isso pode mudar em breve.