ゲームオーバーLAN、VNCの代替手段?


15

さて、私はこれについて少しだけ宿題をしましたが、世界はこのアイデアに何らかの形で反対していると考え始めています。

私の家にはラップトップがあり、GMA HD GPUを備えたSB Core i3がすべてのビジュアルにとって非常にひどいです。3Dの性質のデスクトップリグからビデオをストリーミングしたいと思います(RDPおよびその他のフックベースのプロトコルを除外します)。

同様のスレッドに対するほとんどの人の最初の答えは、帯域幅または処理能力に関係しています。私は何よりもまずギガビットLANを試してみましたが、デスクトップリグはオーバークロックされた3930kですので、少なくとも20FPSのフルスクリーンリフレッシュを可能にするCPUのうなりと帯域幅のバランスがあるべきだと思います。これまでのところ、ホストマシンでフルスクリーンでビデオを再生してテストするTightVNCを使用することはできません。

つまり、OnLiveの30倍以上の帯域幅を使用してまとめると、自宅でLAN経由で途切れるレベルのビデオフィードを正確に作成するにはどうすればよいでしょうか。それは可能ですか?


1
まだRemoteFXを検討しましたか?「RemoteFXは、3D仮想アダプター、インテリジェントコーデック、および仮想マシンでUSBデバイスをリダイレクトする機能を提供することにより、Virtual Desktop Infrastructure(VDI)のリッチなユーザーエクスペリエンスを提供します。」ただし、Server 2012を購入する必要がある場合があります。;)
Ƭᴇcʜιᴇ00713

このプロジェクト:spgt.sourceforge.netを確認してください。デスクトップの一部をストリーミングでき、コントロールも転送できます。

回答:


16

ソフトウェアソリューションには、次の理由で本質的に多くの遅延が含まれます。

  • GPUのフレームバッファーからのデータの読み取りは非常に遅いです。
  • ギガビットイーサネットの約80%のターゲットビットレート(飽和による障害のために100%の使用率は望ましくありません)でも、ほとんどのビデオコーデックは膨大な 1080pをリアルタイムでエンコードする量のCPUを消費します。GPUアシストエンコーディングを使用している場合でも、ゲームをレンダリングしているデバイスから処理能力を奪うことになります。おそらく、ほとんどのGPUは別々のプログラム間でマルチタスクを実行できないため、ゲームのフレームレートが大幅に低下します。
  • 持続的なギガビットイーサネットI / O自体-完成したデータをネットワーク経由で送信するだけです-は、割り込みのためにCPUを大量に消費します。多少のレイテンシを犠牲にして、新しいサーバーイーサネットチップセットの機能である割り込みモデレーションを使用して、CPU使用率を削減できます。

スムーズで楽しいものにしたい場合は、キャプチャカードを使用する必要があります。

そのようなデバイスの例を次に示します。http//www.epiphan.com/products/frame-grabbers/vga2ethernet/

このデバイスの一般的な概念は次のとおりです。

  • デバイスをグラフィックカードに接続します
  • モニターをデバイスに接続します
  • デバイスのイーサネット出力をコンピューターまたはルーターに接続します
  • イーサネット経由でデバイスのWebインターフェイスにアクセスし、必要に応じて、ストリーミングビデオ、ロスレス、フルスクリーンを使用できます

デバイスは専用のハードウェアを使用してフレームをエンコードし、イーサネット経由でストリーミングするため、非常にスムーズでFPSが高く、信頼性が高くなります。また、ソフトウェアのセットアップが大幅に簡素化され、ゲーム機に高価なパイプラインソリューションが必要なくなります。

お金を使いたくなく、極端な遅延と非常に低いFPSで生きることができる場合は、GstreamerまたはVideoLAN(VLC)でパイプラインを記述してローカルフレームバッファーをキャプチャし、ビデオコーデックでエンコードするなどの方法を試すことができます。 Shout、RTP、RTSP、または同様のストリーミングプロトコルを介してストリーミングし、低速のコンピューターからダウンロード/ストリーミングします。しかし、私があなたに警告したように、これは遅いでしょう。


ありがたいことに、そこにはいくつかの仮定がありますが、それらは簡単に明らかにすることができます。私は間違いなく1080pでプレイしたくありません。実際、今は1280x720 @ 24fpsが私が目指していることであり、それを機能させるためだけに低くなります。キャプチャのアイデアは興味深いように見えますが、それからホストをどのように制御し、どのようなレイテンシーがありますか?ああ、まだゲームで試したこともありません。320x240のビデオファイルを実行して画面全体を更新すると、VNCがスライドショーに変わります。ソフトウェアベースのソリューションをさらに活用するために、私にできることがあるはずです。
user1901982

最適な状況では、遅延は約1または2フレームにping時間を加えたものであると推測します。
ハーゲンフォン

2
@ user1901982 PlayClawを入手し、仮想Webカメラ機能を使用して、3DゲームをWebカメラフィードに変換します。次に、ネットワーク経由で仮想Webカメラをストリーミングする低遅延の方法を見つけます。
ダースAndroid

それは確かに興味深いアイデアです。以前にPlayClawを使用したことがあります。それが提供する仮想WebCamは、3Dゲームに適度に高速/まともな品質です。ただし、ネットワーク送信のために出力を圧縮するには、出力をエンコードする必要があります:)
allquixotic

2
@somequixotic PlayClawは実際にそれを行い、それが「名声」です:ゲームのレンダリングスレッドでエンコード行うFrapsとは対照的に、複数のスレッドでエンコード/圧縮を処理します。最近ですが、数年前、それが現状でした)。CPUがある場合は、PlayClawを高圧縮まで上げてください。
ダースアンドロイド

7

Steamからホームストリーミングを使用できます。私のデスクトップは、ギガビットLAN経由で接続されたデスクトップと、5Ghz ACのラップトップで非常にうまく機能します。設定を確認し、チェックボックスをオンにして、ストリーミング中の蒸気トラフィックを優先することを忘れないでください。


3

現在、いくつかのオプションがあります。最新のNvidiaグラフィックカードをお持ちの場合は、追加のハードウェアなしでハードウェアアクセラレーションキャプチャの利点を得ることができます。それは、あなたがプロトコルをサポートするNVIDIAのデバイスのいずれかを購入することができ、またはあなたが「ムーンライト」と呼ばれるオープンソースのアプリをダウンロードすることができます「Gamestream」と呼ばれていますhttp://moonlight-stream.com


これには、ホストにWindowsが必要です。クライアントのみがクロスプラットフォームです。この投稿を見つけたときと同じように、Windows以外のソリューションを探している人には注意したいだけです。
ロブ

0

Steam Remote Playは間違いなくオプションです。Rocket Leagueなどで何度もプレイしています。両側のLAN接続が良好な場合は、準備完了です。ラップトップでゲームパッドを接続することもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.