Como Fazer Screencast a Partir da Linha de Comando no Linux

Quando se trata de screencasting (gravar vídeo da sua área de trabalho), a maioria das pessoas pensa em um software de desktop com uma interface de usuário adequada. Para Linux, cobrimos várias ferramentas como Kazam e Screentoaster. O que muitas pessoas não sabem é que você também pode fazer screencast a partir da linha de comando, via FFMPEG. É um comando simples (e muito longo) configurável que permite gravar vídeo da sua área de trabalho.

Instalando o FFMPEG

FFMPEG está disponível nos repositórios da maioria das distribuições. Instale-o com o comando abaixo:

Ubuntu

sudo apt-get install ffmpeg

Fedora

sudo yum install ffmpeg

OpenSUSE

sudo zypper install ffmpeg

Arch Linux

sudo pacman -S ffmpeg

Não consegue encontrá-lo nos repositórios da sua distribuição? Você pode precisar baixá-lo diretamente do ffmpeg.org e instalá-lo dessa forma.

Personalizando o comando

Antes que o screencasting possa acontecer, o comando precisa ser personalizado para atender às suas necessidades. O comando abaixo não tem resolução especificada, fará screencast a 30 FPS e exporta o arquivo no formato .MKV.

ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s YxZ -i :0.0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 output.mkv

Encontre a resolução nativa da sua tela e substitua o YxZ por ela (por exemplo: 1920×1080). Não está satisfeito com apenas 30 quadros por segundo? Altere -r 30 para o FPS desejado.

Screencasting

Fazer screencasting é tão simples quanto colar o comando acima (uma vez que você o modificou para se adequar a você) em um terminal. Enquanto o comando estiver em execução, você poderá saber exatamente o que o FFMPEG está fazendo. Você notará algo semelhante à imagem abaixo.

contador-de-quadros-screencasting-ffmpeg

Basicamente é isso. Com esse comando longo, você está fazendo screencasting. Quer parar a captura? Pressione a tecla “q” ou feche a janela do terminal completamente. Ele imprimirá informações sobre a gravação que acabou de terminar. Essas informações são ótimas, pois podem te dizer tudo o que aconteceu durante o processo.

vídeo: 3245kB áudio: 6451kB legenda: 0kB outros streams: 0kB cabeçalhos globais: 0kB sobrecarga de multiplexação: 1.933424% [libx264 @ 0xc35d40] quadro I: 4 QP Médio: 0.00 tamanho: 311776 [libx264 @ 0xc35d40] quadro P: 985 QP Médio: 0.00 tamanho: 2107 [libx264 @ 0xc35d40] mb I I16..4: 100.0% 0.0% 0.0% [libx264 @ 0xc35d40] mb P I16..4: 30.5% 0.0% 0.0% P16..4: 0.0% 0.0% 0.0% 0.0% 0.0% pular: 69.5% [libx264 @ 0xc35d40] codificado y,u,v intra: 0.6% 0.1% 0.1% inter: 0.0% 0.0% 0.0% [libx264 @ 0xc35d40] i16 v,h,dc,p: 99% 1% 0% 0% [libx264 @ 0xc35d40] kb/s: 806.15

Mudando as entradas de áudio do FFMPEG

Como todos os aplicativos, o FFMPEG utiliza o Pulse Audio. Isso significa que pode ser manipulado. Por padrão, todos os aplicativos que gravam captam o som através do dispositivo de som padrão. Se o seu computador tem um microfone (ou um conectado), o FFMPEG gravará automaticamente o som dele e o adicionará ao seu screencast. Se isso é algo que você não deseja, você pode mudar.

Instale o Controle de Volume do Pulse Audio. É uma ferramenta muito popular e, portanto, está na maioria dos repositórios de distribuições populares. No Ubuntu (ou distribuições baseadas em Ubuntu), você pode instalá-lo com o seguinte comando:

sudo apt-get install pavucontrol

Para outras distribuições, você só precisa procurar por “pavucontrol” no seu gerenciador de pacotes e instalá-lo. Uma vez instalado, inicie um screencast do FFMPEG e abra o “Controle de Volume do Pulse Audio.” Dentro da ferramenta, clique na aba de gravação.

aba-de-gravação-controle-de-volume-pulse-audio-screencast-ffmpeg

Na aba de gravação, clique no botão Áudio Analógico Integrado. Isso abrirá um menu de seleção.

mudar-entrada-controle-de-volume-pulse-audio-screencast-ffmpeg

No menu, selecione Monitor do Áudio Analógico Integrado. Isso fará com que o FFMPEG grave o som do seu sistema em vez do microfone do seu computador. Esse truque é ótimo se você está procurando gravar gameplay ou qualquer coisa que requer áudio.

Conclusão

FFMPEG é uma ferramenta incrível que pode fazer muitas, muitas coisas. Screencasting é apenas uma de suas habilidades. Poucas alternativas a ele conseguem capturar imagens de alta qualidade enquanto oferecem um ótimo desempenho. A linha de comando é incrível porque com ela você pode ser tão preciso quanto quiser. Você pode especificar o que deseja realizar e vê-lo aparecer diante dos seus olhos.