Share

Apresentação

De repente você resolve gravar as ações efetuadas em seu Desktop Linux (fazer um ScreenCast) para uma Vídeo Aula, ou para mostrar aos seus amigos suas habilidadas com Linux. Mas e aí, qual o melhor programa para esta tarefa? Eu já tentei vários mas não fiquei contente com os resultados obtidos, em quase todas eles sempre fica algo a desejar. É a qualidade do Vídeo, do Som, sempre fica algo que não satisfaz. Mas se você quiser testar!… Ai vai uma lista dos programas que eu testei, são todos programas livres (0800):

  • recordMyDesktop – O RecordMyDesktop é uma aplicação simples e bem conceituada junto a comunidade Linux, cria vídeos por meio da captura de tela e tem opção de captação de áudio via microfone, bem indicado à criação de vídeo aulas e tutoriais. No site do desenvolvedor encontram-se informações detalhadas sobre o produto. Licença: GNU/GPL.
    Instalação no Debian e derivados:
    # apt-get install recordmydesktop ou $ sudo apt-get install recordmydesktop

recordMyDesktop

  • Istanbul – Istambul é um gravador de sessão de desktop para Desktop Livre, também é bem cotado junto a comunidade. Ele registra a sessão em um arquivo de vídeo Ogg Theora, funciona em GNOME, KDE, XFCE e outros, segundo informações fornecidas pelo desenvolvedor. Fiz testes somente no GNOME. Licença GNU/GPL2.
    Instalação no Debian e derivados:
    # apt-get install istanbul ou $ sudo apt-get install istanbul

Istanbul

  • Byzanz – Byzanz é um programa pequeno, especialmente útil. Com Byzanz, você pode gravar o seu desktop Linux atual para um arquivo GIF animado. Byzanz é implementado como um applet do GNOME. Ele também contém uma interface de linha de comando. Licença GNU/GPL.
    Instalação no Debian e derivados:
    # apt-get install byzanz ou $ sudo apt-get install byzanz
  • Vnc2swf – Vnc2swf é uma ferramenta de gravação de tela multi-plataforma para Shockwave Flash (SWF) ou Flash Video (FLV) formato. O Vnc2swf disponibiliza uma interface gráfica nativa em PyThon, mas também pode ser utilizado em linha de comando, sua funcionalidade se dá através de conexão com um servidor VNC, logo se faz necessário a instalação de algum programa faça esta função, eu utilizei com o x11vnc que é um servidor VNC leve e simples de usar e despensa configurações adicionais, é só rodá-lo em linha de comando utilizando a seguinte sintaxe:
    $ x11vnc -localhost -viewonly -wait 10 -defer 10 &
    e em seguida executar o vnc2swf.py, conectar ao servidor no menu Option, comando Servidor e começar a gravar em Start. No menu Option também tem como escolher o formato de vídeo em Type.

Painel vnc2swf

Bem, são todos excelentes programas e bem conhecido dos usuário Linux, não sei se me faltou paciência para acertar as configurações mas nenhum me deixou totalmente contente com os vídeos produzidos, então parti para o ffmpeg, puro em linha de comando. Alias há tempo eu cheguei a conclusão de que os programas em linha de comando me dão muito mais flexibilidade de uso!

ScreenCast no Linux com FFMPEG

ffmpeg-logo

Das ferramentas alternativas que testei uma que mostrou excelentes resultados foi o ffmpeg, rodando diretamente em linha de comando. O ffmpeg é um programa de licença livre, GNU/GPL, e que pode ser instalado em qualquer distribuição Linux, em muitas delas até mesmo diretamente via gerenciador de pacotes; o que dispensa uma compilação local. A versão atual Debian “0.8.10-6:0.8.10-1” do ffmpeg está sendo substituída pelo avconv. Usei os dois, as funcionalidades são idênticas, bem como o resultado final.

Alias, só complementando o ffmpeg está disponível não só para Linux mas também para OS X e Windows

Quem usa Debian ou derivados pode verificar se já tem ele instalado com o comando a seguir:

Se o comando não retornar nenhum resultado ai você poderá instalar usando o apt-get ou aptitude com usuário root ou com o utilitário auxiliar sudo:

ou

O comando man ffmpeg em suas mais de 4650 linhas pode auxilar nas dúvidas sobre a usabilidade do programa, na verdade o ffmpeg é um verdadeiro canivete suíço para manipulação de áudio e vídeo. Em http://ffmpeg.org/documentation.html há uma extensa documentação sobre o ffmpeg e recursos complementares.

Para gravação de vídeos se quiser antes ver os formatos que são permitidos pode-se obter uma lista usando o comando:

a lista trará algo próximo a 200 formatos suportados, incluindo áudio, vídeo e etc…

Os exemplos que mostrarei aqui são para gravação de vídeos, mas as funcionalidades do programa vão bem além de gravação. Você poderá usar para também para converter, cortar, extrair áudio, juntar vídeos e muito mais. A sua imaginação e necessidade são os limites.

Veja a sintaxe de uso do programa:
ffmpeg [input options] -i [input file] [output options] [output file]

Vamos testar? Abra lá seu terminal de linha de comandos e digite:

não inclua o primeiro caractere “$” (cifrão), eu coloco ele no exemplo para que o leitor entenda que o comando pode ser executado com usuário comum, não root.

Explicando:

ffmpeg – É o programa de gravação;

-f x11grab – força captura de tela do servidor X11;
-s svga – fspecifica a resolução do vídeo, svga equivale a 800×600;
-r 25 – frame rate, quadros por segundo, 25;
-i :0.0 – número da tela no servidor x11;
-y /tmp/saida.mpg – o -y sobrescreve o arquivo saida.mpg caso ele exista, /tmp/saida.mpg é o arquivo que será criado.

Como pode-se notar neste comando não há instrução referente a áudio, logo este vídeo será sem áudio.

Vamos agora a mais um exemplo, agora incluindo áudio capturado através de um microfone, antes faça os ajustes de entrada de áudio referentes ao seu microfone.

Volume da entrada de áudio

No comando acima temos as referências:

-f alsa – força a entrada de áudio pelo sistema alsa de áudio;
-i pulse – direciona a saída para o sistema pulse;
– acodec flac – usa o codec flac para o áudio;
-vcodec libx264 -threads – e o libx264 com a opção -threads 0 como codec de vídeo;
-s wxga – neste segundo exemplo mudei a opção -s para wxga que corresponde a 1366×768 de resolução de tela. Estes códigos de resolução estão disponíveis no manual, man ffmpeg.

Uma alternativa para definir a resolução da tela é usar o próprio sistema para detectá-la: -s xdpyinfo | grep 'dimensions:'|awk '{print $2}' o comando completo ficará assim:

O comando acima já produzirá um vídeo em HD e o formato .mkv é bem suportado por muitos playes de vídeo e inclusive é também aceito para Upload no YouTube sem problema.

Em todos os comandos onde foram usados o programa ffmpeg poderá ser usado o avconv, os resultados serão os mesmos.

Para facilitar a vida do leitor criei um Shell Script, código abaixo, que pode ser copiado para seu diretório /usr/local/bin, estando em /usr/local/bin pode ser executado de qualquer lugar sem a necessidade de escrever o caminho completo no comando; minha sugestão de nome é screencast.sh. Mas fique a vontade nomeá-lo como quiser e não esqueça de torná-lo executável:

Aqui o abaixo o ShellScript screencast.sh:

Quem quiser poderá baixar o Script aqui: screencast.sh

Quer ver o resultado de um trabalho elaborado com o Script? Veja aqui no YouTube: Inserindo Imagens no WordPress


[emailMarketingFoot]

Translate »