Necesito ayuda para que funcione la codificación por hardware en intel nuc 8i5

Hola, tengo varios PC en los que he estado intentando hacer funcionar la codificación por hardware: un NUC, un Beelink con el mismo chipset y un portátil Dell antiguo. Ninguno parece funcionar.

Creo que en este punto debo centrarme en el NUC. He probado los controladores indicados, pero no se instalan porque el NUC tiene la Iris Plus 655 y no instala los drivers. Probé 3 de los 27 controladores de Intel y ninguno usa QSV; vuelven a ffmpeg y parecen usar la CPU.

Estoy intentando pasar a HEVC H265 para mis flujos TS grabados desde Tvheadend vía OTA. No sé qué hacer ahora; he estado usando MCEBuddy bastante tiempo, pero ahora tengo una tele más grande y quiero codificaciones de mayor calidad; la necesidad de codificación por hardware es evidente.

2022 Winter Olympics E191.Biathlon, Cross-Country 2022-02-16.ts-Convert to MP4-2022-02-16T17-06-56.log (5.8 MB)

Actualmente estoy en la última versión beta, pero haré lo que sea para que funcione. Gracias a todos.

Según tus registros, está usando codificación por hardware para la codificación hevc. Cancelaste la conversión al final

2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → Stream #0:0: Video: hevc (hevc_qsv) (hvc1 / 0x31637668), nv12, 1920x1072 [SAR 1:1 DAR 120:67], q=2-31, 1000 kb/s, 29.97 fps, 30k tbn, 29.97 tbc
2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → Metadata:
2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → encoder : Lavc58.59.100 hevc_qsv
2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → Side data:
2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → cpb: bitrate max/min/avg: 0/0/1000000 buffer size: 0 vbv_delay: N/A
2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 160 kb/s
2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → Metadata:
2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → encoder : Lavc58.59.100 aac
2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → Stream #0:2(spa): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 160 kb/s
2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → Metadata:
2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → encoder : Lavc58.59.100 aac
2022-02-16T17:27:42 MCEBuddy.AppWrapper.FFmpeg → frame= 30 fps=0.0 q=-0.0 size= 0kB time=00:00:01.00 bitrate= 0.4kbits/s dup=25 drop=0 speed=1.94x
2022-02-16T17:27:43 MCEBuddy.AppWrapper.FFmpeg → frame= 58 fps= 56 q=-0.0 size= 768kB time=00:00:01.89 bitrate=3313.8kbits/s dup=31 drop=0 speed=1.84x

Aquí están mis perfiles de HEVC MKV para Intel que uso en mi NUC. Uno usa ffmpeg y el otro Handbrake. Personalmente siento que obtengo mejores resultados con el de Handbrake.

[HEVC MKV Intel handbrake]
Description=HEVC en MKV para usar la codificación por hardware de Intel en Handbrake.
order=handbrake
DisableEncoderReordering=true
AllowAllCopyRemuxing=true
handbrake-UsingHardwareEncoding=true
handbrake-DisableSoftwareEncoderFallback=true
handbrake-general=-v=2
handbrake-video=--comb-detect=Default --decomb=Default --auto-anamorphic -e qsv_h265 --encoder-preset quality -q 26 --cfr
handbrake-audio=-E copy --audio-copy-mask ac3,eac3,truehd,dts,dtshd,mp3,flac --audio-fallback ffac3 -R auto
handbrake-audioac3=-E copy -R auto
handbrake-ext=.mkv
handbrake-audiodelay=skip

[HEVC MKV Intel ffmpeg]
Description=HEVC en MKV para usar la codificación por hardware de Intel en ffmpeg.
order=ffmpeg
DisableEncoderReordering=true
AllowAllCopyRemuxing=true
ffmpeg-UsingHardwareEncoding=true
ffmpeg-DisableSoftwareEncoderFallback=true
ffmpeg-general=-threads 0 -v verbose -hwaccel qsv
ffmpeg-video=-vf yadif=0:-1:1,hqdn3d -pix_fmt qsv -c:v hevc_qsv -preset slow -global_quality 26 -look_ahead 32 -vsync 2 -map 0:v -sn
ffmpeg-audio=-c:a copy -map 0:a
ffmpeg-audioac3=-c:a copy -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip

Gracias, ¿entonces copio estos a la configuración de mis perfiles?
Gracias, Eric

OK, entonces está usando HandBrake, y estoy monitoreando la GPU, así que está utilizando eso; estoy obteniendo unos 30-35 fps, ¿cómo puedo aumentar la velocidad? Realmente aprecio tu ayuda, ya está mejor de lo que estaba.
¿Debería hacer solo 1 simultáneo? actualmente lo tengo en 2, pero para mis pruebas estoy ejecutando 1.

Gracias, Eric

Sí, ahora lo veo, jajaja, pero es muy lento. ¿Y recurre a ffmpeg?
Si uso la aplicación HandBrake es muchísimo más rápido, supongo que por eso pensé que no funcionaba.
Estoy tratando de entender cómo acelerarlo y por qué falla HandBrake.
Gracias, Eric

Sí, estos van en tu profiles.conf

Recomiendo ejecutar solo 1. También obtengo unos 30-35 fps. Con todas las pruebas que hice, es lo mejor que pude lograr. Puedes probar el perfil de ffmpeg y ver si es más rápido. Asegúrate de que en el BIOS hayas asignado tanta memoria como puedas al video. El mío solo permitía un máximo de 1GB. Lo único más que puedes ajustar es el parámetro --encoder-preset en la configuración de Handbrake. Tus opciones son quality, balanced o speed. Prueba estos, encuentra tu umbral de calidad aceptable y usa ese preset. Lo otro con lo que puedes jugar es el parámetro -q, puedes probar un número más alto para menor calidad. Esto afecta un poco la velocidad pero más que nada afecta el tamaño del archivo de salida.

NCIS_ Hawai’i S01E13.Spies, Part 2 2022-01-24.ts-Convert to MP4-2022-02-17T08-32-16.log (1.8 MB)

Así que he visto por qué falla el handbrake: es el ajuste de calidad en el perfil hevc; si quito el “medium” funciona, pero sigue corriendo a 30-35 fps.
Cuando falla y pasa a ffmpeg obtengo 77 fps, mejor.
He puesto ffmpeg primero en el perfil por ahora para que funcione mejor; ¿estoy dejando algo fuera? Veo otras nucs más antiguas que la mía llegando a 120 o más.
¿Hay algo en la configuración que esté limitando la velocidad?
Todavía tengo que revisar la memoria para el video; ahora no estoy en casa para revisar físicamente la bios.
Gracias, Eric

Correcto, en Handbrake para Intel los ajustes de calidad son velocidad, equilibrado y calidad para el codificador HEVC. Dado que medium (equivalente a equilibrado) no coincide con un ajuste de calidad, fallará y pasará a ffmpeg, que sí admite medium como ajuste de calidad. Como cada aplicación tiene sus propios parámetros para codificar, filtrar y procesar video y audio, no puedo decirte por qué en tu caso ffmpeg es más rápido o si está haciendo realmente lo mismo que Handbrake intenta hacer.

No puedo decirte por qué algunos NUCs están obteniendo un procesamiento tan bueno sin saber qué parámetros están usando o qué aplicación están utilizando para procesar. Lo único que puedo decirte es que hay muchos parámetros con los que jugar en ambas aplicaciones y tienes que dedicar tiempo a encontrar cuáles funcionan mejor para ti. Ambas aplicaciones tienen documentación decente y hay mucho contenido en línea relacionado con ajustar los parámetros para obtener el mejor resultado. Realmente es una búsqueda interminable porque puedes tener excelentes resultados y sentir que finalmente lo tienes todo ajustado, y una actualización de controlador puede arruinarlo por completo.

Por supuesto, el mejor resultado es subjetivo.