Communitygithub.com

PsyNetDev/record-participant-video

Graba evidencia visual del flujo de participantes en PsyNet mediante interacciones con Playwright, capturas de pantalla y captura de pantalla/audio con ffmpeg. Úsalo al recopilar evidencia de participantes, crear participant.mp4 o documentar el comportamiento orientado al participante.

¿Qué es record-participant-video?

Esta skill automatiza la grabación de evidencia visual del flujo de participantes en experimentos de PsyNet. Utiliza Playwright para interactuar con la interfaz del participante, tomar capturas de pantalla y, junto con ffmpeg, capturar tanto la pantalla como el audio de la sesión. Es especialmente útil para generar videos de demostración (participant.mp4) que documenten el comportamiento del participante durante el experimento, facilitando la revisión y el análisis posterior. Compatible con plataformas que ejecuten PsyNet y requieran pruebas automatizadas de la experiencia del usuario.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/PsyNetDev/psynet-mirror/tree/master/.cursor/skills/experiment/record-participant-video

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace record-participant-video?

Graba evidencia visual del flujo de participantes en PsyNet mediante interacciones con Playwright, capturas de pantalla y captura de pantalla/audio con ffmpeg. Úsalo al recopilar evidencia de participantes, crear participant.mp4 o documentar el comportamiento orientado al participante.

Descripción

Esta habilidad automatiza la grabación de la evidencia visual del flujo de participantes en experimentos de PsyNet. Utiliza Playwright para simular interacciones del participante con la interfaz web, tomar capturas de pantalla en momentos clave, y emplea ffmpeg para capturar tanto la pantalla como el audio de la sesión. El resultado es un video (participant.mp4) que documenta fielmente el comportamiento del participante, útil para revisión, depuración y presentación de resultados.

Plataformas compatibles

  • PsyNet: Plataforma principal para la que está diseñada esta habilidad.
  • Playwright: Framework de automatización de navegadores utilizado para las interacciones.
  • ffmpeg: Herramienta de procesamiento multimedia para la captura de pantalla y audio.

Requisitos previos

  • Tener instalado Node.js (versión 14 o superior).
  • Tener instalado Playwright (npm install playwright).
  • Tener instalado ffmpeg en el sistema (disponible en PATH).
  • Acceso a una instancia de PsyNet en ejecución.

Instalación

  1. Clona el repositorio: git clone https://github.com/PsyNetDev/record-participant-video.git
  2. Instala las dependencias: npm install
  3. Configura las variables de entorno necesarias (ver sección de configuración).

Configuración

Define las siguientes variables de entorno en un archivo .env o en tu entorno de ejecución:

  • PSYNET_URL: URL de la instancia de PsyNet (ej. http://localhost:3000).
  • PARTICIPANT_ID: Identificador único del participante.
  • OUTPUT_DIR: Directorio donde se guardará el video (por defecto, ./output).
  • RECORDING_DURATION: Duración máxima de la grabación en segundos (opcional).

Uso

Ejecuta el script principal:

node record.js

Esto iniciará la grabación de la interacción del participante con PsyNet. El script:

  1. Abre un navegador con Playwright.
  2. Navega a la URL configurada.
  3. Simula interacciones (clics, escritura, etc.) según el flujo definido.
  4. Toma capturas de pantalla en momentos clave.
  5. Inicia la captura de pantalla y audio con ffmpeg.
  6. Detiene la grabación al finalizar o alcanzar la duración máxima.
  7. Genera el archivo participant.mp4 en el directorio de salida.

Personalización

Puedes modificar el script record.js para ajustar las interacciones simuladas según el flujo específico de tu experimento. Consulta la documentación de Playwright para más detalles.

Ejemplo de integración

const { recordParticipant } = require('record-participant-video');

await recordParticipant({
  psynetUrl: 'http://localhost:3000',
  participantId: 'p123',
  outputDir: './recordings',
  interactions: [
    { type: 'click', selector: '#start-btn' },
    { type: 'type', selector: '#input', text: 'respuesta' },
    { type: 'wait', duration: 2000 },
    { type: 'screenshot', name: 'step1' },
  ],
});

Solución de problemas

  • ffmpeg no encontrado: Asegúrate de que ffmpeg esté instalado y en el PATH del sistema.
  • Playwright no conecta: Verifica que la URL de PsyNet sea accesible y que no haya bloqueos de CORS.
  • Video vacío: Revisa que la duración de grabación sea suficiente y que la pantalla esté visible.

Licencia

MIT

Contribuciones

Las contribuciones son bienvenidas. Por favor, abre un issue o pull request en el repositorio de GitHub.

Skills relacionados