2016-05-23 10 views
1

Ich mache eine Cloud-Gaming-Lösung, die irgendwie "gut" funktioniert.Replace dropped frame

Im Moment läuft auf unseren Servern ein Spiel, kodiere das Video mit VCE (AMD hardware encoding), zerlege die Videoframes und sende sie in UDP an den Player. Der Spieler empfängt die Pakete, erstellt die Daten neu und entschlüsselt sie. So haben wir keine Probleme, wenn es keinen Paketverlust gibt.

Im Falle einer Kabelverbindung ist alles glatt, aber die Leute gerne Wifi (5ghz, wir können nicht mit 2Ghz umgehen). Selbst wenn Sie ein gutes WLAN haben, können Paketverluste auftreten. Wir haben einen Redundanzplan, der "okish" funktioniert, aber es wird zu viel Netzwerk brauchen.

Hier ist eine kleine Erklärung:

Original-Codierung (nur P-Frames):

F1 - F2 - F3 - F4 - F5

Was wir im Moment tun, wenn wir F2 verlieren:

F1 - leer - F3 (hässlich) - F4 (hässlich) - F5 (hässlich)

Was wir tun wollen, ersetzen F2:

F1 - F1 '- F3 - F4 - F5

Würde es funktionieren, wenn der dritte Frame auf F1' verweist (denkt es ist F2)? Zumindest denke ich es besser als nichts zu tun. Gibt es eine Möglichkeit, den Bezug von F3 zu ändern (also auf F1 und nicht auf F2 zu verweisen) oder F1 mit dem "Header" von F2 zu erstellen?

Antwort

1

Ihre Lösung wäre weitgehend unwirksam. Sie sollten die gleiche Lösung wie die anderen in Ihrem Raum übernehmen. Das sind periodische Intra-Refresh, Reference Frame Invalidation und FEC.

+0

Für die FEC können wir zur Zeit statische Redundanz implementieren. 1 Frame = 30 Pakete, und wir fügen 3 weitere für eine Gruppe von 10 Paketen hinzu. Unser Rahmen ist 33 Stück wert. Ich denke, es ist eine gute Lösung. Vielleicht werden wir es später adaptiv machen. Für periodische Intra-Refresh, ich werde es für VCE suchen. Wir haben eine Dokumentation (AMF_Encoding_Profiles) von AMD, aber es ist nicht sehr explizit. Für Referenzrahmen Ungültigmachung, könnten Sie mich auf einige Dokumente verweisen, konnte nicht relevant finden. – BeGreen

+0

Sie müssen mit AMD überprüfen. aber auf x264 heißt die Funktion x264_encoder_invalidate_reference – szatmary