wenn ich sonst Videos in H265 konvertiere, nütze ich ffmpeg und gebe an, dass für meine nVidia Grafikkarte der Codec hevc_nvenc genützt werden soll, dann ist das Konvertieren zu H265 mit der GPU zwischen 20 und 25x schneller als mit der CPU
Weil der Windows Taskmanager bei DVR-Recode anzeigt, dass die GPU komischerweise nicht genützt wird, deshalb die Frage:
Wie kann man DVR-Recode konfigurieren, dass es die GPU nützt?
Für den Fall, dass es für jemanden interessant ist, wie ich die GPU mit FFMPEG nütze, gebe ich es nachfolgend an.
Vielen Dank, liebe Grüsse,
Thomas
In PowerShell starte ich ffmpeg so:
Code: Alles auswählen
$QuellDatei = 'c:\temp\video.mp4'
$ZielDatei = 'c:\temp\video-h265.mp4'
$VideoMaxHöhe = 1024
$CrfQuality = 23
# ffmpeg aufrufen
# -y: Überschreibt die Zieldatei automatisch
# -i $QuellDatei: Pfad zur Quelldatei
# -map 0: Übernimmt alle Streams der Quelldatei (Video, alle Tonspuren, Untertitel) in die Zieldatei.
# -c:v hevc_nvenc: Verwendet den NVIDIA-Hardware-Encoder für das Videoformat HEVC (H.265).
# -c:a copy: Kopiert die Audiospuren direkt, ohne sie neu zu kodieren (spart Zeit und erhält die Originalqualität).
# -c:s copy: Kopiert die Untertitelspuren direkt
# -vf scale=-2: min($VideoMaxHöhe,ih): Das Video-Bild soll max 1024 pixel hoch sein und -2 bedeutet, dass das Seitenverhältnis zum Original erhalten bleiben soll
# -preset medium: Ein Kompromiss zwischen Kodiergeschwindigkeit und Effizienz
# -rc vbr: Aktiviert den Modus für variable Bitrate
# -cq $CrfQuality: Setzt den Ziel-Qualitätsfaktor
# -b:v 0: Setzt die Ziel-Bitrate auf 0. Das ist bei der Nutzung von -cq wichtig, damit der Encoder rein nach Qualität (und nicht nach einer festen Bitrate) arbeitet
ffmpeg -y -i "$QuellDatei" -map 0 -c:v hevc_nvenc -c:a copy -c:s copy -vf "scale=-2:'min($VideoMaxHöhe,ih)'" -preset medium -rc vbr -cq $CrfQuality -b:v 0 "$ZielDatei"
