Encodage HEVC avec FFMPEG utilisant 30+% du CPU

Salut à tous,

J’ai remarqué que, lorsque j’encode de H264 vers H265, mon GPU est utilisé à 49-50 % et mon CPU autour de 30 % pour le processus FFMPEG. Quelqu’un peut-il m’aider à forcer FFMPEG à n’utiliser que l’encodeur matériel GPU pour hevc_nvenc ? Ou au moins m’expliquer pourquoi le CPU est sollicité à 30 %. :smiley:

Screenshot 2021-04-23 235844

Voici mon profil :

[MKV HVEC - No Time Removed]
Description=WARNING: Handbrake Constant Quality encoding (18) with Nvidia HVEC.
order=ffmpeg, handbrake
AllowH264CopyRemuxing=true
FixedResolution=true
AutoDeinterlace=true
ffmpeg-UsingHardwareEncoding=True
ffmpeg-general=-threads 0
ffmpeg-video=-ss 0 -map_metadata -1 -c:v hevc_nvenc -cq 18 -rc vbr -map 0:v
ffmpeg-audio=-acodec ac3 -ab 256k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 384k -map 0:a
ffmpeg-ext=.mp4
ffmpeg-audiodelay=skip
handbrake-UsingHardwareEncoding=true
handbrake-general=–decomb --denoise=“weak” --loose-anamorphic --verbose=2 -T -O
handbrake-video=–start-at duration:0 -e x265 -q 18
handbrake-audio=-E ffac3 -R auto -B 256 -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=.mp4
handbrake-audiodelay=skip
PreConversionCommercialRemover=false

Spécifications de mon système :

CPU: Intel i9-9900k @ 3.60 GHz (OC 4.9 GHZ all cores).
RAM: Corsair Vengeance LPX 16GB DDR4 3200MHZ.
MOBO: Gigabyte Aorus Z390 Ultra.
GPU: EVGA GeForce GTX 1080 Ti FTW3 (11G-P4-6696-KR).

Vous convertissez également l’audio en AC3, ce qui consomme du CPU.

Question idiote - existe-t-il des moteurs/algorithmes/codecs ou options de transcodage audio qui utilisent également le GPU ?
Ou est-ce simplement quelque chose qui n’arrivera pas de sitôt ?

Je ne connais aucun codec audio prenant en charge l’encodage ou le décodage matériel via le GPU. Si vous ne compressez pas votre audio, il n’utilisera aucun CPU. Enfin, aucun lié au décodage/encodage audio.

ffmpeg-audio=-acodec copy -map 0:a
ffmpeg-audioac3=-acodec copy -map 0:a

Ah, j’ai totalement négligé la partie audio de la conversation. Donc, avec la ligne que tu as envoyée, cela ferait une copie 1:1 de l’audio source original ?

Correct. Si vous remplacez les lignes par celles que j’ai envoyées, cela effectuera une copie 1:1 de l’audio source sans conversion.

@SystemIdleProcess - J’ai effectué la modification, mais ffmpeg.exe utilise toujours plus de 30 % du CPU. Voir la pièce jointe

Pouvez-vous joindre le journal de conversion ? J’utilise plutôt Handbrake donc je ne suis pas sûr que ce soit normal ou non, mais le journal pourrait aider.

Vous pourriez en apprendre davantage sur ce qui consomme le CPU dans les processus MCEBuddy et FFMPEG en utilisant Microsoft/SysInternals Process Explorer et en examinant la pile d’exécution du thread qui consomme le CPU.