CommunityProgramación y desarrollogithub.com

compress-video

Comprime archivos MP4 a tamaños más pequeños manteniendo una calidad visualmente sin pérdidas, reduciendo inteligentemente la tasa de fotogramas y recodificando con configuraciones óptimas de códec/CRF.

¿Qué es compress-video?

Esta habilidad reduce el tamaño de archivos MP4 mediante recodificación con valores predeterminados inteligentes. Su principal ventaja es que muchas capturas de pantalla y videos de personas hablando están sobrecodificados a 60fps. Al reducir a 30fps y ajustar el codificador se logra una reducción del 20-50% sin diferencias perceptibles en la calidad. Es compatible con cualquier plataforma que tenga Python 3.8+ y ffmpeg instalado, y se puede usar tanto desde línea de comandos como desde API de Python. Ofrece varios perfiles de compresión (desde lossless hasta aggressive) y estrategias como cambio de códec H.264 a H.265, reducción de resolución y ajuste 'stillimage' para código/diapositivas. Es ideal para desarrolladores que necesitan compartir screencasts, demos o videos de entrenamiento de forma más eficiente sin sacrificar la experiencia visual.

Compatible con~Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/luk036/agent-skills/tree/HEAD/skills/compress-video

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

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

Documentación

Qué hago

Reduzco el tamaño de archivos MP4 recodificándolos con valores predeterminados inteligentes. La clave: la mayoría de las capturas de pantalla y videos de personas hablando están sobrecodificados a 60fps. Reducir a 30fps y ajustar el codificador proporciona una reducción del 20-50% sin diferencias perceptibles en la calidad.

Scripts incluidos: @compress_video.py

Cuándo usarme

  • Tienes un MP4 demasiado grande para compartir/subir
  • Grabaste una captura de pantalla a 60fps y deseas reducirla a la mitad
  • Necesitas calidad "suficientemente buena" a una fracción del tamaño
  • Deseas comprimir por lotes videos de entrenamiento, demos o grabaciones

Cómo usar

CLI (rápido)

# Solo analizar
python compress_video.py input.mp4 --probe-only

# Compresión predeterminada (alta calidad)
python compress_video.py input.mp4 output.mp4

# Compresión agresiva para archivos pequeños
python compress_video.py input.mp4 -p aggressive

# Captura de pantalla (código/herramientas EDA): reducir 60→30fps, ajuste stillimage
python compress_video.py input.mp4 -p balanced --tune stillimage --fps 30

# Reducir resolución a 1080p
python compress_video.py input.mp4 -p balanced --resolution 1920x1080

API de Python

from compress_video import compress, probe

# Primero analizar
info = probe("input.mp4")
print(f"{info['width']}x{info['height']} @ {info['fps']:.0f}fps")

# Comprimir con valores predeterminados
compress("input.mp4", "output.mp4")

# Comprimir con configuración agresiva
compress("input.mp4", "output.mp4", profile="aggressive",
         fps=24, tune="stillimage")

Requisitos

  • Python 3.8+
  • ffmpeg instalado y en PATH (con ffprobe)

Perfiles de compresión

Perfilx264 CRFx265 CRFCaso de uso
lossless1820Archivado, máxima calidad
high (predeterminado)2325Visualmente sin pérdida, valor seguro
balanced2628Buena calidad, archivos más pequeños
aggressive2830Archivos pequeños, pérdida de gradiente menor

Estrategias clave

TécnicaAhorro típicoImpacto en calidad
60fps → 30fps~25%Imperceptible para capturas de pantalla
H.264 CRF 23 (desde CRF 18)~20%Ninguno para la mayoría de espectadores
H.264 → H.265 (libx265)~30-40%Ninguno (mismo CRF)
--tune stillimage~5-10%Mejor para código/diapositivas
Reducir resolución 3200→1920~50%Pérdida de nitidez al ampliar

Ejemplos

Reducir una captura de pantalla de 125 MB en un 30-50%

# Ejecución rápida predeterminada (usa libx264, reduce 60→30fps)
python compress_video.py recording.mp4 recording_compressed.mp4
# 125 MB → 97 MB (-22%)

# Con ajuste stillimage (mejor para código/capturas)
python compress_video.py recording.mp4 -p balanced --tune stillimage --fps 30
# 125 MB → ~80 MB (-35%)

# HEVC completo con preset más lento
python compress_video.py recording.mp4 --codec h265 --preset slow --fps 30
# 125 MB → ~60 MB (-50%, pero codifica más lento)

Procesar por lotes una carpeta

Get-ChildItem *.mp4 | ForEach-Object {
    python compress_video.py $_.Name "$($_.BaseName)_compressed.mp4"
}

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Skills relacionados