Configurar MCEBuddy para usar GPU NVidia en lugar de Intel Integrada

Hola, estoy haciendo algunas conversiones con MCEBuddy y cada vez que miro el administrador de tareas puedo ver que la GPU Intel Graphics está a toda máquina, pero la GPU NVidia casi nunca se usa. El componente responsable es HandBrake CLI… ¿cómo puedo cambiarlo para que use mi potente nvidia en lugar de mi poco potente intel?

¡Gracias!

Handbrake utiliza Intel QuickSync y FFMpeg utiliza aceleración de NVidia.

Si estás usando un perfil que utiliza tanto ffmpeg como handbrake, MCEBuddy verificará qué capacidades de codificación por hardware existen y automáticamente utilizará el codificador acelerado por hardware primero. Así que si tu perfil tiene tanto ffmpeg como handbrake, probará si la aceleración de NVidia es compatible y luego utilizará ffmpeg primero.
La mayoría de los perfiles tienen tanto ffmpeg como handbrake, por lo que debería seleccionarlo automáticamente si la aceleración está funcionando.

Los archivos de registro te darán más información sobre lo que está sucediendo.

Más detalles aquí:

Estoy usando el perfil MKV con alta calidad… Quiero videos de 720 lo más pequeños posible con la mejor calidad de imagen posible.

¿Qué perfil recomendarías? ¿Cómo puedo saber si mkv usa nvidia… probablemente no lo hace?

2019-01-01T21:01:22 MCEBuddy.AppWrapper.NVidiaQuery → deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 960M
2019-01-01T21:01:22 MCEBuddy.AppWrapper.NVidiaQuery → Resultado = PASS
→ Proceso terminado con código 0
→ Codificador de hardware NVidia H.264 detectado : Verdadero
→ Codificador de hardware NVidia H.265 detectado : Falso
2019-01-01T21:01:24 MCEBuddy.Transcode.ConvertWithFfmpeg → Perfil FFMpeg deshabilitar retroceso a codificador de software tras fallo de codificación por hardware (ffmpeg-DisableSoftwareEncoderFallback) : Falso
2019-01-01T21:01:24 MCEBuddy.Transcode.ConvertWithFfmpeg → Perfil FFMpeg optimizado para decodificación/codificación por hardware, deshabilitar optimización automática por hardware (ffmpeg-UsingHardwareEncoding) : Falso
→ Nuevo orden de herramientas de codificación → handbrake,ffmpeg,mencoder

Adjunta tu archivo de registro de conversión para que pueda ver con más detalle qué está ocurriendo.

A Certain Scientific Railgun - S01E08 - Level Upper.mp4-Converto-2019-01-01T12-30-01.4727138-06-00.log (614.1 KB)

Desde tus registros, si miras un poco arriba de la consulta de hardware NVidia, parece que busca Intel QuickSync:

INFORMATION> 2019-01-01T12:31:44 MCEBuddy.AppWrapper.Handbrake → QuickSync encoding support available → True
INFORMATION> 2019-01-01T12:31:44 MCEBuddy.AppWrapper.Handbrake → H.264 encoding support available → True
INFORMATION> 2019-01-01T12:31:44 MCEBuddy.AppWrapper.Handbrake → H.265 encoding support available → True

Encuentra que tu controlador gráfico está reportando que soporta aceleración por hardware Intel QuickSync.

También encuentra que tu controlador gráfico está reportando que soporta NVidia CUDA:

2019-01-01T12:31:45 MCEBuddy.AppWrapper.NVidiaQuery → Result = PASS
→ Process exited with code 0
→ NVidia H.264 Hardware Encoder Detected : True
→ NVidia H.265 Hardware Encoder Detected : False

Tienes una configuración que soporta tanto QuickSync como CUDA, por lo tanto MCEBuddy no cambia el orden del codificador y usa los codificadores tal como están definidos en el perfil (preserva el orden del codificador).

→ New encoder tool order → handbrake,ffmpeg,mencoder

Por eso está usando handbrake para convertir tu video; y handbrake está usando tu codificador de hardware Intel y logrando una velocidad de 145fps

2019-01-01T12:31:55 MCEBuddy.AppWrapper.Handbrake → [12:31:55] qsv_enc_init: using ‘hardware (1)’ implementation, API: 1.19
2019-01-01T12:31:55 MCEBuddy.AppWrapper.Handbrake → [12:31:55] compute_init_delay: 6006 (2 frames)
2019-01-01T12:31:58 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 2, 0.56 %
2019-01-01T12:32:00 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 2, 1.24 %
2019-01-01T12:32:02 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 2, 1.89 % (148.02 fps, avg 143.78 fps, ETA 00h05m04s)

Así que técnicamente está usando codificación por hardware, solo que no el codificador que tú quieres.

Si quieres que use NVIDIA en lugar de QuickSync, cambia el orden del codificador en el perfil:
de:

order=handbrake,ffmpeg,mencoder

a

order=ffmpeg,handbrake,mencoder

Cambié los perfiles y tuve algo de éxito acelerando el proceso, aunque el trabajo lo está realizando la CPU en lugar de la GPU NVidia…

2019-01-02T18:10:46 MCEBuddy.Transcode.ConvertWithFfmpeg --> Perfil FFMpeg deshabilitar retroceso a codificador de software tras fallo de codificación por hardware (ffmpeg-DisableSoftwareEncoderFallback) : False
2019-01-02T18:10:46 MCEBuddy.Transcode.ConvertWithFfmpeg --> Perfil FFMpeg optimizado para decodificación/codificación por hardware, deshabilitar optimización automática por hardware (ffmpeg-UsingHardwareEncoding) : False
INFORMACIÓN> 2019-01-02T18:10:46 MCEBuddy.Transcode.Convert --> Convirtiendo con FFMpeg

Christmas Belle.mp4-Converto-2019-01-02T16-47-21.6000112-06-00.log (2.2 MB)

¿Alguna otra sugerencia :worried: … por favor?

Parece que no has hecho ningún cambio en tu perfil. Está mostrando el orden original:

→ order=handbrake,ffmpeg,mencoder

Necesitas editar profles.conf y cambiar el orden para el perfil que estás usando (MKV Alta Calidad)