Usar NVENC en FFmpeg
La aceleración por hardware puede acelerar significativamente la codificación de video en comparación con los codificadores por software basados en CPU. Uno de los codificadores por hardware más populares es NVENC de NVIDIA. Está disponible en la mayoría de las GPU modernas de NVIDIA y se puede usar en FFmpeg.
🔍 Paso 1. Comprobar los aceleradores de hardware disponibles
Sección titulada «🔍 Paso 1. Comprobar los aceleradores de hardware disponibles»ffmpeg -hwaccelsBusca cuda o nvdec en la lista.
🧩 Paso 2. Comprobar los codificadores disponibles
Sección titulada «🧩 Paso 2. Comprobar los codificadores disponibles»ffmpeg -encoders | findstr h264Busca h264_nvenc en la salida.
⚙️ Paso 3. Consultar las opciones del codificador
Sección titulada «⚙️ Paso 3. Consultar las opciones del codificador»ffmpeg -h encoder=h264_nvenc▶️ Paso 4. Ejemplo básico de codificación con NVENC
Sección titulada «▶️ Paso 4. Ejemplo básico de codificación con NVENC»ffmpeg -hwaccel cuda -i source.mp4 -c:v h264_nvenc -cq 23 -r 30 encoded.mp4-
-hwaccel cuda— activa la aceleración por hardware CUDA para la decodificación. -
-c:v h264_nvenc— codifica el video usando NVENC (el codificador de video por hardware de NVIDIA). -
-cq 23— establece el nivel de calidad (similar a-crfenx264, pero con una escala diferente). -
-r 30— establece la tasa de fotogramas de salida a 30 cuadros por segundo.
🚀 Ejemplo avanzado
Sección titulada «🚀 Ejemplo avanzado»ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i ${i} \-c:v h264_nvenc -profile:v high -level 4.0 -preset p7 \-b:v 0 -cq 23 -c:a copy ${o}-hwaccel_output_format cuda — decodifica y almacena los cuadros en la memoria de la GPU (evita la transferencia por PCIe).
-profile:v high -level 4.0 — establece el perfil H.264 adecuado para 1080p.
-preset p7 — uno de los preajustes de NVENC más lentos pero de mayor calidad.
-b:v 0 -cq 23 — usa el modo de Calidad Constante (CQ), donde cq=23 ofrece un equilibrio entre calidad y tamaño de archivo.
-c:a copy — copia la pista de audio sin recodificarla.
ℹ️ Consejos
Sección titulada «ℹ️ Consejos»- NVENC es más rápido que la codificación por CPU, pero puede tener una calidad ligeramente inferior.
- No hay soporte real para 2 pasadas ni control preciso del bitrate.
- El soporte de NVENC depende de tu modelo de GPU.