Video y audio

FFmpeg: el convertidor de video que lo hace todo

FFmpeg es el motor que procesa video dentro de YouTube, Netflix y prácticamente todo convertidor en línea que hayas usado. Es gratuito, de código abierto, y con un comando hace lo que los servicios de paga hacen con anuncios y límites de tamaño. Estos son los comandos que resuelven el 95% de los casos.

Gratis y open source macOS · Linux · Windows

Instalación

# macOS (Homebrew)
brew install ffmpeg

# Ubuntu / Debian
sudo apt install ffmpeg

# Windows (winget)
winget install Gyan.FFmpeg

Verifica con ffmpeg -version. Si imprime la versión, ya está listo.

Convertir entre formatos

FFmpeg detecta el formato de salida por la extensión del archivo. Esto convierte un MOV de iPhone a MP4 universal:

ffmpeg -i video.mov video.mp4

Funciona igual para cualquier par: .mkv a .mp4, .avi a .mp4, .mp4 a .webm. Un archivo que VLC abre, FFmpeg lo convierte.

Comprimir un video pesado

El control de calidad es el número -crf: más alto comprime más. 23 es el punto medio; 28 comprime fuerte con calidad todavía buena para compartir:

ffmpeg -i entrada.mp4 -c:v libx264 -crf 23 -preset slow -c:a aac -b:a 128k salida.mp4

Para archivos aún más ligeros con la misma calidad visual, H.265 comprime ~40% más que H.264 (la etiqueta hvc1 lo hace compatible con iPhone y QuickTime):

ffmpeg -i entrada.mp4 -c:v libx265 -crf 26 -tag:v hvc1 -c:a aac -b:a 128k salida.mp4

Recortar sin perder calidad

Con -c copy el video no se recodifica: el corte es instantáneo y la calidad queda intacta. Esto extrae del segundo 10 al 30:

ffmpeg -ss 00:00:10 -to 00:00:30 -i entrada.mp4 -c copy recorte.mp4
Si el corte no cae exacto: los cortes con -c copy se ajustan al keyframe más cercano. Si necesitas precisión de cuadro, quita -c copy y FFmpeg recodifica el segmento.

Extraer el audio

A MP3 con calidad alta:

ffmpeg -i video.mp4 -vn -c:a libmp3lame -q:a 2 audio.mp3

Si el video ya trae audio AAC (casi todos los MP4), puedes extraerlo sin recodificar — sin pérdida y en un segundo:

ffmpeg -i video.mp4 -vn -c:a copy audio.m4a

Escalar resolución

De 4K a 1080p (el -2 calcula el ancho automáticamente manteniendo la proporción):

ffmpeg -i entrada.mp4 -vf "scale=-2:1080" -c:a copy salida.mp4

Crear un GIF que no pese una barbaridad

El método de dos pasos con paleta produce GIFs nítidos y mucho más ligeros que la conversión directa:

ffmpeg -ss 5 -t 3 -i video.mp4 -vf "fps=12,scale=480:-1:flags=lanczos,palettegen" paleta.png
ffmpeg -ss 5 -t 3 -i video.mp4 -i paleta.png -filter_complex "fps=12,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse" salida.gif

Ajusta -ss (inicio en segundos) y -t (duración) al fragmento que quieras.

Quitar el audio

ffmpeg -i entrada.mp4 -an -c:v copy sin_audio.mp4

Unir varios videos

Crea un archivo de lista y concatena sin recodificar (los videos deben tener el mismo códec y resolución):

printf "file 'parte1.mp4'\nfile 'parte2.mp4'\nfile 'parte3.mp4'\n" > lista.txt
ffmpeg -f concat -safe 0 -i lista.txt -c copy completo.mp4

Rotar un video

90° en el sentido del reloj — el clásico video grabado de lado:

ffmpeg -i entrada.mp4 -vf "transpose=1" -c:a copy rotado.mp4

transpose=2 gira al contrario; para voltear de cabeza usa -vf "hflip,vflip".

Acelerar o ralentizar

Al doble de velocidad, con el audio sincronizado:

ffmpeg -i entrada.mp4 -vf "setpts=PTS/2" -af "atempo=2" rapido.mp4

Para cámara lenta a la mitad: setpts=PTS*2 y atempo=0.5.

Sacar una imagen de un cuadro exacto

ffmpeg -ss 00:00:05 -i video.mp4 -frames:v 1 captura.jpg

Convertir un video en secuencia de imágenes

Un cuadro por segundo — sube fps para extraer más:

ffmpeg -i video.mp4 -vf fps=1 cuadro_%04d.jpg

Convertir fotos en video (timelapse)

Las fotos deben estar numeradas en secuencia (foto_0001.jpg, foto_0002.jpg…):

ffmpeg -framerate 24 -i foto_%04d.jpg -c:v libx264 -pix_fmt yuv420p timelapse.mp4

Recortar a vertical 9:16 para reels

Toma el centro de un video horizontal y lo deja en proporción de historia o reel:

ffmpeg -i horizontal.mp4 -vf "crop=ih*9/16:ih" -c:a copy vertical.mp4

Quemar subtítulos en el video

Incrusta un archivo SRT de forma permanente — genera el SRT con Whisper:

ffmpeg -i video.mp4 -vf "subtitles=subs.srt" con_subs.mp4

Poner un logo sobre el video

En la esquina inferior derecha, con 20 píxeles de margen:

ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=W-w-20:H-h-20" -c:a copy con_logo.mp4

Subir o nivelar el volumen

Al doble:

ffmpeg -i entrada.mp4 -af "volume=2.0" -c:v copy mas_fuerte.mp4

O nivelado automático al estándar de streaming (el mismo que usan Spotify y YouTube):

ffmpeg -i entrada.mp4 -af loudnorm -c:v copy nivelado.mp4

Reemplazar el audio de un video

Quita la pista original y pone tu música, cortando donde termine lo más corto:

ffmpeg -i video.mp4 -i musica.mp3 -map 0:v -map 1:a -c:v copy -shortest con_musica.mp4

Convertir a WebM para web

ffmpeg -i entrada.mp4 -c:v libvpx-vp9 -crf 32 -b:v 0 -c:a libopus video.webm

Cambiar los cuadros por segundo

ffmpeg -i entrada.mp4 -vf fps=30 -c:a copy a30fps.mp4

Repetir un video en bucle

Cuatro repeticiones seguidas, sin recodificar:

ffmpeg -stream_loop 3 -i clip.mp4 -c copy bucle.mp4

Lo probamos aquí mismo

Este GIF salió de nuestro video demo — que también está hecho con FFmpeg — usando el método de paleta de dos pasos de esta misma página:

GIF animado generado desde el video demo del sitio con el método de paleta de FFmpeg
fps=12, 480 px de ancho, paleta optimizada — y rematado con gifsicle.

Dato honesto de los tamaños reales: este GIF pesa 2.0 MB; el mismo clip como MP4 pesa 776 KB completo. El GIF conviene donde solo se aceptan GIFs — para todo lo demás, video.

Hecho con las herramientas de esta guía. Todo el material de esta sección lo generamos nosotros, comando por comando — el script completo y reproducible está en make-media.sh.

Comparte esta guía

Si te sirvió, a alguien más también le va a servir.