ソフトウェアソリューションには、次の理由で本質的に多くの遅延が含まれます。
- 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、または同様のストリーミングプロトコルを介してストリーミングし、低速のコンピューターからダウンロード/ストリーミングします。しかし、私があなたに警告したように、これは遅いでしょう。