web-dev-qa-db-fra.com

Gaming over LAN, alternative à VNC?

D'accord, j'ai fait plus que quelques devoirs à ce sujet et je commence à penser que le monde est en quelque sorte opposé à cette idée.

J'ai un ordinateur portable chez moi, le SB Core i3 avec un processeur graphique GMA HD, qui est terriblement horrible pour tout ce qui est visuel, et j'aimerais diffuser de la vidéo en 3D à partir de mon ordinateur de bureau (en excluant les protocoles RDP et autres hooks).

La première réponse de la plupart des gens à des threads similaires est liée à la bande passante ou à la puissance de traitement. J'essayais avant tout avec un réseau LAN gigabit et mon ordinateur de bureau a un processeur overclocké de 3930 k, donc je suis d'avis qu'il devrait y avoir un équilibre entre le grunt du processeur et la bande passante qui me permettrait d'obtenir au moins 20 images par seconde en rafraîchissement plein écran . Jusqu'à présent, je ne peux pas utiliser TightVNC, tester en lisant une vidéo en plein écran sur la machine hôte.

Donc, pour résumer, avec plus de 30 fois la bande passante d’OnLive, comment puis-je créer exactement un flux vidéo encore saccadé sur le réseau local de mon propre domicile? Est-ce possible et comment?

15
user1901982

Une solution logicielle comportera naturellement beaucoup de retard pour les raisons suivantes:

  • La lecture des données depuis le framebuffer du GPU est très lente.
  • Même avec un débit cible autour de 80% d'Ethernet gigabit (vous ne voulez pas une utilisation à 100% en raison des dégradations résultant de la saturation), la plupart des codecs vidéo utiliseront une quantité énorme du processeur pour encoder 1080p en temps réel. Même si vous utilisiez l'encodage assisté par GPU, vous perdriez alors toute la puissance de traitement du périphérique même qui rend votre jeu, ce qui réduirait probablement considérablement le nombre d'images par seconde de votre jeu, en raison de la faible capacité de la plupart des GPU à effectuer plusieurs tâches à la fois entre programmes distincts.
  • Les E/S Ethernet gigabit prolongées proprement dites (envoi des données finales sur le fil) consomment beaucoup de ressources processeur en raison des interruptions. Au prix d'une certaine latence, vous pouvez utiliser la modération des interruptions, une fonctionnalité des nouveaux jeux de puces Ethernet pour serveurs, afin de réduire l'utilisation du processeur.

Si vous voulez que ce soit fluide et agréable, vous devez utiliser une carte de capture.

Voici un exemple d'un tel périphérique: http://www.epiphan.com/products/frame-grabbers/vga2ethernet/

Cet appareil a le concept général de:

  • Vous branchez l'appareil sur votre carte graphique
  • Vous branchez votre moniteur dans l'appareil
  • Vous connectez la sortie Ethernet du périphérique à un ordinateur ou à un routeur
  • Vous accédez à l'interface Web de l'appareil via Ethernet, et vous disposez de la vidéo en continu, sans perte, plein écran si vous le souhaitez.

Étant donné que le périphérique utilise un matériel dédié pour coder les trames et les diffuser sur Ethernet, il offre une fiabilité et une fluidité de l'image très élevées. Cela simplifie également considérablement la configuration de votre logiciel, éliminant ainsi le besoin de solutions de pipeline coûteuses sur votre plate-forme de jeu.

Si vous ne voulez pas dépenser d’argent et que vous pouvez vivre avec un retard extrême et un FPS très faible, vous pouvez essayer d’écrire un pipeline dans Gstreamer ou VideoLAN (VLC) pour capturer le framebuffer local, le coder dans un codec vidéo, et le diffuser via Shout ou RTP ou RTSP ou un protocole de diffusion similaire, puis téléchargez-le/diffusez-le à partir de votre ordinateur plus lent. Mais comme je vous l'avais prévenu, ce sera lent.

16
allquixotic

Vous pouvez utiliser le streaming à domicile de Steam. Le mien fonctionne TRÈS bien avec mon ordinateur connecté via un réseau LAN Gigabit et l’ordinateur portable sous 5GHz. Rappelez-vous simplement de passer par les paramètres et de cocher la case pour hiérarchiser le trafic Steam pendant la diffusion.

7
randomhelpfulness

Il y a quelques autres options maintenant. Si vous possédez une carte graphique Nvidia récente, vous pouvez bénéficier des avantages de la capture avec accélération matérielle, sans matériel supplémentaire. Il s’appelle "Gamestream". Vous pouvez acheter l’un des appareils Nvidia supportant le protocole ou télécharger une application open source appelée "Moonlight" http://moonlight-stream.com

3
Dave Butler

Steam Remote Play est définitivement une option. Joué beaucoup de fois, par exemple, Rocket League. Si vous avez une bonne connexion LAN des deux côtés, vous êtes prêt à partir. Même peut brancher le gamepad sur un ordinateur portable.

0
webo80