webrtc の実装を探しています node.js
nodeJSクライアントから別のwebRTCピアにデータを送信します。
だから私の場合、nodejsアプリケーションはnotサーバーではなくクライアントです。
そのようなノードモジュールは存在しますか?
私は同じ問題に出くわし、これらの2つの宝石につまずきました。
https://github.com/helloIAmPau/node-rtc 残念ながら、ドキュメントが不足しています。
ただし、 https://github.com/js-platform/node-webrtc の方が信頼性が高いようです。
simple-peer
およびrtc-everywhere
?
licode をチェックアウトする必要があります。 node.jsの上で実行されるオープンソースwebrtcマルチポイントビデオ会議ブリッジ。サーバーはwebrtcクライアントとして機能し、オーディオ/ビデオを他のwebrtcクライアントにブリッジします。 libnice(ICEプロトコル用)およびlibsrtp(SRTPスタック用)を使用するC++コードの一部を再利用し、独自のnode.jsモジュール内にラップして、成功したwebrtcクライアントを作成できる場合があります。
明らかに彼らのコードの大部分は必要ありませんが、彼らのサーバーは、webrtc接続を成功させるためにブラウザに送り返す必要のある作業SDPの良い例を提供していると思います。
ノード用のWebRTCラッパーがもう1つあります https://github.com/vmolsa/webrtc-native 。
データチャネルとメディアストリームをサポートします。
Linux、Mac、Windowsをサポートしています。
WebRTCコードベースは頻繁に同期されます。
更新:ライトデータチャネルのみの実装があり、linux/mac/windowsをサポート http://www.meshcommander.com/webrtc
この ソリューション は、ネイティブからWebへのビデオストリーミングを提供します。つまり、ブラウザでビデオをキャプチャする必要はなく、クライアントのブラウザにビデオをブロードキャストします。 websocketの例 があり、これはうまく機能します。
実際の課題は、webrtc.nodeをビルドしてリンクすることです。すべてのリンクについては、上記のリンクで説明しています。
serverless-webrtc package を使用してnode.jsからブラウザへのWebRTCデータ接続を確立することができます。これは、WebRTC実装として wrtc package を使用します。
残念ながら、PeerJSやEasyRTCなどのシグナリングライブラリでwrtcモジュールを使用しようとすると、接続が確立されません(エラーメッセージは「ICE failed」です)。誰かがwrtcの上で高レベルのライブラリを使用して成功した場合、その情報に感謝します。
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);
この実装を使用することもできます。 https://github.com/andyet/SimpleWebRTC
私は自分のプロジェクトにそれを使用しましたが、非常に簡単に統合できました。