web-dev-qa-db-ja.com

LAN上のビデオストリームをリアルタイムでブロードキャストする方法は?

PCの画面キャプチャをLAN上の他の複数のPCにブロードキャストできるシステムを確立しようとしています。

これまでのところ、rtmpモジュールを使用してRaspberry Piにnginxをインストールでき、OBS経由でRTMPサーバーとしてRaspberryを使用してストリーミングできます。 VLCを使用してストリームを視聴します。

ここに問題があります。ブロードキャストを実行するメインPCは、カウントダウンするタイマーとカメラフィードを表示するため、ブロードキャストの遅延を最小限に抑えることが理想的です(リアルタイム?)。現在、画面とストリームの間に4〜6秒の遅延があり、それをさらに減らす方法を探しています。

  • その遅延時間のどれだけがエンコードによるものであり、どれだけの時間が転送によるものであるかを判断する方法はありますか?
  • 現在、1080p30でキャプチャし、ダウンスケーリングなどのオプションを試し、ネットワークへの影響を最小限に抑えています。
  • このフォーラムでLANブロードキャストに関する他のトピックを読みましたが、誰かがRTMPは良いアプローチではないと述べました...もしそうなら、より良いアプローチは何でしょうか?
  • どんな提案も歓迎し、感謝しています。私は予算がないので、他の誰かのためにこれを無料で行うので、私は主に無料のソリューションに興味があります。
  • VLCストリーミングも調べましたが、PCの画面全体を表示したくないのは、視聴者が見る必要のないコントロールがあるからです。 VLCでできることは、画面のどの部分を放送するかを指定することだけです。 OBSを選んだのは、私の知る限り特定のウィンドウをブロードキャストできる唯一の無料ブロードキャストソフトウェアだからです。

前もって感謝します :)

9
Ryuu

まず、OBSを使用するのが正しいと思います。これは、多くのことをキャプチャできる素晴らしいプロジェクトです。

ビデオの速度を最適化する場合は、次の方法を試すことができます。

  • 最初の方法は、別のRTMPクライアントを使用することです。VLCは適切ですが、キャッシュの使用量が多すぎます。たとえば、 this one を試してください(正しいrtmp URLを設定し、NetGroup入力をクリアして接続します)。
  • その後、別のサーバーを試すことができます。 MonaServerを使用して独自のRTMFPサーバーをセットアップする方法
  • 最後に、OBSパラメーターを変更できます(リアルタイムに最適化された「Twitch」パラメーターを使用します)。

OBS + MonaServer + my VideoPlayerを使用する場合、2秒の遅延があります。これはリアルタイムではありませんが、すでに改善されています。

最後に、OBSはRTMPセッションでレイテンシを追加することが知られています。OBSのソースコードを変更することで改善できることはわかっていますが、ここでは少し注意が必要です...

私はそれがあなたを助けることを願っています!さらに情報が必要な場合はご連絡ください。

9
thomas

圧縮および解凍する必要があります。ギガビットイーサネット接続ですべての帯域幅を使用しています。総距離が15フィート未満の場合、HDMIケーブルはすべて機能します。 15フィートを超える距離の場合は、認定ケーブルを必ず入手してください(信号ブーストなしで最大45フィートまで実行できるケーブルもあります)。 VGAは、DVIと同様に、より長い距離を走行します。

または、720Pにドロップして、ジョブを完了するのに十分な帯域幅を残すことができます。

2
MCatCTS