Conclusión primero: la compresión de vídeo FFmpeg tiene tres modos de control de bitrate — CRF (calidad constante) para archivo y almacenamiento local, CBR (bitrate constante) para streaming en vivo, y VBR (bitrate variable) para streaming bajo demanda. Para un mismo vídeo de 1080p, CRF 23 produce 42 MB con la mejor calidad, CBR 4 Mbps produce 38 MB con el bitrate más estable, y VBR produce 36 MB con el tamaño más pequeño pero calidad variable. Elegir el modo equivocado supone desperdiciar tamaño o perder calidad. A continuación se ofrece una guía de selección desde tres niveles: principio, comandos y datos reales.
Si aún no está familiarizado con los métodos generales de compresión de vídeo, le recomendamos leerGuía de compresión de vídeo。
1. Comparación de principios de los tres modos de bitrate
El modo de control de bitrate determina cómo el codificador asigna los recursos de bits. La diferencia central entre modos radica en "qué priorizar": CRF prioriza la calidad, CBR prioriza la estabilidad del bitrate, y VBR es un compromiso entre ambos. Comprender estos tres modos es la base para una buena compresión de vídeo.
| Aspecto | CRF (Constant Rate Factor) | CBR (Constant Bitrate) | VBR (Variable Bitrate) |
|---|---|---|---|
| Nombre completo | Factor de velocidad constante | Bitrate constante | Bitrate variable |
| Objetivo principal | Calidad constante | Bitrate constante | Tamaño controlable |
| Asignación de bitrate | Asignación dinámica según complejidad | Bitrate fijo por fotograma | Fluctúa entre límites |
| Consistencia de calidad | ★★★★★ | ★★☆☆☆ | ★★★☆☆ |
| Control de tamaño | ★★☆☆☆ | ★★★★★ | ★★★★☆ |
| Velocidad de codificación | Media | Máxima | Lenta |
| Escenario de uso | Archivo/almacenamiento local | Streaming en vivo | Streaming bajo demanda |
En pocas palabras: CRF hace que el codificador "asigne bitrate según la dificultad de la escena" — más bitrate para escenas de acción, menos para diálogos estáticos, logrando calidad uniforme en cada fotograma; CBR "da el mismo bitrate independientemente de la complejidad" — desperdicia bitrate en escenas simples y genera artefactos en escenas complejas; VBR es intermedio, estableciendo un rango de bitrate para que el codificador ajuste.
2. Ejemplos de comandos FFmpeg y parámetros
Los tres modos se escriben de forma diferente en FFmpeg, con distintos parámetros clave. A continuación se ofrece la plantilla de comando estándar y la descripción de parámetros de cada modo.
| Modo | Parámetros clave | Descripción de parámetros | Rango de valores típicos |
|---|---|---|---|
| CRF | -crf | Factor de calidad, menor valor = mayor calidad | 0-51 (18-28 habitual) |
| CRF restringido | -maxrate / -bufsize | Limitar bitrate máximo | maxrate 2-8 Mbps |
| CBR | -b:v / -minrate / -maxrate | Los tres con el mismo valor para CBR | 2-8 Mbps |
| VBR | -b:v | Bitrate medio objetivo | 2-6 Mbps |
| Rango VBR | -minrate / -maxrate | Rango de fluctuación de bitrate | min 1-2 Mbps / max 4-8 Mbps |
| General | -preset | Equilibrio velocidad/tasa de compresión | ultrafast-fast-medium-slow |
1. Comando modo CRF
CRF es el modo de compresión para archivo más recomendado. El codificador asigna bitrate automáticamente según la complejidad, garantizando calidad uniforme. CRF 23 es el valor predeterminado de H.264, adecuado para la mayoría de escenarios.
Modo CRF puro (sin límite de bitrate):
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4
Modo CRF restringido (limita el bitrate máximo, adecuado para escenarios que requieren un límite):
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -maxrate 4M -bufsize 8M -preset medium output.mp4
2. Comando modo CBR
CBR se logra estableciendo minrate, maxrate y b:v al mismo valor. El streaming en vivo debe usar CBR para garantizar la estabilidad del bitrate.
Modo CBR estándar:
ffmpeg -i input.mp4 -c:v libx264 -b:v 4M -minrate 4M -maxrate 4M -bufsize 8M -preset fast output.mp4
Modo streaming en vivo (con RTMP):
ffmpeg -i input.mp4 -c:v libx264 -b:v 4000k -minrate 4000k -maxrate 4000k -bufsize 8000k -g 60 -preset fast -f flv rtmp://server/live/stream
3. Comando modo VBR
VBR establece un bitrate medio objetivo y el codificador ajusta libremente dentro del rango. Adecuado para streaming bajo demanda donde se necesita estimar el tamaño.
Modo VBR estándar:
ffmpeg -i input.mp4 -c:v libx264 -b:v 4M -preset medium -c:a aac -b:a 128k output.mp4
VBR de dos pasadas (Two-pass, control de tamaño más preciso):
ffmpeg -y -i input.mp4 -c:v libx264 -b:v 4M -pass 1 -an -f mp4 /dev/null
ffmpeg -i input.mp4 -c:v libx264 -b:v 4M -pass 2 -c:a aac -b:a 128k output.mp4
3. Datos reales: comparación de tres modos con el mismo vídeo
Usamos el mismo vídeo de prueba 1080p/30 fps (350 MB originales, H.264, 5 minutos) para comprimir con los tres modos y comparar tamaño, calidad y tiempo de codificación.
| Modo | Parámetros | Tamaño de salida | Tasa de compresión | Puntuación de calidad | Tiempo de codificación |
|---|---|---|---|---|---|
| CRF 18 | -crf 18 -preset medium | 85.2MB | 75.7% | ★★★★★ | 142 s |
| CRF 23 | -crf 23 -preset medium | 42.1MB | 88.0% | ★★★★☆ | 128 s |
| CRF 28 | -crf 28 -preset medium | 22.5MB | 93.6% | ★★★☆☆ | 115 s |
| CBR 4M | -b:v 4M -minrate 4M -maxrate 4M | 38.3MB | 89.1% | ★★★☆☆ | 98 s |
| CBR 2M | -b:v 2M -minrate 2M -maxrate 2M | 19.4MB | 94.5% | ★★☆☆☆ | 92 s |
| VBR 4M | -b:v 4M -preset medium | 36.8MB | 89.5% | ★★★★☆ | 135 s |
| VBR 4M dos pasadas | -b:v 4M -pass 2 | 36.2MB | 89.7% | ★★★★☆ | 268 s |
Los datos revelan varias conclusiones clave: CRF 23 logra el mejor equilibrio entre calidad y tamaño (42 MB, calidad cuatro estrellas y media); CBR 4M tiene un tamaño similar a CRF 23 pero calidad ligeramente inferior (artefactos en escenas complejas); VBR de dos pasadas ofrece el tamaño más preciso pero duplica el tiempo. Para archivo, CRF 23 es la opción óptima.
Veamos el impacto de diferentes presets en CRF 23:
| preset | Tamaño de salida | Tiempo de codificación | Diferencia de tamaño | Escenario recomendado |
|---|---|---|---|---|
| ultrafast | 58.2MB | 32 s | +38% | Vista previa en tiempo real |
| fast | 45.6MB | 68 s | +8% | Compresión rápida |
| medium | 42.1MB | 128 s | Referencia | Predeterminado general |
| slow | 39.8MB | 285 s | -5% | Archivo de alta calidad |
| slower | 38.5MB | 612 s | -9% | Compresión máxima |
Referencia de bitrate recomendado por resolución para elegir el bitrate objetivo CBR/VBR:
| Resolución | Fps | Bitrate CBR recomendado | Bitrate VBR objetivo | Valor CRF recomendado | Escenario de uso |
|---|---|---|---|---|---|
| 480p | 30fps | 1.0Mbps | 1.0Mbps | CRF 24 | Baja definición para móvil |
| 720p | 30fps | 2.5Mbps | 2.5Mbps | CRF 23 | Claridad estándar web |
| 1080p | 30fps | 4.0Mbps | 4.0Mbps | CRF 23 | HD general |
| 1080p | 60fps | 6.0Mbps | 6.0Mbps | CRF 22 | HD alta fps |
| 1440p | 30fps | 8.0Mbps | 8.0Mbps | CRF 22 | Calidad 2K |
| 2160p(4K) | 30fps | 16.0Mbps | 16.0Mbps | CRF 20 | Archivo UHD |
4. Recomendaciones por escenario: diferentes usos, diferentes modos
Los distintos escenarios tienen diferentes requisitos de calidad, tamaño y estabilidad de bitrate. La clave para elegir el modo es matching con las necesidades del escenario.
| Escenario de uso | Modo recomendado | Parámetros recomendados | Razón | Tasa de compresión esperada |
|---|---|---|---|---|
| Archivo local | CRF | -crf 23 -preset medium | Calidad prioritaria, tamaño óptimo | 85%–90% |
| Archivo de alta calidad | CRF | -crf 18 -preset slow | Casi sin pérdida, preservación a largo plazo | 70%–80% |
| Streaming en vivo | CBR | -b:v 4M -minrate 4M -maxrate 4M | Bitrate estable, evita interrupciones | Depende del origen |
| Streaming bajo demanda | VBR dos pasadas | -b:v 4M -pass 2 | Tamaño preciso, calidad equilibrada | 80%–90% |
| Reproducción móvil | CRF restringido | -crf 26 -maxrate 2M -bufsize 4M | Limitar bitrate para redes móviles | 90%–95% |
| Vídeo web | CRF restringido | -crf 24 -maxrate 3M -bufsize 6M | Equilibra calidad y velocidad de carga | 88%–92% |
| Grabación de vigilancia | CBR | -b:v 1M -minrate 1M -maxrate 1M | Bitrate constante facilita cálculo de almacenamiento | Depende del origen |
| Vídeo por correo | CRF | -crf 28 -preset fast | Tamaño prioritario, calidad aceptable | 93%–96% |
SmartSlim, en la compresión de vídeo, se basa en un motor de compresión Rust propio con una biblioteca de parámetros por escenario — 4 niveles × 15 escenarios × 5 niveles de rendimiento = 300 combinaciones —, seleccionando automáticamente el mejor modo y parámetros según el uso, sin necesidad de ajustar manualmente los comandos FFmpeg. Los usuarios empresariales pueden integrarlo vía SDK en sus sistemas para automatizar la compresión.
Para más comparaciones de códecs de vídeo, consulteComparación de códecs H.264 vs H.265 vs AV1yMétodos de evaluación de calidad de compresión de vídeo。
5. Preguntas frecuentes (FAQ)
Q1: ¿Para compresión de vídeo FFmpeg, es mejor CRF o VBR?
Para archivo y almacenamiento local, CRF es mejor. CRF tiene como objetivo calidad constante: asigna más bitrate a escenas complejas y menos a simples, logrando calidad uniforme y tamaño óptimo. Se recomienda CRF 18-28: 18 es casi visualmente sin pérdida, 23 es el punto de equilibrio predeterminado, 28 tiene calidad aceptable pero menor tamaño. VBR es adecuado para escenarios que requieren controlar el límite de bitrate como el streaming, pero la calidad es menos estable que CRF.
Q2: ¿Qué valor de CRF ofrece la mejor calidad?
Cuanto menor el valor de CRF, mayor la calidad y el tamaño. Con H.264: CRF 0 es sin pérdida, CRF 18 es casi visualmente sin pérdida (50 % del original), CRF 23 es el valor predeterminado de FFmpeg (25 % del original), CRF 28 tiene calidad aceptable (12 % del original). Rango recomendado 18-28; para la mayoría de escenarios CRF 23 es suficiente; para alta calidad, CRF 18-20.
Q3: ¿Para streaming en vivo se debe usar CBR o VBR?
Para streaming en vivo se recomienda CBR. El streaming exige máxima estabilidad de bitrate: CBR mantiene un bitrate constante, evitando interrupciones por fluctuaciones de red. Las plataformas suelen requerir bitrate fijo (p. ej., Twitch 6000 kbps, Bilibili 4000 kbps); CBR lo cumple con precisión. VBR puede disparar el bitrate en escenas complejas y superar el ancho de banda, causando pérdida de fotogramas; CBR se mantiene estable. Se recomienda CBR + maxrate = bufsize = bitrate objetivo.
Q4: ¿Cuál es la diferencia entre los dos modos VBR de FFmpeg?
FFmpeg tiene dos niveles de VBR: -crf con maxrate/bufsize es VBR restringido (constrained VBR), con calidad cercana al CRF puro pero limitando el bitrate máximo; -b:v con -minrate/-maxrate es VBR tradicional, donde el bitrate fluctúa dentro de un rango. El VBR restringido es más adecuado para uso práctico, garantizando calidad y controlando el bitrate máximo. El VBR tradicional es adecuado para escenarios que requieren control preciso del rango de bitrate, como adaptarse a un ancho de banda específico.
Resumen
Los tres modos de bitrate de FFmpeg tienen cada uno su escenario óptimo: CRF prioriza la calidad para archivo (CRF 23 recomendado), CBR prioriza la estabilidad para streaming en vivo (4 Mbps constante recomendado), VBR prioriza el control del tamaño para streaming bajo demanda (codificación de dos pasadas recomendada). Elegir el modo correcto es el primer paso: archivo → CRF, streaming → CBR, bajo demanda → VBR; recuerde este principio y no se equivocará.
Si no quiere escribir comandos FFmpeg manualmente, SmartSlim ofrece una solución de compresión de vídeo lista para usar, basada en un motor de compresión Rust propio con 300 combinaciones de parámetros por escenario; admite 8 formatos de vídeo (mp4, mkv, avi, mov, wmv, flv, webm, m4v), con compresión local sin que los datos salgan del dominio.
Artículos relacionados
¿Necesita comprimir archivos? Pruebe SmartSlim
Construido sobre un motor de compresión Rust propio, compatible con 10 categorías y más de 40 formatos, incluyendo PDF, imágenes, vídeo, Office y OFD, con compresión local que mantiene sus datos en sus instalaciones.