Pular para o conteúdo

Capturando a tela do PC quando o OBS Studio não funciona

Dica publicada em Shell Script / Miscelânea
Sidnei Serra Zoiudo
Hits: 73 Categoria: Shell Script Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

Capturando a tela do PC quando o OBS Studio não funciona

Devido a problemas com drivers de vídeo que não suportam OpenGL 3.0 para cima o OBS-Studio não consegue abrir, dando erro de Mesa e dizendo para o usuário atualizar os drivers de vídeo. Isso pode ocorrer em sistemas que usam vídeo Intel GMA X4500 ou mesmo superiores presentes em muitas placas 775 que usam o chipset G41 e TALVEZ em placas mais novas que usam o driver Intel HD 2500 para baixo.

Um teste básico é abrir o Terminal e digitar:

glxinfo | grep "OpenGL version"

Deverá aparecer algo do tipo

OpenGL version string: 2.1 Mesa 25.0.7-2

Aquele OpenGL version string: 2.1 já entrega que o OpenGL é abaixo do 3.0 e já ferra o uso do OBS Studio. Há outros programas que não precisam do OpenGL mas aqui vou mostrar como gravar a tela sem o programa, usando um script simples que pode ser adaptado ao uso necessário. Vamos usar o ffmpeg para tal MAS o sistema tem que estar em X11 e não em Wayland.

Instale os pacotes necessários:

sudo apt install ffmpeg xrandr zenity

Abra o terminal e digite:

nano ~/gravar.sh

Coloque dentro:

#!/bin/bash # Verifica dependências 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 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 # Nome do arquivo ARQUIVO=$(zenity --entry \ --title="Gravar Tela (X11)" \ --text="Digite o nome do arquivo (sem extensão):" \ --entry-text="gravacao") [ -z "$ARQUIVO" ] && exit # Resolução fixa RESOLUCAO="1366x768" # Pré-aquecimento do áudio (se pw-cat existir) if command -v pw-cat &>/dev/null; then pw-cat --record --duration 1 /dev/null 2>/dev/null sleep 1 fi # Aviso 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 \ -c:v libx264 \ -preset ultrafast \ -crf 28 \ -pix_fmt yuv420p \ -g 30 \ -threads 2 \ -movflags +faststart \ -c:a libmp3lame -b:a 96k \ -af aresample=async=1:first_pts=0 \ "${ARQUIVO}.mkv"

Salve o arquivo e dê o chmod +x no mesmo para torná-lo executável. Para usá-lo, basta digitar no mesmo local em que ele estiver ./gravar.sh e aparecerão mensagens de nome do arquivo desejado e que para parar a gravação basta pressionar CTRL+C.

Algumas observações:

  1. Em Resolução Fixa coloque a resolução adequada para permitir a gravação sem dar DUP (duplicar quadros) e DROP (dropar quadros) pois isso influencia na fluidez do vídeo. No meu exemplo está em 1366x768, adeque então conforme a necessidade de resolução usada no seu monitor;

  2. Em -framerate 15 \ use um FPS que não provoque DUP e DROP de quadros. Em máquinas com processador mais fraco isso poderá ocorrer se colocar 30 fps, o negócio é testar. No meu C2D e7400 15 fps funciona bunitão e com 25 já começa a dropar se o navegador de internet estiver aberto;

  3. Em -g 30 \ coloque o dobro do framerate. No meu exemplo o framerate é 15, então aqui deverá o -g ser 30.

Do jeito que o script está, funciona sem problemas em um Core2Duo e7400 numa placa-mãe Asrock G41-VS3 com tudo onboard e 4GB de RAM. Se você tiver algo melhor mas onde o OBS Studio fica de "OBS-Studiagem", acredito que esse script vai ser uma mão na roda.


Hardware antigo no Arch Linux e outras distribuições

Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads

Instalando partes faltantes do Plasma 6

Usando o VNSTAT para medir o seu consumo de internet

Redimensionando, espelhando, convertendo e rotacionando imagens com script

grep - Binary file XXX matches [Resolvido]

Entrando com argumentos em shell script

Contabilizando Linhas e Palavras de um Projeto com Shell Script

Comando para mostrar o IP utilizado na Internet

Instalando Astah Community no Deepin OS

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.