| input="outputxxii.mp4" | |
| total_clips=16 # <--- CAMBIA ESTO por el número total de videos | |
| frames_per_clip=81 | |
| fps=16 | |
| # Calculamos la duración de cada clip (81/16 = 5.0625) | |
| duration="5.0625" | |
| for ((i=0; i<total_clips; i++)) | |
| do | |
| # Calculamos el tiempo de inicio usando awk para evitar problemas con bc | |
| start_time=$(awk "BEGIN {print $i * $frames_per_clip / $fps}") | |
| # Formateamos el nombre de salida (clip_001.mp4, clip_002.mp4...) | |
| output=$(printf "clip_%03d.mp4" $((i+1))) | |
| echo "Extrayendo $output iniciando en $start_time segundos..." | |
| # Ejecutamos FFmpeg | |
| # Nota: Ponemos -ss DESPUÉS de -i para máxima precisión en videos con índices dañados | |
| ffmpeg -y -i "$input" -ss "$start_time" -t "$duration" -c:v libx264 -crf 18 -pix_fmt yuv420p "$output" | |
| done |