Tengo un servidor con dos tarjetas Nvidia GTX 750 Ti separadas, además de gráficos integrados Intel. Originalmente, MCEBuddy estaba usando la CPU y los gráficos integrados para hacer todo. Marqué la casilla para usar Codificación por Hardware y elegí NVidia del menú desplegable. Después de buscar en los foros, encontré cómo usar la GPU NVidia cambiando el orden de las opciones de codificación para que “ffmpeg” estuviera primero. Así que ahora está haciendo la codificación con la GPU NVidia, pero solo para dos conversiones. Configuré MCEBuddy para hacer 4 conversiones simultáneas, pensando que comenzaría a usar ambas GPU NVidia según fuera necesario. Pero parece que está haciendo dos conversiones en una tarjeta y las otras dos conversiones se están ejecutando con el hardware integrado.
¿Es MCEBuddy capaz de usar múltiples tarjetas NVidia y, si es así, qué necesito hacer o dónde debo buscar? He mirado en los archivos de registro y ve ambas tarjetas y dice que ambas tienen las mismas capacidades. ¿Hay algo más que deba hacer para que use ambas?
Con la versión 2.5.1 o más reciente, no necesitas hacer ninguna modificación en los perfiles, ya que tanto Handbrake como FFmpeg admiten codificadores de hardware de NVIDIA, Intel y AMD. MCEBuddy se encargará de seleccionar automáticamente el hardware y la herramienta. Solo tienes que seleccionar tu opción en la interfaz gráfica y MCEBuddy hará el resto.
Si adjuntas tus registros, podremos ver qué está sucediendo.
Gracias por la respuesta y es bueno saber que la versión más reciente lo hace aún más fácil. Disculpa, debería haber adjuntado los registros cuando publiqué. Aquí hay dos archivos de registro,
el primero: “NASA’s Unexplained Files (2014) - 2019-09-23 07 00 00 - Episode 18.ts-Convert to MP4-2019-12-10T07-06-25.0474815-06-00” estaba usando la GPU NVidia y fue exitoso.
El segundo: “NASA’s Unexplained Files (2014) - 2019-12-10 06 00 00 - Secrets of the Alien Signals.ts-Convert to MP4-2019-12-10T06-00-00.1406690-06-00” estaba usando el procesador Intel.
Como había cuatro conversiones en ejecución (2 usando la GPU NVidia y 2 usando el Intel), detuve el procesamiento cuando los trabajos de NVidia terminaron, por lo que los de Intel no finalizaron. Hice una comparación en Notepad++ entre los dos archivos, y veo estos mensajes varias veces en el de Intel:
ERROR> 2019-12-10T06:13:08 → StartAppWithAdminPrivilegesFromNonUISession WTSQueryUserToken failed (No logged on users) with error 1008. An attempt was made to reference a token that does not exist.
WARNING> 2019-12-10T06:13:08 MCEBuddy.AppWrapper.FFmpeg → Unable to create UI Session process with Admin Privileges from NonUI Session. Is any user logged on?
WARNING> 2019-12-10T06:13:08 MCEBuddy.AppWrapper.FFmpeg → Retrying process creation as a NonUI Session process with Admin privileges
WARNING> 2019-12-10T06:13:08 MCEBuddy.AppWrapper.FFmpeg → Some functions like hardware encoding may not work in this mode
No estoy seguro de qué significa eso. ¡Gracias por tu ayuda! Si puedes descubrir por qué no está usando ambas tarjetas NVidia o incluso por qué no hay más de dos conversiones en la que sí está usando, estaré muy agradecido.
Tu controlador gráfico de Nvidia está fallando. MCEBuddy primero intenta con ffmpeg y tu controlador falla:
2019-12-10T06:16:03 MCEBuddy.AppWrapper.FFmpeg → [h264_nvenc @ 000002241ac32000] OpenEncodeSessionEx failed: out of memory (10)
2019-12-10T06:16:03 MCEBuddy.AppWrapper.FFmpeg → Last message repeated 1 times
2019-12-10T06:16:03 MCEBuddy.AppWrapper.FFmpeg → [h264_nvenc @ 000002241ac32000] No NVENC capable devices found
Luego intenta con handbrake y el controlador gráfico de Nvidia falla nuevamente:
MCEBuddy.AppWrapper.Handbrake → [h264_nvenc @ 0000000005d708c0] OpenEncodeSessionEx failed: out of memory (10)
2019-12-10T06:16:15 MCEBuddy.AppWrapper.Handbrake → [h264_nvenc @ 0000000005d708c0] OpenEncodeSessionEx failed: out of memory (10)
2019-12-10T06:16:15 MCEBuddy.AppWrapper.Handbrake → [h264_nvenc @ 0000000005d708c0] No NVENC capable devices found
2019-12-10T06:16:15 MCEBuddy.AppWrapper.Handbrake → [06:16:15] encavcodecInit: avcodec_open failed
No utiliza tu hardware Intel porque seleccionaste solo Nvidia en la configuración de tu tarea de conversión (si hubieras seleccionado Any habría recurrido a Intel QuickSync), en su lugar recurre a la codificación por software.
El 99.999% de los problemas con codificadores de hardware se deben a controladores gráficos problemáticos.
Entiendo lo que dices, pero funciona perfectamente en la GPU Nvidia con 2 trabajos de conversión simultáneos; solo falla cuando hay más de dos conversiones y configuro las conversiones simultáneas a 4. Si lo dejo en 2, ejecuta esas dos en la GPU Nvidia sin problema. Estoy usando el controlador Nvidia más reciente. Así que supongo que me pregunto qué necesito hacer.
Puedes probar una versión diferente del controlador gráfico. Tal vez se esté quedando sin memoria o tenga una limitación en la cantidad de conversiones simultáneas que el hardware puede manejar. Sé que algunos hardware limitan las conversiones a 2 o 4 flujos a la vez.
También podrías configurar la opción en Any y intentará usar tu hardware Intel si tu Nvidia falla.
Podrías simplemente limitarlo a 2 conversiones simultáneas.
NVidia limita sus controladores gráficos a solo 2 transcodificaciones simultáneas para la mayoría de las tarjetas gráficas que no sean Quadro; es un límite artificial impuesto por NVidia en sus drivers, por lo que la tercera conversión simultánea falla cuando el controlador intenta iniciarla. La solución es contactar con Nvidia o no limitar las conversiones únicamente a NVidia (establécelo en Any).
Algunas tarjetas Quadro permiten transcodificaciones simultáneas ilimitadas (sin restricciones). Aquí tienes la tabla que muestra los límites para diferentes tarjetas:
¡Vaya! Gracias por toda la investigación sobre eso, parte de la cual debería haber hecho yo mismo. Pero eso me lleva de vuelta a la intención de mi pregunta original. Desde el punto de vista de MCEBuddy, ¿hay alguna manera de usar la segunda tarjeta NVidia? Tengo dos idénticas en el sistema que MCEBuddy ve y dice que ambas son capaces.