Script Go simplificado para crear highlights de video con timestamps integrados. Versión optimizada sin funciones de cover/end para máxima compatibilidad.
- 🎯 Configuración Unificada: Solo un archivo de configuración con timestamps integrados
- ⚡ Hardware Acceleration: Detección automática de NVENC, QSV, VAAPI y CPU
- 🔧 Múltiples Perfiles: 9 configuraciones predefinidas para diferentes casos de uso
- 📱 Multi-resolución: Desde 720p móvil hasta 4K
- 🎮 Gaming Ready: Configuraciones específicas para clips de gaming a 60fps
- Descargar Go desde https://golang.org/dl/
- Ejecutar el instalador
.msi - Reiniciar la terminal o PowerShell
- Verificar instalación:
go version- Instalar FFmpeg
winget install ffmpeg- Reiniciar terminal y verificar:
ffmpeg -versiongo run videocut.go config.txtsudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go
# Verificar
go version# Ubuntu/Debian
sudo apt update
sudo apt install ffmpeg
# Verificar
ffmpeg -versiongo run videocut.go config.txtOpción A - Homebrew:
# Instalar Homebrew si no lo tienes
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Instalar Go
brew install goOpción B - Manual:
- Descargar desde https://golang.org/dl/
- Ejecutar el archivo
.pkg - Verificar:
go version# Con Homebrew
brew install ffmpeg
# Verificar
ffmpeg -versiongo run videocut.go config.txtUna vez instalado todo, verifica que funcione:
# Verificar Go
go version
# Verificar FFmpeg
ffmpeg -version
# Verificar codecs de hardware (opcional)
ffmpeg -codecs | grep nvenc # NVIDIA
ffmpeg -codecs | grep qsv # Intel
ffmpeg -codecs | grep vaapi # AMD/Intel Linuxgo run videocut.go config.txtEl archivo config.txt contiene múltiples perfiles. Ejemplo:
[basico]
input = input.mp4
output = output_basico.mp4
hwaccel = auto
width = 1920
height = 1080
fps = 30
crf = 23
preset = fast
00:00:00 00:00:30
00:02:00 00:03:00
[gaming_60fps]
input = input.mp4
output = output_gaming.mp4
hwaccel = auto
width = 1920
height = 1080
fps = 60
crf = 22
preset = fast
00:00:00 00:00:30| Parámetro | Descripción | Valores | Defecto |
|---|---|---|---|
input |
Archivo de entrada | Archivo MP4 | Requerido |
output |
Archivo de salida | Archivo MP4 | Requerido |
hwaccel |
Aceleración hardware | auto, nvenc, qsv, vaapi, cpu |
auto |
width |
Ancho del video | Píxeles | 1920 |
height |
Alto del video | Píxeles | 1080 |
fps |
Cuadros por segundo | 24, 30, 60 | 30 |
crf |
Calidad del video | 18-28 (menor=mejor) | 22 |
preset |
Velocidad encoding | ultrafast, fast, medium, slow |
fast |
threads |
Número de threads | Número o 0 (auto) |
0 |
twopass |
Encoding 2 pasadas | true, false |
false |
optimize |
Optimización | speed, balanced, quality |
balanced |
Los timestamps se especifican directamente en el archivo de configuración:
HH:MM:SS HH:MM:SS
00:01:30 00:02:45
00:05:00 00:07:30
basico: Configuración estándar 1080prapido: Pruebas rápidas 720p con calidad reducida
alta_calidad: Máxima calidad con encoding de 2 pasadascalidad_4k: Contenido 4K (requiere CPU potente)
gaming_60fps: Clips de gaming a 60fpsmobile_optimized: Optimizado para dispositivos móvilesstreaming_optimized: Balance para streaming/web
nvenc_test: Prueba específica con NVENCcpu_forzado: Forzar CPU para máxima compatibilidad
| Hardware | Codec | Notas |
|---|---|---|
| CPU | libx264 | ✅ Siempre funciona, máxima compatibilidad |
| NVIDIA | h264_nvenc | |
| Intel | h264_qsv | |
| AMD/Intel | h264_vaapi |
- Auto-detección: Usa
hwaccel = autopara detección automática - Máxima compatibilidad: Usa
hwaccel = cpusi tienes problemas - Rendimiento: NVENC/QSV son más rápidos pero menos compatibles con filtros complejos
| Resolución | Uso Recomendado | Configuración |
|---|---|---|
| 4K (3840x2160) | Contenido premium | Requiere CPU potente |
| 1440p (2560x1440) | Gaming/streaming alta calidad | Balance calidad/rendimiento |
| 1080p (1920x1080) | Estándar web/YouTube | Recomendado general |
| 720p (1280x720) | Móvil/pruebas rápidas | Menor tamaño archivo |
| CRF | Calidad | Tamaño | Uso |
|---|---|---|---|
| 18-20 | Muy alta | Grande | Contenido final premium |
| 22-24 | Buena | Medio | Balance recomendado |
| 26-28 | Aceptable | Pequeño | Pruebas/mobile |
Problema: Error "Impossible to convert between formats"
Solución: Usar hwaccel = cpu en la configuración
Problema: No se generan archivos de salida
Verificar:
- Archivo de entrada existe
- Timestamps son válidos
- FFmpeg está instalado
Optimizar:
- Usar
preset = ultrafastpara velocidad - Reducir resolución a 720p
- Usar hardware acceleration si funciona
cutcat_scripts/
├── videocut.go # Script principal
├── config.txt # Configuraciones predefinidas
├── input.mp4 # Video de entrada (ejemplo)
└── README.md # Esta documentación
Este es un proyecto simplificado enfocado en funcionalidad core. Para contribuir:
- Fork el proyecto
- Crear feature branch (
git checkout -b feature/mejora) - Commit cambios (
git commit -am 'Añadir mejora') - Push branch (
git push origin feature/mejora) - Crear Pull Request
Proyecto de código abierto. Libre para uso personal y comercial.