web-dev-qa-db-ja.com

Node.js WebRTCクライアント

webrtc の実装を探しています node.js
nodeJSクライアントから別のwebRTCピアにデータを送信します。

だから私の場合、nodejsアプリケーションはnotサーバーではなくクライアントです。
そのようなノードモジュールは存在しますか?

42
jantimon

私は同じ問題に出くわし、これらの2つの宝石につまずきました。

https://github.com/helloIAmPau/node-rtc 残念ながら、ドキュメントが不足しています。

ただし、 https://github.com/js-platform/node-webrtc の方が信頼性が高いようです。

11
Raoul
3
Vlad Ankudinov

licode をチェックアウトする必要があります。 node.jsの上で実行されるオープンソースwebrtcマルチポイントビデオ会議ブリッジ。サーバーはwebrtcクライアントとして機能し、オーディオ/ビデオを他のwebrtcクライアントにブリッジします。 libnice(ICEプロトコル用)およびlibsrtp(SRTPスタック用)を使用するC++コードの一部を再利用し、独自のnode.jsモジュール内にラップして、成功したwebrtcクライアントを作成できる場合があります。

明らかに彼らのコードの大部分は必要ありませんが、彼らのサーバーは、webrtc接続を成功させるためにブラウザに送り返す必要のある作業SDPの良い例を提供していると思います。

2
Aki

ノード用のWebRTCラッパーがもう1つあります https://github.com/vmolsa/webrtc-native

データチャネルとメディアストリームをサポートします。

Linux、Mac、Windowsをサポートしています。

WebRTCコードベースは頻繁に同期されます。

更新:ライトデータチャネルのみの実装があり、linux/mac/windowsをサポート http://www.meshcommander.com/webrtc

1
boggy b

この ソリューション は、ネイティブからWebへのビデオストリーミングを提供します。つまり、ブラウザでビデオをキャプチャする必要はなく、クライアントのブラウザにビデオをブロードキャストします。 websocketの例 があり、これはうまく機能します。

実際の課題は、webrtc.nodeをビルドしてリンクすることです。すべてのリンクについては、上記のリンクで説明しています。

0
M.Hefny

serverless-webrtc package を使用してnode.jsからブラウザへのWebRTCデータ接続を確立することができます。これは、WebRTC実装として wrtc package を使用します。

残念ながら、PeerJSやEasyRTCなどのシグナリングライブラリでwrtcモジュールを使用しようとすると、接続が確立されません(エラーメッセージは「ICE failed」です)。誰かがwrtcの上で高レベルのライブラリを使用して成功した場合、その情報に感謝します。

0
Adynathos

Update:以下のソリューションは、実際にサーバーにビデオを提供しません。そのための最善の(ノード)ソリューションが何かわかりません。 C++では、libJingleを試してください。

Webrtc.ioを使用すると、ピアであるノードアプリケーションを作成できるようです。こちらのgithubプロジェクトをご覧ください: https://github.com/webRTC/webRTC.io

現時点ではプロジェクトのスーパーアクティブな開発は行われていないようですが、フォークは100個あり、ノードモジュールは現在月に500回ダウンロードされているので、気にかけているようです。

プロジェクトのサンプルコード-クライアント側

<video id="local" autoplay="autoplay"></video>
<video id="remote" autoplay="autoplay"></video>

<script src="/webrtc.io.js"></script>
<script>

  // note: make sure hostname available to all connecting clients
  // (ie. probably not `localhost`)
  rtc.connect('ws://yourserveraddress:8001');

  rtc.createStream({"video": true, "audio":false}, function(stream){
    // get local stream for manipulation
    rtc.attachStream(stream, 'local');
  });

  rtc.on('add remote stream', function(stream){
    // show the remote video
    rtc.attachStream(stream, 'remote');
  });

  // more rtc callbacks are available
</script>

サーバ側

var webRTC = require('webrtc.io').listen(8001);
0
sandover

この実装を使用することもできます。 https://github.com/andyet/SimpleWebRTC

私は自分のプロジェクトにそれを使用しましたが、非常に簡単に統合できました。

0
Omkar Dusane