He estado intentando desarrollar un perfil de calidad constante H265 con aceleración por hardware. La configuración del perfil está abajo. Sin embargo, no veo nada relacionado con NVENC en los registros.
Estoy ejecutando un i7 de 10 núcleos con una tarjeta GeForce 1080. Tarda aproximadamente 90 minutos en codificar un programa de una hora. El administrador de tareas no muestra actividad en la GPU, pero la CPU está al 100%. Tengo los últimos controladores GeForce instalados y las extensiones CUDA instaladas. ¿Alguien ve algo en el perfil?
[----------------------]
[MKV Constant Quality]
Description=ADVERTENCIA: Codificación de calidad constante de Handbrake (18).
order=handbrake
handbrake-UsingHardwareEncoding=true
handbrake-general=–decomb --denoise=“weak” --loose-anamorphic --verbose=2 -T -O
handbrake-video=–start-at duration:3 -e x265 -q 18
handbrake-audio=-E ffac3 -R auto -B 192 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E ffac3 -R auto -B 384 -D 0 -a 1,2,3,4,5
handbrake-ext=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true
Los registros muestran que MCEBuddy no puede acceder a tu archivo: (solo busca “ERROR>” para ver por qué algo falló en un registro)
ERROR> 2017-10-05T06:46:29 MCEBuddy.Engine.ConversionJob → PreMeta El archivo de origen ha sido renombrado o eliminado por un comando personalizado → \Disk8\Plex\TV\NOVA\Season 44\NOVA (1974) - S44E13 - Secrets of the Shining Knight.ts
Ese mensaje es básicamente un reflejo directo de tu configuración handbrake-UsingHardwareEncoding=true, que indica a MCEBuddy que el perfil está habilitado para codificación por hardware optimizada, por lo que no debe modificar ninguna configuración de hardware ni activarla automáticamente.
Debería haberlo notado antes, lo siento. Estás usando una GPU NVIDIA y NvEnc, por lo que necesitas usar un perfil FFMPEG y no uno de Handbrake.
Handbrake solo admite Intel OpenCL, mientras que FFMPEG admite NVIDIA NvEnc. Simplemente traduce tu perfil a ffmpeg y debería funcionar.
Tenga en cuenta que en este caso está usando x265 pero no ha especificado el hardware optimizado para ffmpeg, por lo que MCEBuddy debería reemplazar automáticamente el códec en tiempo de ejecución.
Si añades esto, MCEBuddy asumirá que tu perfil está listo y optimizado para hardware y no hará ningún cambio para convertir la codificación por software a codificación por hardware. Sí, MCEBuddy admite optimizaciones de codificación por hardware h.265.
En este momento, tu perfil le está diciendo a ffmpeg que use libx265, que es un codificador por software.
Primero, gracias por la ayuda. Después de muchas pruebas y errores, conseguí un perfil que funciona para calidad constante H265. Consejo: la escala de calidad constante es diferente entre H264 y H265.
Lo reemplacé con la última versión estática de FFMpeg Win64. Es la 3.3; hasta que hice eso (y después de actualizar a la última versión de MCEBuddy), el códec hevc_nvenc no funcionaba.
¿Sería posible añadir una ubicación personalizada para FFMpeg, al igual que se hace con los perfiles o comskip?
Estamos actualizando la versión de ffmpeg para la próxima versión y añadiendo más optimizaciones para la codificación por hardware. Te avisaré si estás interesado en probar la versión beta de NVENc.
Prueba usando -cq en lugar de -crf y dime si funciona. Nuestra máquina nvidia se quemó así que hasta que consigamos un reemplazo, estamos buscando algunos testers (o si alguien está dispuesto a donarnos una máquina NVIDIA pascal).