Existem muitas soluções de screencasting para os usuários de Linux a escolher hoje em dia e mais ferramentas surgem todos os dias para cobrir esta necessidade especial. Embora muitos sofram de problemas de performance, especialmente quando usados para capturar em ação no jogo, existem muitos bons softwares como o simples de usar e versátil Simple Screen Recorder (http://www.maartenbaert.be/simplescreenrecorder/)
Ferramentas GUI são legais, mas as coisas sempre podem ser melhores quando se usa o terminal. Isso aumentaria ainda mais a performance e o traria a um entendimento mais profundo do que você está pedindo ao sistema para fazer. É fácil e bastante simples então vamos começar.
FFMPeg instalação
Para capturar seu desktop você vai precisar do popular conjunto de bibliotecas FFmpeg instaladas em seu sistema. Para fazer isso, abra o gerenciador de pacotes da sua distribuição e procure pelo pacote “ffmpeg”. Usuários do Ubuntu podem usar os seguintes comandos em um terminal:
sudo apt-get install ffmpeg
e então
sudo apt-get update
Recordar sua primeira sessão
Depois disso você está pronto para ir imediatamente. O que você precisa é determinar alguns parâmetros que funcionarão como um guia para ffmpeg. Esses parâmetros incluem o tamanho do vídeo, o tipo do arquivo exportado, a qualidade, a taxa de quadros e a captura de som. O comando vai assim:
ffmpeg -video_size (desired resolution) -framerate (number) -f x11grab i 0.0 (start from the point 0.0) newfilename.mp4
Então se eu quiser capturar um vídeo que representa uma caixa no centro da minha tela e pegar um arquivo avi como saída eu colocaria algo como 500×500 após o tamanho -video_size e i: 0.0+300,300 que significa colocar o canto superior esquerdo da caixa de captura em x=300 e y=300 na minha tela. Para o avi, você simplesmente colocaria filename.avi no final do comando. Tão simples como isso 🙂
Pressing the ‘q’ button will stop the capturing and save the file.
Now what if you want the sound to be captured too? Isso é fácil usando ALSA com FFmpeg. Tudo que você precisa fazer é simplesmente adicionar esta linha: ‘-f alsa -ac 2 -i puls’ ao comando anterior e antes do novo nome do arquivo que está no final. Isto irá adicionar som à sua captura e você pode usar os seguintes parâmetros para opções mais avançadas relacionadas ao som: -ac: Canais, -ar: Taxa de amostragem de áudio, -ab: Audio bitrate
Para aqueles que querem fazer isso para jogos, é melhor primeiro capturar o vídeo e depois codificá-lo, em vez de fazer os dois ao mesmo tempo, o que é mais arrasador para o sistema. Para melhorar a situação você pode adicionar o parâmetro -vcodec ao seu comando seguido por um codec suportado e depois -preset ultrafast. Aqui está uma lista dos codecs de vídeo e áudio suportados (https://www.ffmpeg.org/general.html#Video-Codecs)
Outras opções do x11grab que é o que nos permite capturar uma região do nosso display x11 incluem os argumentos ‘-follow_mouse’ e ‘show_region’. O seguinte guia do mouse guia a área de captura de acordo com os movimentos do mouse e pode ser centrada ou com uma área de tolerância de pixels. Está escrito desta forma no nosso comando: ‘-follow_mouse centrered’ ou ‘-follow_mouse 500’ (o cursor do mouse pode se mover dentro de uma área de 500 pixels antes que o contexto seja movido).
A região show_region mostra qual parte da tela inteira é realmente agarrada pelo ffmpeg. Isto pode ser útil em alguns casos e é activado adicionando o seguinte no nosso comando: -show_region 1