Detalles del proyecto

  • Inicio
  • / Detalles del proyecto

image

10 Apr 2024

Captura de pantalla en video con Python

Repositorio en Github

En este proyecto desarrollé un grabador de pantalla en Python capaz de capturar en video la actividad del escritorio en Windows. Implementé el manejo de fotogramas, la codificación del video y el control del rendimiento para asegurar una grabación fluida y estable. Este artículo describe la arquitectura del proyecto, las herramientas empleadas y las decisiones técnicas que tomé, demostrando mi capacidad para diseñar e implementar soluciones prácticas utilizando Python.

Se requiere Python 3.12; no es compatible con versiones más recientes.

Este script en Python es una herramienta de captura y encriptación de los archivos generados durante la grabación que:

  • Toma capturas de pantalla de manera periódica.
  • Opcionalmente encripta cada archivo de captura.
  • Combina todas las capturas obtenidas en un video.
  • Y luego, de forma opcional, también encripta el video.
  • Funciona únicamente en Windows.

El proyecto incluye scripts auxiliares para generar archivos ejecutables (.exe).

pyinstaller --onefile --noconsole recorder.py
pyinstaller --onefile --noconsole installer.py
pyinstaller --onefile --noconsole decrypt.py

_

  • El proyecto incluye un script que permite instalarlo en una computadora nueva sin necesidad de tener Python ni ningún software adicional. Este instalador incorpora una interfaz gráfica que permite modificar la configuración predeterminada del programa (FPS, hora de inicio, hora de fin, intervalo, etc.). Además, genera un archivo .bat dentro de la carpeta Startup del usuario para que el proceso se ejecute automáticamente al encender el equipo.

Screenshot

Screenshot

Screenshot

  • El proyecto incluye un script que permite desencriptar grabaciones (o capturas de pantalla, si así se requiere). A través de una interfaz gráfica, el usuario puede seleccionar la ubicación del archivo, y el proceso genera un archivo multimedia listo para visualizar.

Screenshot

Screenshot

  • Finalmente, el software principal es el encargado de leer la configuración inicial. Una vez concluido el horario definido, genera un archivo de video encriptado listo para ser procesado por el script de desencriptado. Asimismo, el programa permite especificar una ruta HTTP para subir el archivo a un servidor.

Screenshot

  • encrypt: Valores aceptados false o true. Determina si los archivos multimedia generados deben encriptarse o no.
  • fps: Fotogramas por segundo para las grabaciones realizadas.
  • interval: Intervalo de tiempo para cada captura de pantalla. Idealmente, 30 segundos son suficientes para monitorear la actividad de un usuario.
  • speed_multiplier: Determina qué tan rápido deben mostrarse las capturas de pantalla en el video final.
  • output_folder: Determina la ubicación de los archivos de video generados en el equipo.
  • output_api_receiver_url: Permite configurar un servidor HTTP para subir los videos generados una vez terminado el periodo de grabación.
  • start_time: Horario de inicio de la grabación.
  • end_time: Horario para finalizar la grabación.

Proyectos similares

image
04 Nov 2025

REST API con .NET para manejo de subscripciones con Stripe

A full-stack platform for service scheduling

image
01 Oct 2025

Real-Time MariaDB - Elasticsearch Replication Pipeline

Diseñé e implementé un sistema de replicación de datos en tiempo real capaz de manejar millones de inserciones de filas por día.

image
10 Apr 2024

Captura de pantalla en video con Python

En este proyecto desarrollé un grabador de pantalla en Python capaz de capturar en video la actividad del escritorio en Windows.