Skip to content

Instantly share code, notes, and snippets.

@buendias-dev
Last active February 19, 2024 10:33
Show Gist options
  • Save buendias-dev/a247670d054f2eb533920e02af0feb79 to your computer and use it in GitHub Desktop.
Save buendias-dev/a247670d054f2eb533920e02af0feb79 to your computer and use it in GitHub Desktop.
Guía rápida de ffmpeg

ffmpeg es una utilidad que permite manipular vídeos desde la línea de comandos. Créeme si te digo que no hay una manera más rápida de editar vídeos que con ffmpeg.

Recortar la duración de un vídeo

Desde el segundo 3, al minuto y 20 segundos de un vídeo

ffmpeg -i entada.mp4 -ss 00:00:03 -t 00:01:20 -o salida.mp3

Desde el minuto 5:10 del vídeo hasta el minuto 15:30 sin recodificar

ffmpeg -i input.mp4 -ss 00:05:10 -to 00:15:30 -c:v copy -c:a copy output2.mp4

Convertir según fichero de texto

files.txt

file0.mp4 00:01:15 00:05:20 salida0.mp4
file1.mp4 00:01:15 00:05:20 salida1.mp4
file2.mp4 00:01:15 00:05:20 salida2.mp4
file3.mp4 00:01:15 00:05:20 salida3.mp4
cat files.txt | awk NF | awk '!/#/ {print "ffmpeg -i " $1, "-ss", $2, "-to", $3, "-c:v copy -c:a copy", $4}'

También podemos recortar desde el segundo 3, con una duración de 5 segundos

ffmpeg -i entada.mp4 -ss 3 -t 5 -o salida.mp3

Pasar un vídeo de 1080 a 720

ffmpeg -i entrada_1080.mp4 -s hf720 salida_720.mp4

Estabilizar un vídeo

  1. Crear archivo de estabilización (fichero transforms.trf)
ffmpeg -i entrada.mp4 -vf vidstabdetect -f null -
  1. Estabilizar vídeo
ffmpeg -i entrada.mp4 -vf vidstabtransform=smoothing=5:input="transforms.trf" salida_estabilizada.mp4

Estabilizar vídeo con comparativa de ambos vídeos (uno a cada lado)

Primero hay que crear el archivo trf como en el paso anterior

ffmpeg -i entrada.mp4 -i video_estabilizado.mp4 -filter_complex "[0:v:0]pad=iw*2:ih[bg]; [bg][1:v:0]overlay=w" video_comparativo.mp4

Convertir un archivo de audio stereo en mono

ffmpeg -i stereo.flac -ac 1 mono.flac

Todos los ejemplos stereo-mono aquí

Aplicar un filtro ladspa a un fichero de audio

Antes deberíamos averiguar los parámetros necesarios en el filtro

ffmpeg -y -i audio.wav -filter_complex "ladspa=file=tap_dynamics_m:tap_dynamics_m:controls=help" salida.wav

Después los aplicamos

ffmpeg -y -i audio.wav -filter_complex "ladspa=file=tap_dynamics_m:tap_dynamics_m:controls=c0=1|c1=4|c2=0|c3=0|c4=0" salida.wav

También podemos usar una notación más corta

ffmpeg -y -i audio.wav -filter_complex "ladspa=file=tap_dynamics_m:tap_dynamics_m:controls=0|0|0|0|4" salida.wav
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment