Vidtreo
Exemplos

Captura de Tela

Grave tela, janelas e abas do navegador com VIDTREO.

Captura de Tela

VIDTREO suporta gravação de tela incluindo tela completa, janelas de aplicativos e abas do navegador.

Gravação de Tela Básica

import { useVidtreoRecorder } from '@vidtreo/recorder-react';

function ScreenRecorder() {
  const { state, actions } = useVidtreoRecorder({
    apiKey: import.meta.env.VITE_VIDTREO_API_KEY,
    onUploadComplete: (result) => console.log(result.uploadUrl),
  });

  return (
    <div>
      <video
        ref={(el) => el && state.stream && (el.srcObject = state.stream)}
        autoPlay
        muted
        playsInline
      />

      {state.recordingState === 'idle' && (
        <button onClick={() => actions.startRecording('screen')}>
          Gravar Tela
        </button>
      )}

      {state.recordingState === 'recording' && (
        <button onClick={() => actions.stopRecording()}>
          Parar Gravação
        </button>
      )}
    </div>
  );
}

Troca Câmera + Tela

Permite aos usuários alternar entre câmera e tela durante a gravação:

import { VidtreoRecorder } from '@vidtreo/recorder-react';

function SwitchableRecorder() {
  return (
    <VidtreoRecorder
      apiKey={import.meta.env.VITE_VIDTREO_API_KEY}
      enableSourceSwitching={true}
      lang="pt"
      onUploadComplete={(result) => {
        console.log('Vídeo:', result.uploadUrl);
      }}
    />
  );
}

Modo Apenas Tela

Desativa a gravação de câmera para mostrar apenas captura de tela:

function ScreenOnlyRecorder() {
  const { state, actions } = useVidtreoRecorder({
    apiKey: import.meta.env.VITE_VIDTREO_API_KEY,
    enableSourceSwitching: false,
  });

  useEffect(() => {
    // Começar diretamente com tela
    actions.startPreview('screen');
  }, []);

  return (
    <div>
      <video
        ref={(el) => el && state.stream && (el.srcObject = state.stream)}
        autoPlay
        muted
      />
      <button
        onClick={() =>
          state.recordingState === 'idle'
            ? actions.startRecording('screen')
            : actions.stopRecording()
        }
      >
        {state.recordingState === 'idle' ? 'Gravar' : 'Parar'}
      </button>
    </div>
  );
}

Opções de Captura

O seletor de tela do navegador permite aos usuários selecionar:

  • Tela Completa — Grava tudo em um monitor
  • Janela de Aplicativo — Grava um app específico
  • Aba do Navegador — Grava uma única aba (com áudio da aba)

Notas

  • Gravação de tela requer permissão explícita do usuário
  • Captura de áudio de aba só funciona para abas do navegador
  • Alguns navegadores podem limitar gravação de tela em certas páginas

Próximos Passos

Nesta página