Windows 10 Remote Desktop mit RemoteFX und Hardware h.264 unter Verwendung von Nvidia NVENC

Windows 10 Remote Desktop mit RemoteFX und Hardware h.264 unter Verwendung von Nvidia NVENC

Ich habe Windows 10 Pro als Server und Windows 10 Pro als Client. Der Server hat eine GTX 1070-Karte mit dem neuesten Treiber und ist vollständig NVENC-fähig für h.264/AVC 444-Hardwarecodierung. Steam-Streaming funktioniert über den Hardware-Codec auf der Serverseite.

Ich habe RemoteFX auf dem Server aktiviert und in der Gruppenrichtlinie unter Remotedesktopdienste/Remotedesktop-Sitzungshost/Remotesitzungsumgebung Folgendes aktiviert:

  • Verwenden Sie Hardwaregrafikadapter für alle Remotedesktopdienstesitzungen
  • Verwenden Sie erweiterte RemtoteFX-Grafiken für RemoteApp
  • Priorisieren Sie den H.264/AVC 444-Grafikmodus für Remotedesktopverbindungen
  • Konfigurieren Sie die H.264/AVC-Hardwarecodierung für Remotedesktopverbindungen
  • Konfigurieren der Komprimierung für RemoteFX-Daten
  • Konfigurieren der Bildqualität für RemoteFX Adaptive Graphics
  • Aktivieren Sie die RemoteFX-Kodierung für RemoteFX-Clients, die für Windows Server 2008 R2 SP1 entwickelt wurden.
  • Remotedesktopprotokoll 8.0 aktivieren
  • Konfigurieren der Bildqualität für RemoteFX Adaptive Graphics

Wenn ich eine Verbindung zum Server herstelle und in der Ereignisanzeige zu „RemoteDesktopServicesd-RdpCoreTS“ gehe, werden mir keine Ereignisse mit der Ereignis-ID 162 oder 170 angezeigt. In der Dokumentation steht, dass diese bei Verwendung der Hardwarecodierung angezeigt werden sollten.

Was mache ich falsch? Warum bekomme ich keine Hardware-H.264-Kodierung? Gibt es eine andere Einstellung, die ich vermisse und aktivieren muss?

Antwort1

Endlich habe ich es zum Laufen gebracht. Die Lösung bestand aus mehreren Teilen.

  1. Hardware-Kodierung istNURjemals mit AVC444-Kodierung verwendet. Wenn Ihr Client dem Server nicht explizit mitteilt, dass er AVC444-fähig ist (z. B. wenn er nur AVC420 verarbeiten kann), wird der RDP-ServerNIEMALSHardware-Kodierung verwenden. Ich denke, das liegt daran, dass MS einen speziellen Codec verwendet, um einen Stream zu generieren, der AVC420-Decoder-korrekt ist, aber eine spezielle Kodierung anwendet, die dafür sorgt, dass Schriftarten nicht blockig und verschwommen aussehen.

    Deshalb: Stellen Sie sicher, dass Ihr Client AVC444 unterstützt und aktivieren Sie gegebenenfalls keine Fallback-Optionen.

    Wenn Sie den FreeRDP-Client verwenden, stellen Sie sicher, dass Sie ihn startenmit /gfx-h264:AVC444, Sie haben mindestens /bpp:24und NO /rfxoder eingestellt /rfx-mode:video. Sie müssen außerdem sicherstellen, dass Sie FreeRDP mit ffmpeg h.264-Unterstützung und nicht mit OpenH.264 erstellt haben, da letzteres die Unterstützung für die AVC444-Dekodierung beschädigt hat und zu Artefakten führt, die RDP unbrauchbar machen.

  2. Die Nvidia-Treiberversion ist wichtig. Ich habe es ursprünglich mit dem neuesten „Game Ready“-Treiber von Nvidia versucht und konnte ihn nicht zum Laufen bringen. Am Ende habe ich es mit dem „Studio“-Treiber zum Laufen gebracht, der etwas älter ist.

  3. Hardware-Unterstützung für AVC444-Kodierung istNOTWENDIG. Das bedeutet Maxwell GM107 oder bessere GPU (nur GeForce 9xx und höher), da ältere Versionen keine YUV444-Kodierungsunterstützung haben. Ich habe es zunächst mit einem GT630 versucht, der auf einer Kepler GK208 (GT 630) GPU basiert, die nur AVC420 und nicht AVC444 unterstützt.

Um es zusammenzufassen: Damit dies funktioniert, benötigen Sie:

  1. Hardware, die YUV444/AVC444-Kodierung unterstützt (GM107/9xx-Serie oder höher)

  2. Nvidia Studio-Treiber (sollte zumindest zum Zeitpunkt des Schreibens der Game Ready-Treiber sein)

  3. Client, der die AVC444-Dekodierung unterstützt und sich als solcher meldet.

  4. Aktivieren Sie die Option zur Priorisierung/Bevorzugung von AVC444 auf der Serverseite.

  5. Behalten Sie die Auflösung bei <= 2560x1440

Update: Dies funktioniert deutlich besser und stabiler, wenn Sie statt Windows 10 verwendenWindows Server 2016 für Ihren Remote-Gaming-Host.

verwandte Informationen