Grave sua tela no Linux via linha de comando com o FFMPEG!

Precisa registrar o que acontece no seu monitor em um sistema Linux, mas não está satisfeito com os aplicativos de gravação de tela disponíveis? Uma solução poderosa é utilizar a ferramenta de codificação FFMPEG. Ela é incrivelmente versátil e executa diversas tarefas, incluindo a captura de tela em ambientes Linux.

AVISO: Confira o vídeo tutorial no final deste artigo.

Configurar o FFMPEG é um pouco mais complexo do que simplesmente clicar em “gravar” em um software, mas em contrapartida, oferece um nível superior de controle, automação e customização que outras ferramentas de gravação com interface gráfica (GUI) para Linux não alcançam.

Instalando o FFMPEG

Ubuntu

sudo apt install ffmpeg

Debian

sudo apt-get install ffmpeg

Arch Linux

sudo pacman -S ffmpeg

Fedora

sudo dnf install ffmpeg

OpenSUSE

sudo zypper install ffmpeg

Outras Distribuições Linux

O FFMPEG é um dos utilitários de vídeo mais utilizados em sistemas Linux e outros sistemas operacionais. Por isso, ele é suportado por quase todas as distribuições Linux. Se, por acaso, a sua distribuição Linux não disponibilizar o FFMPEG através de um pacote binário, a melhor alternativa é instalá-lo manualmente a partir do Repositório Github do FFMPEG.

Para fazer isso, primeiro verifique se você tem o utilitário git instalado. Após a instalação, abra um terminal e execute os seguintes comandos para construir o software:

git clone https://github.com/FFmpeg/FFmpeg.git

Entre no diretório FFMPEG com o comando CD.

cd FFmpeg

Antes de iniciar a compilação, é necessário criar um arquivo de configuração para que o software identifique seu sistema e possa ser construído corretamente.

./configure

Encontrou problemas com ./configure? Tente:

./configure --help

O próximo passo é utilizar o comando make. Ele realiza a maior parte da compilação, sendo a etapa mais importante da instalação do FFMPEG.

make

Finalmente, instale o software no sistema com o comando install.

sudo make install

Gravando sua Tela

O FFMPEG é extremamente versátil e pode ser configurado para executar diversas tarefas, incluindo a captura de vídeo. A captura padrão funciona registrando todos os monitores disponíveis. É uma abordagem simples, mas eficaz. Para utilizá-la, abra um terminal. Antes de iniciar a gravação, é recomendável criar uma pasta específica para organizar os arquivos. Assim, todas as gravações serão armazenadas nesse local e não em diretórios aleatórios.

Use o comando mkdir para criar uma pasta de captura dentro de ~/Vídeos.

mkdir -p ~/Videos/ffmpeg-capture/

Em seguida, mova o terminal para o novo diretório para que a gravação seja feita nesse local.

cd ~/Videos/ffmpeg-capture/

Agora você pode iniciar a gravação da sua tela. Aqui está o comando básico de captura:

ffmpeg -f x11grab -y -r 30 -s 1920x1080 -i :0.0 -vcodec huffyuv out.avi

Certifique-se de ajustar a resolução do comando de acordo com o seu monitor. No comando acima, a resolução está definida para 1920×1080 e a gravação ocorre a 30 quadros por segundo, salvando o arquivo como out.avi. Em geral, 25 FPS são suficientes para a maioria das gravações. No entanto, para conteúdos que exigem maior taxa de quadros, como videogames ou imagens em movimento, considere aumentar para 60 FPS. Lembre-se que aumentar o FPS de 30 para 60 pode afetar o desempenho em computadores menos potentes. Verifique se seu computador consegue suportar essa configuração.

Para finalizar a gravação, pressione a tecla ‘q’ no teclado.

Gravando Tela e Webcam Simultaneamente

É possível gravar a tela e capturar vídeo da sua webcam ao mesmo tempo usando o FFMPEG. Isso requer o uso de dois comandos separados. O primeiro comando exibirá a webcam ativa conectada ao sistema. O segundo comando inicia a captura da tela.

Para o primeiro comando, abra um terminal e execute:

ffplay -f video4linux2 -i /dev/video0 -video_size 320x240 -fflags nobuffer

Essa configuração exibirá a imagem da webcam com baixa latência, em uma janela com resolução de 320×240. O tamanho não é importante nesse momento, pois a imagem ficará adequada na gravação. Você pode posicionar a janela da câmera onde quiser. Se seu gerenciador de janelas permitir, oculte os controles da janela para um efeito melhor.

Observação: Caso não goste da resolução 320×240, ajuste para outra. Consulte o manual da sua webcam para encontrar a resolução ideal, mas não use uma resolução maior do que o dispositivo suporta, caso contrário, poderá ocorrer falhas.

Com o primeiro terminal aberto, sua webcam será exibida. Em seguida, abra um segundo terminal para iniciar a gravação da tela:

cd ~/Videos/ffmpeg-capture/
ffmpeg -f x11grab -r 30 -s cif -i :0.0 capture.mp4

Com esses dois terminais abertos, você estará gravando a tela a 30 FPS e exibindo a imagem da webcam simultaneamente.

Para parar a gravação, volte para a janela do FFMPEG e pressione “q”. Em seguida, vá para o terminal do FFPLAY (o que exibe a câmera) e pressione Ctrl + Z.

As gravações finalizadas são salvas em ~/Videos/ffmpeg-capture/