Video

Comprimir H.264

$
ffmpeg -i input.mp4 -c:v libx264 -crf 28 -preset fast -c:a aac output.mp4

CRF 18–28 (menor = mejor calidad). Preset controla velocidad vs tamaño.

Comprimir H.265 / HEVC

$
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset fast -c:a aac output.mp4

Ofrece ~50% mejor compresión que H.264 manteniendo la calidad visual.

Cortar fragmento

$
ffmpeg -ss 00:01:00 -i input.mp4 -to 00:02:30 -c copy output.mp4

Corta sin recodificar. Pon -ss antes de -i para mayor precisión.

Cambiar resolución

$
ffmpeg -i input.mp4 -vf scale=1920:1080 -c:a copy output.mp4

Usa -2 en scale para mantener proporción automáticamente (ej. 1280:-2).

Cambiar velocidad

$
ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" -af "atempo=2.0" output.mp4

setpts=0.5 duplica velocidad. Para cámara lenta usa setpts=2.0 y atempo=0.5.

Rotar 90°

$
ffmpeg -i input.mp4 -vf "transpose=1" output.mp4

transpose: 0=90°CCW, 1=90°CW, 2=90°CCW+flip, 3=90°CW+flip.

Voltear horizontal

$
ffmpeg -i input.mp4 -vf hflip output.mp4

hflip para espejo horizontal. vflip para espejo vertical.

Escala de grises

$
ffmpeg -i input.mp4 -vf "format=gray" output.mp4

Convierte a blanco y negro sin alterar la estructura del contenedor.

Video en reversa

$
ffmpeg -i input.mp4 -vf reverse -af areverse output.mp4

Invierte video y audio. Nota: Consume mucha RAM en archivos largos.

Marca de agua

$
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=W-w-10:H-h-10" output.mp4

overlay=W-w-10:H-h-10 posiciona el logo en la esquina inferior derecha.

Subtítulos quemados

$
ffmpeg -i input.mp4 -vf subtitles=subs.srt output.mp4

Quema permanentemente los subtítulos en la imagen del video.

Captura de fotograma

$
ffmpeg -ss 00:00:05 -i input.mp4 -frames:v 1 -q:v 2 frame.jpg

Extrae un frame. -q:v 2 genera un JPEG de alta calidad.

Video a GIF

$
ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 output.gif

Usa paleta de colores adaptativa para máxima calidad en GIFs.