nVidia niet gebruikt voor H.265-codering

MCEBuddy draait prima. Geüpgraded naar een nieuwe nVidia 2060. Geen hardware-encoding-liefde. Wat mis ik?

INFORMATION> 2020-10-28T23:23:08 MCEBuddy.Transcode.Convert → Converting with Handbrake, type: HardwareOnly, gpu: {
“hardwareBrand”: “NVidia”, “codecType”: “Encoder”,
“hardwareCodecPresent”: true, “h265Codec”: true, “h264Codec”: true
}
INFORMATION> 2020-10-28T23:23:08 MCEBuddy.Transcode.ConvertWithHandbrake
→ Setting up General conversion parameters : --decomb --loose-anamorphic --verbose=2
→ Setting up PreDRC
→ Setting up input file name parameters
→ Setting up video conversion parameters : --start-at duration:0 -e x265 --encoder-preset medium -q 26
→ Is preset video size → False
→ Setting up crop parameters
→ Handbrake auto video cropping
→ Checking if video resizing required
→ Setting up aspect ratio if required
→ Setting up bitrate and quality parameters
→ Setting up audio conversion parameters : -E ffac3 -R auto -B 256 -D 0 -a 1,2,3,4,5
→ Selecting Audio Track : -1
→ Letting handbrake choose best audio track
WARNING> 2020-10-28T23:23:08 MCEBuddy.Transcode.ConvertWithHandbrake
→ Cannot get Audio and Video stream details, continuing with default Audio Language selection
INFORMATION> 2020-10-28T23:23:08 MCEBuddy.Transcode.ConvertWithHandbrake
→ Setting up volume adjustment : 0.4dB
→ Setting up PostDRC
→ Setting up Audio channels
→ Requested to limit Audio Channels to 2
→ Setting up Output filename
→ Replacing user specified parameters
INFORMATION> 2020-10-28T23:23:08 MCEBuddy.Transcode.ConvertWithHandbrake
→ Converting the video - Main conversion
ERROR> 2020-10-28T23:28:10 MCEBuddy.AppWrapper.Handbrake
→ Hardware encoding appears to have hung, no progress in the last 300 seconds.
This is likely due to an unstable Graphics Display Driver. Try updating or using a stable Graphics Display Driver.
Terminating process.
ERROR> → Unrecoverable error encountered. Process likely hung, killing it
ERROR> 2020-10-28T23:28:10 [repeat]
ERROR> 2020-10-28T23:28:11 [repeat]
ERROR> 2020-10-28T23:28:11 [repeat]
ERROR> 2020-10-28T23:28:11 [repeat]
ERROR> 2020-10-28T23:28:11 [repeat]
ERROR> 2020-10-28T23:28:12 [repeat]
ERROR> 2020-10-28T23:28:12 [repeat]
ERROR> 2020-10-28T23:28:12 [repeat]
ERROR> 2020-10-28T23:28:12 [repeat]
ERROR> → Process hung, killing process
ERROR> 2020-10-28T23:28:12 MCEBuddy.AppWrapper.Handbrake
→ Hardware encoding appears to have hung, no progress in the last 300 seconds.
This is likely due to an unstable Graphics Display Driver. Try updating or using a stable Graphics Display Driver.
Terminating process.
ERROR> 2020-10-28T23:28:12 MCEBuddy.Transcode.ConvertWithHandbrake → Handbrake conversion failed
ERROR> 2020-10-28T23:28:12 MCEBuddy.Transcode.ConvertWithHandbrake → Conversion of video failed
ERROR> 2020-10-28T23:28:12 MCEBuddy.Transcode.Convert → Handbrake did not convert successfully, using fallback if configured
INFORMATION> 2020-10-28T23:28:12 MCEBuddy.Transcode.ConvertWithFfmpeg → Checking for Unsupported profile for container / codec combination
INFORMATION> 2020-10-28T23:28:12 MCEBuddy.Transcode.Convert → Converting with FFMpeg, type: HardwareOnly, gpu: {
“hardwareBrand”: “NVidia”,
“codecType”: “Encoder”,
“hardwareCodecPresent”: true,
“h265Codec”: true,
“h264Codec”: true
}
INFORMATION> 2020-10-28T23:28:12 MCEBuddy.Transcode.ConvertWithFfmpeg → Setting up General conversion parameters : -threads 0
→ Setting up PreDRC
→ Setting up input file name parameters
→ Setting up video conversion parameters : -ss 0 -vf yadif=0:-1:1,hqdn3d -vcodec libx265 -preset medium -crf 26 -map 0:v -sn
→ Is preset video size → False
→ Setting up crop parameters
INFORMATION> 2020-10-28T23:28:12 MCEBuddy.VideoProperties.VideoInfo → Getting crop information using FFMpeg
WARNING> → FFMpeg Crop Detect Process Error - retrying with MEncoder
ERROR> → No response from process for 300 seconds, process likely hung - killing it
ERROR> → Process hung, killing process
WARNING> → MEncoder Crop Detect Process Error - cropping will not take place
INFORMATION> 2020-10-28T23:34:52 MCEBuddy.Transcode.ConvertWithFfmpeg
→ FFMpeg found no video cropping
→ Checking if video resizing required
→ Setting up aspect ratio if required
→ Setting up bitrate and quality parameters
→ Setting up audio conversion parameters : -acodec ac3 -ab 256k -map 0:a
→ Selecting Audio Track : -1
→ Letting ffmpeg choose best audio track
→ Cannot get Audio stream details, continuing with default Audio Language selection
→ Setting up volume adjustment : 0.4dB
→ Setting up PostDRC
→ Setting up Audio channels
→ Requested to limit Audio Channels to 2
→ Setting up Output filename
→ Replacing user specified parameters
→ Converting the video - Main conversion
WARNING> → Ffmpeg conversion failed, retying using GenPts
WARNING> 2020-10-28T23:48:48 MCEBuddy.Transcode.ConvertWithFfmpeg → Ffmpeg conversion failed with hardware decoder, retrying with without hardare decoder

De conversie gaat daarna verder, maar geen hardware-versnelling omdat het terugvalt op CPU-encoding.
Hints over waar ik op moet letten als ik de logdetails verhoog?

Uit de logs:

ERROR> 2020-10-28T23:28:10 MCEBuddy.AppWrapper.Handbrake
→ Hardware encoding appears to have hung, no progress in the last 300 seconds.
This is likely due to an unstable Graphics Display Driver. Try updating or using a stable Graphics Display Driver.

Ik gebruik de nieuwste WHQL-driver van nVidia. Ik zal later de exacte versie plaatsen, en de GeForce Experience-app geeft aan dat ik up-to-date ben.

Helaas is de nieuwste versie niet altijd de beste bij grafische drivers. @RBoy heeft in zijn leven veel WHQL-drivers geschreven en heeft vaak vermeld dat je grafische drivers niet moet updaten tenzij het noodzakelijk is, aangezien nieuwe drivers vaak bugs introduceren die de WHQL-certificering niet altijd opmerkt.

Zie de lijst met aanbevolen driverversies, deze zijn gebaseerd op communityfeedback over de meest stabiele drivers voor hardware-encoding:

Het leek een driverprobleem te zijn, want de volgende nVidia-driverupdate heeft het probleem opgelost. Ik gebruik driverversie 457.30 met een RTX2060. Ik kan bevestigen dat de GPU door MCEBuddy wordt gebruikt in de Windows-prestatiemeter van Taakbeheer.

Wat ik echter merk, is dat de GPU alleen wordt gebruikt tijdens de laatste transcoderingsfase en helemaal niet tijdens de comskip-advertentiedetectie of demux-fase, alleen bij de laatste stap van het opnieuw samenvoegen van de video- en audiosporen tot de MKV. Ik had gehoopt dat de GPU voor meer van de verwerking zou worden gebruikt. Dat gezegd hebbende, verwerkt het die laatste stap zeker ongeveer 10 keer sneller (~50 fps vs ~500 fps). De demux-fase duurt nog steeds even lang. Handbrake als standalone programma detecteert en gebruikt de GPU ook.