Skip to content

CodeGeekR/compress_mp4

Repository files navigation

🚀 Script de Compresión de Video MP4 con Aceleración Hardware

Python Apple Silicon HandBrake

Script avanzado de Python diseñado para comprimir múltiples videos utilizando HandBrakeCLI en macOS. Versión 1.1 incluye optimizaciones específicas para Apple Silicon (M1, M2, M3, M4) con doble modo de compresión para máximo rendimiento y flexibilidad.

✨ Características Principales

🎯 Doble Modo de Compresión

  • 🖥️ Modo CPU: Compresión con x264 (CRF 26) - Probado y confiable
  • ⚡ Modo GPU: VideoToolbox H.265 optimizado para Apple Silicon
    • Hardware decoders habilitados para pipeline GPU completo
    • 15-30% más rápido en chips Apple Silicon
    • Calidad superior con CRF 19
    • Optimización de latencia (max-frame-delay=1)

📊 Rendimiento Optimizado

  • Alta tasa de compresión: Reducción del 60-80% del tamaño original
  • Calidad preservada: Configuraciones probadas para óptima calidad visual
  • Estadísticas completas: Tiempo, espacio ahorrado y métricas detalladas
  • Sonido de finalización: Notificación auditiva al completar el proceso

🛠️ Instalación y Requisitos

Requisitos del Sistema

  • 🍎 macOS (optimizado para Apple Silicon M1/M2/M3/M4)
  • 🐍 Python 3.x
  • 🎬 HandBrakeCLI (instalado via Homebrew)

Instalación Rápida

# Instalar HandBrakeCLI
brew install handbrake

# Clonar repositorio
git clone https://github.com/CodeGeekR/compress_mp4.git
cd compress-mp4

🎮 Guía de Uso

Ejecución del Script

python3 compress.py

Selección de Modo

El script te presentará un menú interactivo:

🎬 Bienvenido al Compresor de Videos v1.1

Selecciona el modo de compresión:
1. 🖥️  CPU Mode (x264) - Estable y confiable
2. ⚡ GPU Mode (VideoToolbox) - Optimizado para Apple Silicon

Ingresa tu opción (1 o 2):

Flujo de Trabajo

  1. Selecciona la carpeta con tus videos (.mp4, .mov, .avi, .mkv)
  2. Define la carpeta de salida para videos comprimidos
  3. Elige el modo de compresión (CPU o GPU)
  4. Confirma la configuración y ¡deja que el script haga su magia! ✨

⚙️ Especificaciones Técnicas

Modo CPU (x264)

Codec: H.264 (x264)
CRF: 26
Preset: very fast
Tune: film
Resolución: Preservada (máx. 1080p)

Modo GPU (VideoToolbox - Apple Silicon)

Codec: H.265 (VideoToolbox)
CRF: 19
Preset: speed
Hardware Decoders: Habilitados
Max Frame Delay: 1 (ultra-baja latencia)
Look-ahead: 40 frames
Reference frames: 5
QP Range: 10-30
Resolución: Preservada (máx. 1080p)

📈 Métricas de Rendimiento

Característica Modo CPU Modo GPU (Apple Silicon)
Velocidad Baseline +15-30% más rápido
Calidad Excelente (CRF 26) Superior (CRF 19)
Compresión 60-70% 70-80%
Uso de Hardware Solo CPU CPU + GPU optimizado
Codec H.264 H.265 (HEVC)
Compatibilidad Universal Apple Silicon nativo

🎯 Características Avanzadas

Estadísticas Detalladas de Compresión

Estadísticas de Compresión en Consola

🗑️ Gestión Automática de Archivos

  • Archivos originales enviados automáticamente a la papelera
  • Nombres de archivo optimizados con sufijo "_compressed"
  • Preservación de metadatos importantes

Optimizaciones de Productividad

  • Detección automática de tipo de archivo
  • Manejo robusto de errores
  • Estadísticas en tiempo real
  • Opción de apagado automático del Mac al finalizar

🤝 Contribuir

¡Contribuciones son bienvenidas! 🚀

Cómo Contribuir

  1. Fork este repositorio
  2. Crea una rama: git checkout -b feature/nueva-funcionalidad
  3. Commit tus cambios: git commit -m "Añade nueva funcionalidad"
  4. Push a la rama: git push origin feature/nueva-funcionalidad
  5. Abre un Pull Request

Reportar Issues

  • 🐛 Bugs: Reporta errores con detalles específicos
  • 💡 Ideas: Sugiere nuevas funcionalidades
  • 📖 Documentación: Mejoras en la documentación

📄 Licencia

Este proyecto está bajo la Licencia MIT. Ver LICENSE para más detalles.

🙏 Agradecimientos

  • HandBrake Team por su excelente CLI
  • Apple por las optimizaciones de VideoToolbox
  • Comunidad Open Source por el feedback continuo

¿Te gusta este proyecto? ⭐ ¡Danos una estrella!

GitHub stars

About

Script para comprimir archivos de Video

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages