Qué hace
Toma un video fuente y produce un corte vertical (9:16) con subtítulos incrustados. La salida es un único archivo H.264/AAC listo para plataformas de video corto.
Requisitos previos
ffmpegyffprobeenPATH- Acceso de lectura a
~/workspace/input - Acceso de escritura a
~/workspace/output
Verificar el entorno
Ejecuta esto antes de cualquier otra cosa:
command -v ffmpeg && command -v ffprobe
Si falta alguno, detente e informa: MISSING_DEP: ffmpeg. No intentes usar un codificador alternativo.
Pasos
-
Confirma que el archivo fuente exista:
test -f ~/workspace/input/source.mp4Si no existe, informa
MISSING_INPUT: ~/workspace/input/source.mp4. -
Analiza las dimensiones antes de tocar el archivo:
ffprobe -v error -select_streams v:0 -show_entries stream=width,height \ -of csv=p=0 ~/workspace/input/source.mp4 -
Asegúrate de que el directorio de salida exista:
mkdir -p ~/workspace/output -
Ejecuta el corte:
bash scripts/cut.sh ~/workspace/input/source.mp4 ~/workspace/output/final.mp4 -
Confirma que el resultado sea un archivo real e informa su ruta y tamaño:
ls -lh ~/workspace/output/final.mp4
Nunca asumas
- Nunca asumas que la entrada ya es 9:16 — siempre analiza primero.
- Nunca asumas que
~/workspace/outputexiste — usamkdir -p. - Nunca sobrescribas una salida existente sin confirmar con el usuario primero.
- Nunca asumas que el video fuente tiene pista de audio — verifica con
ffprobe -select_streams a -show_entries stream=codec_type -of csv=p=0.
Salida
~/workspace/output/final.mp4 — H.264, 1080x1920, audio AAC, -crf 20.
Manejo de errores
- Si
ffprobefalla → el archivo no es un video válido. InformaBAD_INPUT. - Si
cut.shtermina con código distinto de cero → muestra su stderr textualmente. No reintentes ciegamente. - Si la salida tiene 0 bytes → informa
EMPTY_OUTPUTy detente.