Skip to content

spc2538/python-screen-recorder

Repository files navigation

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. 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.

  • 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.

  • 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.

  • 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.

About

Python screenshots recorder to avi video encrypted files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages