Vidtreo
Ejemplos

Captura de Pantalla

Graba pantalla, ventanas y pestañas del navegador con VIDTREO.

Captura de Pantalla

VIDTREO soporta grabación de pantalla incluyendo pantalla completa, ventanas de aplicaciones y pestañas del navegador.

Grabación de Pantalla 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')}>
          Grabar Pantalla
        </button>
      )}

      {state.recordingState === 'recording' && (
        <button onClick={() => actions.stopRecording()}>
          Detener Grabación
        </button>
      )}
    </div>
  );
}

Cambio Cámara + Pantalla

Permite a los usuarios cambiar entre cámara y pantalla durante la grabación:

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

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

Modo Solo Pantalla

Desactiva la grabación de cámara para mostrar solo captura de pantalla:

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

  useEffect(() => {
    // Comenzar directamente con pantalla
    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' ? 'Grabar' : 'Detener'}
      </button>
    </div>
  );
}

Opciones de Captura

El selector de pantalla del navegador permite a los usuarios seleccionar:

  • Pantalla Completa — Graba todo en un monitor
  • Ventana de Aplicación — Graba una app específica
  • Pestaña del Navegador — Graba una sola pestaña (con audio de la pestaña)

Notas

  • La grabación de pantalla requiere permiso explícito del usuario
  • La captura de audio de pestaña solo funciona para pestañas del navegador
  • Algunos navegadores pueden limitar la grabación de pantalla en ciertas páginas

Próximos Pasos

En esta página