-
Notifications
You must be signed in to change notification settings - Fork 0
/
v2gif
executable file
·30 lines (25 loc) · 1.13 KB
/
v2gif
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#! /bin/bash
# CONVIERTE UN VIDEO EN GIF ANIMADO
# RUTA COMPLETA DEL FICHERO DE VIDEO DE ENTRADA
read -e -p "Introduce el video de entrada: " -i "/mnt/d/Vídeos/" v_entrada
ruta="${v_entrada%/*}/" # RUTA DEL FICHERO DE VIDEO DE ENTRADA SIN EL NOMBRE NI LA EXTENSIÓN
nom_f="${v_entrada##*/}" # NOMBRE DEL FICHERO DE VIDEO DE ENTRADA CON EXTENSIÓN
ext_f=".${nom_f##*.}" # EXTENSIÓN DEL FICHERO DE VIDEO DE ENTRADA
nom_f="${nom_f%.*}" # NOMBRE DEL FICHERO DE VIDEO DE ENTRADA SIN EXTENSIÓN
read -e -p "Introduce el número de fotogramas por segundo (10): " -i "10" fps
read -e "Introduce en que proporción se modifica el retraso entre fotogramas (0.5 multiplica x2 la velocidad): " -i "0.5" pts
v_salida="${ruta}${nom_f}_v2gif.gif" # NOMBRE DEL FICHERO GIF ANIMADO INCLUIDA RUTA Y EXTENSIÓN
echo ffmpeg -y -i "${v_entrada}" -filter_complex "[0:v]fps=${fps},split[a][b];[b]palettegen[p];[a][p]paletteuse,setpts=$pts*PTS[v]" -map '[v]' "${v_salida}"
ffmpeg \
-y \
-i "${v_entrada}" \
-filter_complex \
"
[0:v]fps=${fps},
split[a][b];
[b]palettegen[p];
[a][p]paletteuse,
setpts=$pts*PTS[v]
" \
-map '[v]' \
"${v_salida}"