O conceito por trás do cursor suave e do auto-zoom#
Criar tutoriais técnicos e demonstrações no Linux quase sempre esbarra em um desejo comum: ter aquele visual polido do Screen Studio (popular no macOS), onde a câmera aproxima com suavidade nos cliques e o ponteiro desliza pela tela sem tremer.
Neste artigo, mostro como funciona a interpolação do cursor suave, as melhores opções em AppImage para pós-produção e como configurar zoom em tempo real no OBS Studio (no Linux Mint com X11 e no CachyOS com Wayland).
1. Como funciona o cursor suave na prática#
O movimento fluido do cursor não é uma gravação direta da tela. Ele é gerado via pós-processamento de coordenadas:
- Gravação em dois fluxos: O programa grava o vídeo da tela (via PipeWire ou X11) e, ao mesmo tempo, salva um arquivo de log com as coordenadas
(X, Y)e os cliques do mouse. - Interpolação de trajetória: O editor descarta o cursor pixelado original e calcula curvas suaves (como curvas de Bézier ou interpolação linear lerp) entre as posições registradas.
- Camada vetorial sobreposta: Um cursor vetorial é renderizado por cima do vídeo seguindo essa curva suave, removendo qualquer micro-tremor da mão.
2. Gravadores com pós-produção e timeline visual (appimage)#
Se você quer gravar primeiro e depois ajustar o zoom, cores de fundo e bordas arredondadas:
- ScreenArc e Recordly: Ferramentas open source que entregam uma timeline pós-gravação para ligar/desligar o zoom automático por clique e exportar em 16:9 ou 9:16.
- Como rodar via AppImage:
# Baixar o executável oficial (exemplo do ScreenArc)
wget https://github.com/tamnguyenvan/screenarc/releases/latest/download/ScreenArc-x86_64.AppImage
chmod +x ScreenArc-x86_64.AppImage
./ScreenArc-x86_64.AppImage
3. Gravação e zoom em tempo real com OBS studio#
Se você grava vídeos longos ou dá aulas e não quer perder tempo renderizando em pós-produção, o OBS Studio entrega o arquivo pronto assim que você clica em "Parar Gravação".
A. O problema do travamento na interface do OBS#
Muitos scripts comunitários usam loops síncronos de pynput que travam a thread principal do Qt no OBS, congelando a interface gráfica no Linux.
B. A solução: listener sidecar desacoplado#
No Linux Mint (X11) e CachyOS, a forma mais estável é rodar um listener leve em segundo plano disparando atalhos no OBS com controle de debounce:
#!/usr/bin/env python3
# autoclick_zoom_sidecar.py - Listener assíncrono com debounce e suporte X11/Wayland
import os
import time
import subprocess
from pynput import mouse
LAST_CLICK = 0
DEBOUNCE_SECONDS = 0.8
IS_WAYLAND = os.environ.get("XDG_SESSION_TYPE", "").lower() == "wayland"
def trigger_hotkey():
# Dispara a tecla de atalho configurada no OBS Studio (ex: F12)
if IS_WAYLAND:
# No Wayland (CachyOS), usamos wtype ou ydotool pois o xdotool não injeta eventos nativos
subprocess.run(["wtype", "-k", "F12"], check=False)
else:
# No X11 (Linux Mint / Cinnamon), o xdotool opera diretamente no display server
subprocess.run(["xdotool", "key", "F12"], check=False)
def on_click(x, y, button, pressed):
global LAST_CLICK
if pressed and button == mouse.Button.left:
now = time.time()
if now - LAST_CLICK > DEBOUNCE_SECONDS:
LAST_CLICK = now
trigger_hotkey()
with mouse.Listener(on_click=on_click) as listener:
listener.join()
C. Configuração no OBS studio#
- Instale o OBS Studio pelo gerenciador nativo (
apt install obs-studiooupacman -S obs-studio). - Salve os scripts na sua pasta de usuário:
~/.config/obs-studio/scripts/. - No OBS, vá em Ferramentas > Scripts, carregue o script de zoom e associe a tecla de atalho ao zoom da captura de tela.
4. Comparativo de ferramentas no Linux#
| Ferramenta | Formato | Pós-produção | Interpolação | Melhor Uso |
|---|---|---|---|---|
| ScreenArc / Recordly | AppImage | Sim (timeline visual) | Sim (Bézier / Vetorial) | Demonstrações de produto e vídeos curtos |
| OBS Studio + Sidecar | Nativo (Apt / Pacman) | Não (render em tempo real) | Sim (na câmera) | Aulas longas e gravações de terminal |
| Cursorful | Extensão Chromium | Sim (no navegador) | Sim (suavizado) | Demonstrações rápidas de sistemas web |
| Gromit-MPX | Nativo (F9) | Não (desenho na tela) | Não | Desenhar setas e anotações ao vivo |
Dicas práticas para gravar no Linux#
- Evite scripts síncronos no OBS: Nunca use scripts de mouse que bloqueiem a thread da interface gráfica; prefira sidecars orientados a eventos.
- No Wayland, mantenha o PipeWire em dia: Pacotes
pipewire,wireplumberexdg-desktop-portalatualizados garantem que as coordenadas do cursor cheguem sem atraso. - Escolha pelo fluxo: Use o ScreenArc para vídeos curtos e demonstrativos de produto, e o OBS Studio para gravações densas de terminal onde o arquivo precisa sair pronto.
Este artigo foi útil?
Deixe uma reação rápida para apoiar o conteúdo:
Este post está licenciado sob CC BY-NC.



Comentários
Participe da discussão abaixo.
0 comentários