ウィンドウ(ディスプレイ)をネットワーク上の他のコンピュータに転送する方法

ウィンドウ(ディスプレイ)をネットワーク上の他のコンピュータに転送する方法

私の映画用のメディアサーバーを設定しています。サーバーは、複数のノートブック/デスクトップと同様にインターネットに接続されています。サーバーは最新のUbuntu(サーバーバージョンではなくデスクトップバージョン)を実行します。

これが私が達成したいシナリオです。

  • サーバーの電源が入っていてネットワークに接続されています。
  • クライアント(マイノートブック)はサーバーへのWebインターフェースを開きます(またはsshを介してサーバーにコマンドを送信します)。 Web インターフェースで目的のムービーを選択すると、インターフェースはコマンドを実行します。
  • このコマンドは、指定したムービーを再生し、それを要求したコンピュータにウィンドウ(ウィンドウのみ)を渡すVLCインスタンスを作成します。
  • 最終結果:私のラップトップには映画を再生するVLCウィンドウがあります。作業が終わったら閉じることができます。

このようにネットワーク上のクライアントにウィンドウを渡すことはできますか?

ベストアンサー1

それ可能しかし、理想的ではないかもしれません。 VLCクライアント(ウィンドウ)は目的のモニターに表示されますが再生されます。圧縮されていないビデオはNetwork Xリクエストで送信する必要があります。オーバーヘッドがなくても、24bppおよび30fpsで720×540を転送するには、約279Mbps(720px×540px×3バイト/ピクセル×30fps×8ビット/バイト)が必要です。

イーサネットフレーム、TCP / IPパケット、およびXプロトコル自体がこれを強化します。

より直感的に、後処理されたRGBデータが表示されるため、ウィンドウが大きいほど帯域幅が増えます。 (実際のスケーリングはディスプレイ側で発生する可能性があります。この場合、減らすウィンドウサイズはパフォーマンスに影響しません。)

VLC(または他のXクライアント)がモニタに表示されると、localhost期待される応答性を提供するために広範な最適化が開始されます。

必要に応じて自分で試してみることもできます(実際に見るのは楽しいです)。

ssh -Yf user@hostname vlc some-file.avi

VLCが起動しますが、Xクライアントのホストでオーディオが再生されます(hostname上記)。いいえX サーバーがホストされ、ビデオは予想される fps の一部として更新されます。ストリームに入ってから数秒以内に、ビデオとオーディオは完全に同期されません。ほとんどの標準ストリームは視聴できません。 HD A/Vストリーミングは考えないでください。

標準メディアサーバー設定を提供圧縮特定の形式のネットワークファイルアクセスプロトコル(NFS、CIFSなど)を使用してサーバーからクライアントにストリーミングし、ビデオクライアントが解凍して再生できるようにします。

おすすめ記事