私はLinux、カメラを備えた小さなコンピューター(ArduinoやRaspberry Piなど)を持っています-)およびgstreamerがインストールされています。 WebRTCテクノロジーを使用して、このデバイスからブラウザーにh264ビデオをストリーミングする必要があります。また、シグナリングサーバーとしてNodeJSを使用します。
簡単に言うと、デバイスからWebRTCクライアントを実行する必要があります。これを行うための最良の方法は何ですか?この目標に WebRTC Native API を使用できますか?小さなデバイスにインストールするにはどうすればよいですか?または、おそらく、gstreamerで遊んで、いくつかのwebrtcプラグインをインストールする必要がありますか?
とにかくシグナリングサーバーを使用する必要があるので、 Janus-Gateway を使用する必要があると思います。シグナリングサーバー用のCentOSについておっしゃっていますが、CentOSで実行する場合、100%ではありませんが、依存関係をいくつかインストールするだけで、DebianJessieビルドで正常に実行できました。
Janusは、ゲートウェイで設定された通話全体(シグナリングとすべて)を処理します。したがって、SDP交換を実行できるように、ポート転送を実行する必要があります(これは、シグナリングサーバーでは心配する必要があります)。
ゲートウェイをインストールします。いくつかの依存関係がありますが、すべて単純なインストールでした
Janus_streamingプラグインを見てください。 gstreamerパイプラインからストリーミングするgstreamerの例があります。また、 streamingtestデモページ そのプラグインでJavascriptAPIがどのように機能するかを確認します
注:JavaSciptがゲートウェイに送信するSDPを変更して、H264が含まれるようにする必要があります(おそらく、ネゴシエーションを強制するために、他のすべてのコーデックも削除します)。これを行うには、janus JavaScript API(jsep.sdp
)のjsep
関数の成功ケースに渡されたcreateOffer
オブジェクトを介してsdpにアクセスします。
もう1つの可能性は、GStreamer上に記述されている Kurento Media Server (KMS)を使用することです。 2つの可能性があります
免責事項:私はクレント開発チームのメンバーです
NodeJSシグナリングサーバーを使用したとのことですが。最近、エリクソンはオープンソースのWebRTC gstreamer要素をリリースしました: http://www.openwebrtc.io/ そして、リリースとともに、node.jsを使用してWebRTCデモも公開しました: http: //demo.openwebrtc.io:38080/ ;ここのコード: https://github.com/EricssonResearch/openwebrtc-examples/tree/master/server 。
Raspberry Pi 2のWebRTCの場合、 V4L を検討することをお勧めします。これにより、ライブオーディオとビデオをRpiからPC上の任意のブラウザー(HTML5)にストリーミングできます。