GTX 1660 Ti / NVENC war schnell, aber die Dateigrößen waren furchtbar!

Mein Rechner ist ein Ryzen 7-1700 mit 16 GB RAM, einer Reihe von Festplatten und einer SSD als Systemlaufwerk – Windows 10 Professional. Meine Grafikkarte war/ist eine GT 730 2 GB. Ich verwende die Donator-Version 2.4 v11 von MCEB und habe HW-Encoding aktiviert.

Anfang dieses Jahres fing ich an, ein paar alte halbstündige TV-Sendungen über meinen Roku und eine Capture-Box aufzuzeichnen. Ich nutze OBS Studio Version 23.2 (aktuell) mit grundsätzlich Standardeinstellungen (1920 × 1080). Ich habe das Bild etwas gestreckt, da die Sendungen ein älteres Format haben. Das Endergebnis sieht auf einem HDTV großartig aus! Nachdem die Box die Datei aufgenommen hat, wandert sie auf meinen HTPC, wo MCEB sie aufgreift und mit dem HEVC-MP4-Codec verarbeitet. Ich habe für diese Sendungen ein eigenes Profil erstellt, da sie keine Werbung enthalten – Comskip ist also nicht nötig.

Unter der GT-730-Konfigellation lag die Rohdatei bei etwa 470 MB. MCEB brachte sie auf rund 220 MB. Ich brauche sie so klein wie möglich, da es etwa 40 Episoden pro Staffel gibt und ich alle archivieren möchte.

Nach viel Recherche beschloss ich, eine bessere Grafikkarte zu kaufen. Ich bekam ein gutes Angebot für eine GTX 1660 Ti und baute sie ein. Ich aktualisierte die Treiber und verwendete den H265-NVENC-Codec in OBS. Nach den unten stehenden Ergebnissen testete ich auch den H264-Codec (vermutlich denselben, den die 730 genutzt hatte?) und erhielt ähnliche Ergebnisse.

Die Verarbeitungszeiten in MCEB fielen drastisch – von 40 Minuten auf 9 Minuten – und die CPU wurde entlastet, die zuvor bei zwei gleichzeitigen Streams auf 100 % ging. Ich war enttäuscht zu sehen, dass die Endergebnisse fast so groß waren wie die Originalaufnahme (deutlich über 400 MB).

Ich experimentierte mit verschiedenen Einstellungen wie Bitrate, konnte aber nicht dieselbe Kompression erreichen. Letztendlich gab ich die 1660 zurück und baute die 730 wieder ein. Die erste Umwandlung lief wie gewohnt – sowohl bei der Verarbeitungszeit als auch bei den Dateigrößen. Da es eine dedizierte Maschine ist, kann ich die Konvertierungen außerhalb der Hauptzeiten laufen lassen, aber ich hatte deutlich bessere Ergebnisse erwartet, zumal Nvidia und OBS gemeinsam an der aktuellen OBS-Version gearbeitet haben. Falls ich etwas falsch gemacht habe, weiß ich nicht, was es war.

Ich bin neugierig, ob jemand Ähnliches mit einer Nvidia-Karte erlebt hat? Ich frage mich, ob eine einfachere Karte wie eine 1050 besser funktionieren könnte.

Ich habe festgestellt, dass die Dateigrößen bei NVENC suboptimal sind. Ich schlage vor, dass du die Kompression erhöhst, um die Dateien wieder zu verkleinern. Ein Wechsel zurück zu einer 1050 wird die Dateien nicht kleiner machen – nur die Konvertierung verlangsamen.

Danke. Wie kann ich die Komprimierung erhöhen? Ich habe versucht, die Bitrate von 2500 auf 2000 und 1500 zu senken, wobei die erste kaum eine Größenunterschied machte, während die zweite eine schlechte Videoqualität hatte.

Ich schlage vor, dass du dir das Profil ansiehst. Achte auf diese Zeile:

ffmpeg-video=-ss 9 -c:v hevc_nvenc -cq 26 -rc vbr -map 0:v

Der CQ-Teil bezieht sich auf „Constant Quality“ – höhere Zahlen bedeuten niedrigere Qualität, und natürlich ist die H265-Skala anders als die von H264; ein CQ von 23 in H265 entspricht etwa einem Qualitätswert von 20 in H264.

Die Verwendung des oben Genannten reduziert die Dateigrößen um etwa 60 % im Vergleich zur unkomprimierten .TS-Datei. Die Skala ist logarithmisch, daher können kleine Anpassungen große Auswirkungen haben.

Viel Erfolg! Will.

Danke für deine Zeit und deine Ratschläge. Ich habe die Profileinstellungen gefunden, und das steht in dieser Zeile:
ffmpeg-video=-ss 0 -vf yadif=0:-1:1,hqdn3d -vcodec libx265 -preset medium -crf 26 -map 0:v -sn

Ich nehme an, es ist anders, weil die GTX/NVENC weg ist.

Hast du einen Tipp für eine bessere H265-fähige Grafikkarte für diesen Vorgang? Ich möchte lieber nicht wieder über 200 $ ausgeben, wenn eine günstigere Karte brauchbare Ergebnisse liefert und der CPU etwas Arbeit abnimmt. Ich weiß, dass die 1050 eine beliebte Karte ist, deshalb hatte ich sie erwähnt.

Sobald ich eine HEVC-fähige Karte habe, kann ich vielleicht – wenn ich die entsprechende ffmpeg-Einstellung in OBS finde – auch MCEB entlasten.

Hi. Das Profil, das du zitiert hast, verwendet x265, was reine Software-Kodierung ist. Wenn du libx265 durch hevc_nvenc ersetzt, wird deine Grafikkarte für die Kodierung genutzt. Die ffmpeg-Syntax ist etwas sperrig – ich poste unten das Profil, das ich selbst benutze:

[MKV HEVC Beta Profile Constant Quality]
Description=WARNUNG: Handbrake-Constant-Quality-Kodierung (26) mit Nvidia HEVC.
order=ffmpeg, handbrake
AllowH264CopyRemuxing=true
FixedResolution=true
AutoDeinterlace=true
ffmpeg-UsingHardwareEncoding=True
ffmpeg-general=-threads 0 -hwaccel auto
ffmpeg-video=-ss 9 -c:v hevc_nvenc -cq 26 -rc vbr -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:0 --encoder nvenc_h265 --encoder-preset slow --quality 23 --vfr
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

Deine Karte ist mehr als ausreichend – sie ist eine aktualisierte Version der GTX-10xx-Reihe. Ich habe für meine Plex-/MCEBuddy-Maschine eine RTX 2060 gekauft, aber deine 16xx war damals noch nicht erhältlich. Viel Erfolg! Will.

Noch etwas: Wenn Sie eine aktuelle Version von Windows 10 verwenden, können Sie im Task-Manager sehen, wo die Arbeit erledigt wird, während die Datei konvertiert wird. Wenn alles korrekt funktioniert, sollten Sie sehen, dass die Grafikkarte während der eigentlichen Konvertierung auf 99 % auslastet. Das ist ziemlich cool. Danke! Will.

Danke für den Beitrag. Ich habe die GTX 1660 Ti entfernt und zurückgegeben, also bin ich wieder bei der GT 730, die laut NVIDIA-Matrix kein H.265 unterstützt.

EDIT
Ich verwende sowohl HW-Monitor- als auch GPU-Monitor-Programme, um zu sehen, was CPU und GPU tun, wenn MCEB läuft.

Ich werde versuchen, eine günstige 10er-Serie-Karte zu finden, die das kann. Danke nochmals.

Ich war mit meiner 2060 zufrieden – die 2050 funktioniert auch und ist günstiger…

Mit deinen Informationen habe ich in OBS Studio herumexperimentiert, da mein Ziel ist, beim ersten Aufzeichnen eine erträgliche Dateigröße zu bekommen und MCEB nur für Show-Daten und den Transfer zu Plex zu nutzen. Ich bin mir nicht ganz sicher, wie ffmpeg funktioniert, aber ich weiß, wie man den Code eingibt. Ich habe versucht, ein paar DLL-Dateien in OBS einzufügen – basierend auf einem Post – um libx265 nutzen zu können, aber das Programm stürzte beide Male ab. Ich habe gelesen, dass OBS x265 nicht unterstützt.

Indem ich den ffmpeg-Text aus dem MCEB-Profil verwendete – ohne die letzte Zeile, die Werbung behandelt – und den H264_Nvenc-Codec nutzte, sah ich bei fünfminütigen Testdateien eine deutliche Reduzierung. Die mit H265 Nvenc aufgenommenen Dateien waren etwa 190 MB groß, während die heute erstellte Datei 103 MB hatte (dieses Verhältnis entspricht ungefähr dem, das ich mit MCEB erziele). Interessant war, dass die OBS-Datenanzeige während der Aufnahme nur etwa 14 % CPU-Auslastung anzeigte. Ich habe die Datei auf einem anderen Rechner abgespielt und sie sah gut aus.

Ich habe noch einige meiner halbstündigen Dateien (etwa 24:30 Minuten Länge) und werde eine davon testen, um zu sehen, was herauskommt. Wenn das genauso funktioniert, kann ich auf eine neue Grafikkarte verzichten.

Nochmals vielen Dank für deine Hilfe.

Na gut, zurück zum Zeichenbrett. Meine 24-minütige Datei mit benutzerdefinierten Einstellungen hatte 503 MB. Ich stellte fest, dass ich vorhin die größte H265-Datei betrachtet hatte, die ich erstellt hatte; andere mit H264 waren kleiner. Dieselbe Sendung mit der vorherigen Einstellung lag bei etwa 487 MB, also wurde sie dadurch größer.

Ich werde weiter verschiedene Einstellungen ausprobieren. Wenn MCEB auf demselben Rechner mit ffmpeg das schafft, muss es auch mit OBS möglich sein.