次のhttps://apprtc.appspot.com/?r=91737737のようなクライアントからのビデオ入力をキャプチャして、他の視聴者が見ることができるように別のクライアントに表示できるかどうか疑問に思っていました。私の問題は、 2台目のコンピューターにWebカメラがなく、webrtcを使用してビデオを受信したい。一方の端からキャプチャして、もう一方の端でキャプチャすることは可能ですか?おそらくこれが不可能な場合、WebSocketはこれを行うための最良の方法ですか?
4796 次
1 に答える
7
パフォーマンス/帯域幅の問題が原因で不完全であることを除けば、それが不可能であるべき理由はわかりません。
現時点で最もサポートされているHTML5ソリューションは、Chromeで利用できるgetUserMediaの使用だと思います(まだ使用していませんが、カメラ入力の幅広いサポートについてはgetUserMedia.jsを検討してください)。
シナリオ
キャプチャー、ストリームをブロードキャストするサーバー、および最終ストリームを受信するウォッチャーがあります。
プラン
キャプチャフェーズ
- getUserMediaを使用して、カメラからデータを取得します
- キャンバスに描画します(おそらくこれをスキップできます)
- websockets(より広範なサポートのためにsocket.ioを介してなど)を使用して、画像データの形式でフレームをサーバー(node.jsなど)に投稿します。
ブロードキャストフェーズ
- 画像データを受信し、購読しているウォッチャーにブロードキャストするだけです
ウォッチフェーズ
- ウォッチャーはサーバーとWebSocket接続を持ちます
- サーバーから受信した新しいフレームごとに、受信したフレームをキャンバスに描画する必要があります
考慮事項
- ネットワークのパフォーマンスが再生に影響することを考慮に入れる必要があります。
- クライアント側でFPSレートを適用して、再生速度が不安定になるのを防ぐことができます。
- スムーズな再生のためにあなたのケースに合うなら、バッファプールは素晴らしいでしょう。
未来
PeerConnection API、MediaSource APIが利用可能になったときに使用できます。これが作成された理由ですが、ブラウザのパフォーマンスによってはCPU使用率が高くなる可能性があります。
于 2012-10-13T11:36:59.040 に答える