HW H265 Konstante Qualitäts-Profil

Hallo zusammen,

ich versuche, ein H265-Profil mit konstanter Qualität und Hardware-Beschleunigung zu entwickeln. Die Profileinstellungen sind unten aufgeführt. Allerdings sehe ich im Log nichts mit NVENC.

Ich arbeite mit einem 10-Kern-i7 und einer GeForce-1080-Karte. Die Kodierung einer einstündigen Sendung dauert etwa 90 Minuten. Im Task-Manager ist die GPU nicht ausgelastet, aber die CPU ist auf 100 %. Ich habe die neuesten GeForce-Treiber installiert und die CUDA-Erweiterungen. Sieht jemand etwas im Profil?

[----------------------]
[MKV Constant Quality]
Description=WARNUNG: Handbrake Constant Quality Encoding (18).
order=handbrake
handbrake-UsingHardwareEncoding=true
handbrake-general=–decomb --denoise=“weak” --loose-anamorphic --verbose=2 -T -O
handbrake-video=–start-at duration:3 -e x265 -q 18
handbrake-audio=-E ffac3 -R auto -B 192 -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=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true

.

Beziehst du dich auf die MCEBuddy-Logs? Das Profil sieht in Ordnung aus

Ja – Entschuldigung – ich hätte die Logs posten sollen. Link zu den Logs:

Aktuelle Aufzeichnung: Microsoft OneDrive
MCEBuddy.log: Microsoft OneDrive

Danke! Will.

Die Protokolle zeigen, dass MCEBuddy nicht auf Ihre Datei zugreifen kann: (suchen Sie einfach nach “ERROR>”, um zu sehen, warum etwas in einem Protokoll fehlgeschlagen ist)

ERROR> 2017-10-05T06:46:29 MCEBuddy.Engine.ConversionJob → PreMeta Quelldatei wurde durch benutzerdefinierten Befehl umbenannt oder gelöscht → \Disk8\Plex\TV\NOVA\Season 44\NOVA (1974) - S44E13 - Secrets of the Shining Knight.ts

Falsches Protokoll ausgewählt – jedes Mal, wenn ich Windows aktualisiere, muss ich meine Netzwerkzugangsdaten für das NAS in MCEBuddy erneut eingeben.

Hier ist ein Protokoll für eine erfolgreich kodierte Datei – scheint nicht hardwarebeschleunigt zu sein: Microsoft OneDrive

Muss ich noch etwas anderes tun? Ich verwende die neuesten Treiber (387.78) und CUDA-Installation (9.0).

Etwas, das mir in den Protokollen auffällt, ist:

2017-10-06T01:58:52 MCEBuddy.Transcode.ConvertWithHandbrake --> Auto Enable Hardware Encoding : False

Gibt es irgendwo eine Einstellung, die ich übersehe?

Danke! Will.

Diese Meldung spiegelt direkt Ihre Einstellung handbrake-UsingHardwareEncoding=true wider, die MCEBuddy mitteilt, dass das Profil für Hardware-Encoding optimiert ist, sodass es keine Hardware-Einstellungen ändern oder Hardware automatisch aktivieren sollte.

Ich hätte das früher bemerken sollen, entschuldigung. Sie verwenden eine NVIDIA-GPU und NvEnc, daher müssen Sie ein FFMPEG-Profil und kein Handbrake-Profil verwenden.

Handbrake unterstützt nur Intel OpenCL, während FFMPEG NVIDIA NvEnc unterstützt. Übersetzen Sie einfach Ihr Profil in ffmpeg und es sollte funktionieren.

Danke. Ich finde FFMpegs Dokumentation etwas kompliziert. Ich denke, das ist korrekt – kannst du das bestätigen?

[----------------------]
[MKV Constant Quality]
Description=WARNUNG: Handbrake-Constant-Quality-Encoding (18) mit HEVC.
order=ffmpeg, handbrake
ffmpeg-general=-threads 0 -hwaccel auto
ffmpeg-video=-ss 3 -vf yadif=0:-1:1,hqdn3d -vcodec libx265 -q 18 
ffmpeg-audio=-acodec ac3 -ab 192k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 384k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
handbrake-UsingHardwareEncoding=true
handbrake-general=--decomb --denoise="weak" --loose-anamorphic --verbose=2 -T -O
handbrake-video=--start-at duration:3 -e x265 -q 18 
handbrake-audio=-E ffac3 -R auto -B 192 -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=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true

Danke! Will.

Beachte nur, dass du in diesem Fall x265 verwendest, aber keine Hardware für ffmpeg optimiert hast, sodass MCEBuddy den Codec zur Laufzeit automatisch ersetzen sollte.

Muss ich etwas zur Korrektur unternehmen? Wird HW-beschleunigtes H265 weiterhin unterstützt?

ahh – ich muss ffmpeg-UsingHardwareEncoding=True hinzufügen, oder?

Wenn du das hinzufügst, geht MCEBuddy davon aus, dass dein Profil für Hardware-Encoding optimiert ist und nimmt keine Änderungen vor, um Software-Encoding in Hardware-Encoding umzuwandeln. Ja, MCEBuddy unterstützt Hardware-Encoding-Optimierungen für h.265.

Im Moment sagt dein Profil ffmpeg, dass es libx265 verwenden soll, was ein Software-Encoder ist.

Also:

ffmpeg-video=-ss 3 -vf yadif=0:-1:1,hqdn3d -vcodec nvec_hevc -q 18

Danke! Will.

Wenn du ffmpeg-UsingHardwareEncoding=True verwendest, ja, dann wäre das richtig.

Erstens, danke für die Hilfe. Nach viel Ausprobieren habe ich ein Profil, das für konstante Qualität bei H265 funktioniert. Profi-Tipp: Die Constant-Quality-Skala ist bei H264 und H265 unterschiedlich.

[MKV HVEC Constant Quality]
Description=WARNUNG: Handbrake-Codierung mit konstanter Qualität (25) mit Nvidia HEVC.
order=ffmpeg, handbrake
AllowH264CopyRemuxing=true
FixedResolution=true
SkipCropping=true
AutoDeinterlace=true
ffmpeg-UsingHardwareEncoding=True
ffmpeg-general=-threads 0 -hwaccel auto
ffmpeg-video=-ss 9 -c:v hevc_nvenc -crf 25 -map 0:v
ffmpeg-audio=-acodec ac3 -ab 192k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 384k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
handbrake-UsingHardwareEncoding=true
handbrake-general=--decomb --denoise="weak" --loose-anamorphic --verbose=2 -T -O
handbrake-video=--start-at duration:3 -e x265 -q 18 
handbrake-audio=-E ffac3 -R auto -B 192 -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=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true

Zweitens, bringe ich etwas durcheinander, wenn ich FFMpeg durch eine Nvidia-spezifische Version ersetze?

Danke! Will.

Solltest du nicht, du kannst es versuchen. Neugierig, mit welchem Build willst du es ersetzen?

Ich habe es durch die neueste FFMpeg Win64 Static-Build ersetzt. Es ist 3.3 – bis ich das tat (und nachdem ich auf die neueste Version von MCEBuddy aktualisiert hatte), funktionierte der hevc_nvenc-Codec nicht.

Ist es möglich, einen benutzerdefinierten Speicherort für FFMpeg hinzuzufügen, so wie es für Profile oder Comskip gemacht wird?

Danke! Will.

Wir aktualisieren die Version von ffmpeg für die nächste Version und fügen weitere Optimierungen für die Hardware-Kodierung hinzu. Ich melde mich bei dir, wenn du an der Beta-Tests für die NVENc-Sachen interessiert bist.

Würde gerne Beta-Tests machen. Ich bin bereits Spender…

via Newton Mail

Du kannst das neueste 2.4.8-BETA-Build mit dem neuen ffmpeg ausprobieren und mir mitteilen, wie es bei der nvenc-Kodierung (hevc und x264) läuft.

Außerdem glaube ich nicht, dass nvenc den -crf-Parameter unterstützt, wenn ich mich nicht irre, aber du kannst es ausprobieren und mir Bescheid geben. Schau in deine Logs, was du bekommst.

Versuche -cq anstelle von -crf und lass mich wissen, ob das funktioniert. Unsere NVIDIA-Maschine hat sich selbst zerbrutzelt, also suchen wir bis zur Ersatzbeschaffung nach Testern :slight_smile: (oder falls jemand bereit ist, uns eine NVIDIA-Pascal-Maschine zu spenden).