aboutsummaryrefslogtreecommitdiffstats
path: root/src/ffmpeg.gmo
diff options
context:
space:
mode:
authorsejo <sejo@texto-plano.xyz>2021-05-20 17:58:00 -0500
committersejo <sejo@texto-plano.xyz>2021-05-20 17:58:00 -0500
commite2003fcc93d8cc25a85e55f12ef1044ca3a3bd1d (patch)
tree9ec6ec8f8626935e0667f389862687deddb948f6 /src/ffmpeg.gmo
parent5ee0826789dfc0beb432b29104a16b0480884b99 (diff)
downloadsitio-e2003fcc93d8cc25a85e55f12ef1044ca3a3bd1d.tar.gz
acomodando sitio
Diffstat (limited to 'src/ffmpeg.gmo')
-rw-r--r--src/ffmpeg.gmo112
1 files changed, 112 insertions, 0 deletions
diff --git a/src/ffmpeg.gmo b/src/ffmpeg.gmo
new file mode 100644
index 0000000..e417273
--- /dev/null
+++ b/src/ffmpeg.gmo
@@ -0,0 +1,112 @@
+# apuntes de ffmpeg
+
+notas de usos comunes que le doy a ffmpeg
+
+# "trim" / cortar
+
+```
+ffmpeg -i input.video -ss 5 -t 20 output.video
+```
+
+donde:
+-ss es el tiempo inicial
+-t es la duracion total del nuevo video
+
+
+# escalar
+
+```
+ffmpeg -i input.video -vf scale=640:480 output.video
+```
+
+y para reducir el tamaño del archivo, suele ser útil recomprimir con crf (constant rate factor)
+
+```
+ffmpeg -i input.video -crf 24 output.video
+```
+
+en teoría 24 es una compresión difícil de percibir. números mayores comprimen más.
+
+# cambio de framerate
+
+```
+ffmpeg -i input.video -r 30 output.video
+```
+
+o
+
+```
+ffmpeg -i input.video -filter:v fps=fps=30 output.video
+```
+
+# cambio de "velocidad"
+
+obtiene un video a 2x de velocidad:
+
+```
+ffmpeg -i input.video -filter:v "setpts=0.5*PTS" output.video
+```
+
+para hacer 60x (por ejemplo, convertir minutos a segundos):
+
+```
+ffmpeg -i input.video -filter:v "setpts=0.016*PTS" output.video
+```
+
+# concatenar
+
+hacer lista de videos con el formato:
+
+```
+file 'archivo1'
+file 'archivo2'
+file 'archivo3'
+```
+y luego:
+
+```
+ffmpeg -f concat -i lista.txt -c copy output.video
+```
+
+
+# generar video desde serie de img
+
+```
+ffmpeg -framerate 30 -i frame-%04d.tif -pix_fmt yuv420p -c:v libx264 <output.mp4>
+```
+
+# crop (y exportar desde recordmydesktop)
+
+```
+ffmpeg -i out.ogv -filter:v "crop=1280:720:0:0" -codec:v libx264 -codec:a libmp3lame output.mp4
+```
+
+
+# video a partir de una imagen
+
+```
+# video de una imagen,
+# 10 segundos, 30 frames por segundo
+ffmpeg -loop 1 \
+ -i imagen_verde.png \
+ -t 00:00:10 -r 30 \
+ video_verde.ogv
+```
+
+# video a partir de serie de imágenes
+
+```
+# cambia entre imágenes a 2fps,
+# video final a 30fps
+ffmpeg -framerate 2 \
+ -i "%02d.png" \
+ -pix_fmt yuv420p \
+ -c:v libx264 \
+ -r 30 salida.mp4
+```
+
+# overlay de imagen sobre video
+
+```
+ffmpeg -i input.mp4 -i imagen.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" output.mp4
+```
Un proyecto texto-plano.xyz