Ffmpeg. Trucos y trucos

Introducción

FFmpeg es un procesador multimedia, un conjunto de bibliotecas que le permiten grabar, procesar y convertir materiales de video y / o audio en varios formatos. Con esta herramienta, puede realizar ediciones de video de casi cualquier complejidad. Es utilizado por muchos reproductores, convertidores, editores y bibliotecas de visión por computadora. En este artículo, compartiré algunos de los trucos y trucos de FFmpeg que suelo usar en mi trabajo.





Recortar video por tiempo

Muy a menudo es necesario cortar un pequeño fragmento de n a m segundos de un video . Para ello, es necesario especificar el segundo con el que cortar y la duración.





ffmpeg -i i.mp4 -ss 00:01:00 -t 00:02:00 -c copy o.mp4
      
      



El parámetro -ss



indica el punto de partida y -t



la duración.





¡Nota IMPORTANTE! Si la duración del video es de 5 minutos, especificaremos el punto de inicio a las 00:04:00, y la duración a las 00:02:00, la duración del video final será de 1 minuto.





Aquí y más adelante en el texto del artículo, se i.mp4



encuentra la ruta al archivo de entrada y o.mp4



, a la salida.





Crear video a partir de fotos

Supongamos que tenemos una cámara de seguridad que toma una foto cada minuto durante el día y queremos obtener un video continuo.





, .jpg , 10 FPS, H.264 .





ffmpeg -framerate 10 -pattern_type glob -i '*.jpg' -c:v libx264 o.mp4
      
      



— .





ffmpeg -i o.mp4 -r 1 -q:v 2 -f image2 img-3%d.jpeg
      
      



, list.txt , , :





file 'video1.mp4'
file 'video2.mp4'
file 'videoN.mp4'
      
      



:





ffmpeg -f concat -i list.txt -c copy o.mp4
      
      



, , , :





for f in ./*.mp4; do echo "file '$f'" >> list.txt; done
      
      



:





printf "file '%s'\n" ./*.mp4> list.txt
      
      



:





ffmpeg -i i.mp4 -c:v copy -an o.mp4
      
      



:





ffmpeg -i i.mp4 -vn 0.wav
      
      



, , 16:9 3:4, .





ffmpeg -i i.mp4 -filter:v "crop=w:h:x:y" o.mp4
      
      



crop , , .





(stack video)

, , , :





  • .





  • .





:





ffmpeg -i i0.mp4 -i i1.mp4 -filter_complex hstack=inputs=2 o.mp4
      
      



:





ffmpeg -i i0.mp4 -i i1.mp4 -filter_complex vstack=inputs=2 o.mp4
      
      



2x2:





ffmpeg \
-i i0.mp4 -i i1.mp4 -i i2.mp4 -i i3.mp4 \
-filter_complex \
"[0:v][1:v]hstack=inputs=2[top]; \
[2:v][3:v]hstack=inputs=2[bottom]; \
[top][bottom]vstack=inputs=2[v]" \
-map "[v]" \
o.mp4
      
      



3x2:





ffmpeg \
-i i0.mp4 -i i1.mp4 \
-i i2.mp4 -i i3.mp4 \
-i i4.mp4 -i i5.mp4 \
-filter_complex \
"[0:v][1:v][2:v]hstack=inputs=3[top];\
[3:v][4:v][5:v]hstack=inputs=3[bottom];\
[top][bottom]vstack=inputs=2[v]" \
-map "[v]" \
o.mp4
      
      



ffmpeg -i i.mp4 -vf "transpose=0" o.mp4
      
      



transpose :





  • 0 - 90 . .





  • 1 - 90 .





  • 2 - Gire 90 grados en sentido antihorario.





  • 3 - Gire 90 grados en sentido horario y gire verticalmente.





Epílogo

FFmpeg es una herramienta de procesamiento de video muy poderosa. Con su ayuda, al tener una hoja de trucos sobre sus capacidades, puede ahorrar mucho tiempo: es mucho más rápido ingresar algunos comandos para procesar un video que iniciar un editor.





Si conoce más trucos y trucos útiles, compártalos en los comentarios. ¡Gracias!








All Articles