segunda-feira, 29 de dezembro de 2025

Gravando a tela do seu computador sem usar OBS Studio

 Gravando a tela do seu computador sem usar OBS Studio

     O Linux de um modo geral pode ser considerado um "viagra para PC fraco" já que é muito raro vermos máquinas de ponta serem montadas ou compradas para uso de Linux; o que vê normalmente é gente pegando a "raspa do tacho" em termos de hardware (onde nem Windows roda direito) para rodar uma distribuição de Linux. Na maioria das vezes até funciona mas quando o hardware é muito limitado algumas funções pode ficar capadas ou mesmo desabilitadas.

    Uma dessas funções "capadas" é o suporte ao X11 no Gnome 49 (usado em distribuições de ponta, como Arch Linux) que agora só vai permitir sessões em Wayland e as versões do OBS Studio (para quem faz captura de vídeo) estão usando o OpenGL acima do 3.0 e pode ocorrer que em máquinas com hardware mais perereca esse OpenGL fique estagnado em uma versão abaixo da mínima devido à placa de vídeo utilizada no sistema. Uma placa-mãe Asrock G41-VS3, por exemplo, usa o vídeo GMA X4500 cujos drivers não possuem a versão do OpenGL/Mesa que permita o OBS Studio funcionar. A solução mais barata é usar um script de captura de tela em X11.

     Abaixo vou disponibilizar um script meu que eu uso para gravar meus tutoriais de Linux para o meu canal e alguns detalhes serão comentados de acordo com a necessidade. No Terminal digite:

nano gravar.sh

Cole dentro o que estiver entre ####:

#######################################  

#!/bin/bash

# Verifica se os comandos necessários estão disponíveis
for cmd in ffmpeg zenity xrandr; do
   if ! command -v "$cmd" &>/dev/null; then
       zenity --error --text="O comando '$cmd' não está instalado."
       exit 1
   fi
done

# Verifica se está no X11
if [ "$XDG_SESSION_TYPE" != "x11" ]; then
   zenity --error --text="Esse script só funciona no X11.\nSessão atual: $XDG_SESSION_TYPE"
   exit 1
fi

# Pede o nome do arquivo
ARQUIVO=$(zenity --entry \
   --title="Gravar Tela (X11)" \
   --text="Digite o nome do arquivo (sem extensão):" \
   --entry-text="gravacao")

# Sai se estiver vazio ou cancelado
[ -z "$ARQUIVO" ] && exit

# Resolução fixa (mais estável em hardware limitado, abaixo de 2ª geração)
RESOLUCAO="1366x768"

# Aviso antes de começar
zenity --info \
   --title="Gravação iniciando" \
   --text="A gravação vai começar agora.\n\nPressione Ctrl+C no terminal para encerrar."

# Gravação
ffmpeg \
 -video_size "$RESOLUCAO" \
 -framerate 15 \
 -f x11grab -i "$DISPLAY" \
 -f pulse -i default \
 -af "bass=g=9:frequency=80, treble=g=2" \
 -c:v libx264 \
   -preset ultrafast \
   -crf 28 \
   -pix_fmt yuv420p \
   -g 15 \
   -movflags +faststart \
 -c:a libmp3lame -b:a 128k \
 -r 15 \
 "${ARQUIVO}.mkv"

#################################### 

    A resolução de 1366x768 é a mais estável para captura em máquinas mais simples como Atom ou processadores abaixo de 2ª geração (Intel). Essa resolução deve ser a mesma do monitor; então se quiser estabilidade sem perda de quadros mude a resolução DO MONITOR para essa do script ou teste resoluções do script para ver se resoluções maiores não causam perda de quadros MAS a resolução da tela TEM QUE SER a mesma que está no script ou vice-versa.

    O framerate 15 é o mínimo recomendado para os olhos não notarem a transição de quadros do vídeo, ou seja, é a taxa de quadros por segundo que o vídeo é mostrado na tela. O valor ideal é entre 20 e 25 para vermos um vídeo fluído mas o valor de 15 é o mínimo para uma boa visualização sem notar muito a falta de quadros suficientes para "enganar" os olhos. Os itens CRF 28, -g 15 e -r 15 são, respectivamente, a qualidade da captura (menor que 28 = qualidade maior = tamanho do vídeo maior); -g e -r devem seguir o framerate em valores.

    Salve o arquivo com CTRL + O e CTRL + X, digite sem as aspas " chmod +x ~/gravar.sh " e pronto, o script está pronto para uso. Para facilitar vamos criar um alias no bashrc. No Terminal digite:

nano ~/.bashrc

    Lá no final do arquivo coloque:

alias gravar='/home/coloque-aqui-o-seu-usuário/gravar.sh'
 

    Salve o arquivo e dê no Terminal sem as aspas " source ~/.bashrc ". Para gravar, basta digitar o alias (gravar) e vai aparecer a janela de gravação, onde você escolhe o nome do arquivo e o aviso que para parar de gravar basta apertar CTRL + C. O arquivo será salvo no formato MKV e pronto para edição.

 Não esqueça de instalar os pacotes ffmpeg, xrandr e zenity.

Nenhum comentário:

Postar um comentário