Leichter Codec für das Streaming von 1080p 60 FPS in Echtzeit

782
user41209

Problem angeben

Ich möchte meinen Desktop über ein 1-Gbit / s-Ethernet unter folgenden Voraussetzungen auf einen anderen Computer streamen:

  • Auflösung: 1920 x 1080
  • FPS: 60
  • Eingabedaten: reine 24-Bit-Echtfarben (3 Gbit / s)
  • Maximale Ausgabebitrate: 800 Mbps
  • Latenz: <50ms (Netzwerklatenz beträgt weniger als 1ms)
  • CPU: Verwenden Sie weniger als 20% des Intel Core2 Quad Q9300
  • Kommt nicht auf bestimmte Hardwarebeschleunigung an

Angenommen, ich spiele ein Spiel über dem Stream (was ich nicht bin), sodass die Framerate und Latenz das kritischste Problem sind.

Frage

Ich suche nach einer Lösung, bei der ich die Rohvideodaten mit 10- bis 20-facher Geschwindigkeit in Echtzeit komprimieren kann. Ich interessiere mich nicht für die Bitrate.

Getestete Software

  • RDP : Verwendet weniger als 40 MBit / s in höchster Qualität und es gibt keine Option zum Einstellen der Bildrate auf 60 FPS.
  • TightVNC : Ermöglicht die Angabe des Qualitäts- und Kodierungsalgorithmus. Unter Verwendung "raw tight"als encodingParameter mit AVB 80Mbps 60FPS erreicht auf einem 4 - GHz - Intel Core i7-6700K, aber auf dem unteren Ende Maschinenstart einige ernsthafte Verzögerung apear. Mit dem rawEncoder verschwindet die Verzögerung, aber die erforderliche Bandbreite liegt bei über 3 Gbit / s, sodass die Anzahl der Bilder pro Sekunde begrenzt ist und einige Frames zerrissen werden
  • GamingAnywhere : Diese Software verwendet H264, um Rohdaten zu codieren und über das Netzwerk zu senden. Der Encoder verhindert jedoch, dass 60FPS erreicht werden (die verwendete Bandbreite ist <60 Mbps).

Getestete Encoder

Getestet auf Rohdateneingabe - Einzelthread:

  • H264: läuft bei 1,33x (1x Mittelwert 60FPS)

    ffmpeg -i raw.avi -vcodec libx264 -crf 0 -preset ultrafast -threads 1 out.mp4

  • MJPEG: läuft bei 0,33x

  • PNG: PNG ist komplexer als MJPEG, daher habe ich es nicht getestet.
0
@ user41209 Ich frage mich, warum die GPU-Codierung hier keine Option ist. H.264 ist nicht so rechenaufwendig, wenn Sie keine hohen Kompressionsraten wünschen. slhck vor 6 Jahren 0

1 Antwort auf die Frage

0
user41209

Die Antwort ist VC2, das speziell für Ethernet und Streaming von 1080p 60FPS-Video entwickelt wurde. von der Codec-Seite auf der Website von ffmpeg

SMPTE VC-2 (zuvor BBC Dirac Pro). Dieser Codec war in erster Linie für den professionellen Broadcasting gedacht. Da er jedoch yuv420, yuv422 und yuv444 mit 8 (begrenzter Reichweite oder voller Reichweite) sowie 10 oder 12 Bit unterstützt, eignet sich dieser Codec für andere Aufgaben, die einen geringen Overhead und eine geringe Komprimierung erfordern (wie Bildschirmaufzeichnung) ).

Zielvideo-Bitrate Normalerweise ist dies etwa 1: 6 der unkomprimierten Video-Bitrate (z. B. für 1920 x 1080 50fps yuv422p10 sind dies etwa 400 MBit / s). Höhere Werte (nahe der unkomprimierten Bitrate) aktivieren den Modus für verlustfreie Komprimierung.

Danke für das Feedback, user41209. Q & A-Sites wie die auf den StackExchange-Sites funktionieren am besten für nicht-meinungsfähige, semi-permanente Antworten. Ihre Frage ist komplex genug und bietet genügend Möglichkeiten, um sich über Optionen zu streiten, die es wahrscheinlich wert sind, sich auf einer Website im Forumstil anstelle einer Q & A-Site zu registrieren. Christopher Hostage vor 6 Jahren 0
@ user41209 Ich habe tatsächlich versucht, Ihnen zu helfen, eine gute Qualitätsfrage zu stellen, die in unsere [Richtlinienrichtlinien] (https://superuser.com/help/on-topic) passt (nicht nur eine Einkaufsfrage) und auch keine [subjektive Frage] (https://superuser.com/help/dont-ask), die wahrscheinlich geschlossen wird. Nachdem Ihre Frage von einem anderen Benutzer bearbeitet wurde, um sie in den Geltungsbereich zu bringen, öffnete ich sie gerne wieder. Mokubai vor 6 Jahren 1
@ user41209 Wenn Sie gerade erst anfangen, kann es schwierig sein, die Gemeinschaftsregeln zu kennen. Bitte nehmen Sie von der Seite der Moderatoren keine negativen Absichten an - sie versuchen, Fragen zum Thema und lösbar zu halten. Wir möchten, dass sich Fragen auf das eigentliche Problem konzentrieren (z. B. Streaming von einem PC auf einen anderen) anstatt auf die angenommene Lösung (dh ich gebe mir dazu einen leichten Codec). slhck vor 6 Jahren 0
Bitte beenden Sie das Hinzufügen von irrelevanten Kommentaren zu Ihren Posts. Wenn Sie etwas zu besprechen haben, können Sie [meta] besuchen. slhck vor 6 Jahren 0