Perfil de Calidad Constante HW H265

Hola a todos,

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

.
¿Te refieres a los registros de MCEBuddy? El perfil parece estar bien

Sí, perdón, debería haber publicado los registros. Enlace a los registros:

Grabación reciente: Microsoft OneDrive
MCEBuddy.log: Microsoft OneDrive

¡Gracias! Will.

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

Elegí el registro equivocado: cada vez que actualizo Windows, debo volver a ingresar mis credenciales de red para el NAS en MCEBuddy.

Aquí hay un registro de un archivo codificado con éxito; no parece estar acelerado por HW: Microsoft OneDrive

¿Hay algo más que deba hacer? Tengo los últimos controladores (387.78) y la instalación de CUDA (9.0).

Algo que me llama la atención en los registros es:

2017-10-06T01:58:52 MCEBuddy.Transcode.ConvertWithHandbrake --> Auto Enable Hardware Encoding : False

¿Hay alguna configuración que me esté perdiendo?

¡Gracias! Will.

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.

Gracias. Me parece que la documentación de FFmpeg es un poco densa. Creo que esto es correcto ¿puedes verificarlo?

[----------------------]
[MKV Constant Quality]
Description=ADVERTENCIA: Codificación de calidad constante de Handbrake (18) con HEVC.
order=ffmpeg, handbrake
ffmpeg-general=-threads 0 -hwaccel auto
ffmpeg-video=-ss 3 -vf yadif=0:-1:1,hqdn3d -vcodec libx265 -q 18 
ffmpeg-audio=-acodec ac3 -ab 192k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 384k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
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

¡Gracias! Will.

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.

¿Necesito hacer algo para corregirlo? ¿Seguirá haciendo H265 con aceleración por hardware?

ahh - Necesito añadir el ffmpeg-UsingHardwareEncoding=True, ¿verdad?

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.

Entonces:

ffmpeg-video=-ss 3 -vf yadif=0:-1:1,hqdn3d -vcodec nvec_hevc -q 18

¡Gracias! Will.

Si estás usando ffmpeg-UsingHardwareEncoding=True, sí, eso sería correcto.

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.

[MKV HEVC Constant Quality]
Description=ADVERTENCIA: Codificación de calidad constante (25) con Handbrake usando Nvidia HEVC.
order=ffmpeg, handbrake
AllowH264CopyRemuxing=true
FixedResolution=true
SkipCropping=true
AutoDeinterlace=true
ffmpeg-UsingHardwareEncoding=True
ffmpeg-general=-threads 0 -hwaccel auto
ffmpeg-video=-ss 9 -c:v hevc_nvenc -crf 25 -map 0:v
ffmpeg-audio=-acodec ac3 -ab 192k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 384k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
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

En segundo lugar, ¿romperé algo si reemplazo FFmpeg por una versión específica de Nvidia?

¡Gracias! Will.

No deberías, puedes intentarlo. Curioso, ¿con qué compilación quieres reemplazarla?

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?

¡Gracias! Will.

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.

Me encantaría probar la versión beta. Ya soy donante…

via Newton Mail

Puedes probar la última versión beta 2.4.8 con el nuevo ffmpeg y decirme cómo te va con la codificación nvenc (hevc y x264).

También creo que nvenc no admite el parámetro -crf si no me equivoco, pero puedes probarlo y decirme. Mira tus registros para ver qué obtienes.

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 :slight_smile: (o si alguien está dispuesto a donarnos una máquina NVIDIA pascal).