株式会社インデペンデンスシステムズ横浜

システム開発エンジニアの西田五郎が運営しております。Raspberry Pi や Arduino その他新規開発案件のご依頼をお待ちしております。

SkyWay

SkyWayの利用(その1)概要と動作確認

投稿日:

ここでのSkyWayとはNTTコミュニケーションズ株式会社提供のリアルタイムコミュニケーションのためのプラットフォームのことです。ベースになっている技術要素がWebRTC(Web Real-Time Communications)です。SkyWayを利用するとこのWebRTCを深く意識する必要がなく比較的容易にリアルタイムコミュニケーションのサービスが構築出来るということです。Community Editionであれば今現在のところ無料で利用出来ます。

このSkyWayをサービス、アプリの開発エンジニアの一人として使ってみます。

WebRTCとSkyWayの概要
上記のリアルタイムコミュニケーションとは具体的には以下のようなことです。
・PCやスマホ等のカメラやマイクからのストリームデータの取り込み
・取り込んだストリームデータのP2P通信
・テキストデータやバイナリデータのP2P通信
P2P通信とはpeer-to-peerのことで、1対1からn対nまでの通信が出来ます。

WebRTCの技術を利用すればこれらのリアルタイムコミュニケーションが(WebRTC対応済みの)ブラウザのみで出来ます。ブラウザに別途何かを機能追加するとか他の技術要素が必須でそれがないと実現出来ないということはないです。

但し、WebRTCを利用してP2P通信を行うためには、お互いの情報を交換するためのシグナリングと呼ばれる処理が必要です。そのシグナリング関連の処理をSkyWayに任せることによってサービス、アプリケーション開発に専念出来ます。

以下は1対1のリアルタイムコミュニケーションの簡単な図です。
(※SkyWayのJavaScript JDKチュートリアルにあった図を別途自分で書きました。)

コミュニケーションとしては相手と直接コミュニケーションが取れているという感覚になります。また場所(企業内、自宅、屋外)や特定のデバイス(要するにIPアドレス)をあまり意識することなく利用出来ます。

実際にまずはPC1台で使ってみる
ありがたいことに今現在以下のチュートリアルページで実際にデモが試せます。(「完成したアプリのデモを試すことができます。」のリンクからです。)
JavaScript JDKチュートリアル

とりあえずPC1台(Windows10)でやってみます。
USBカメラを接続してWindows10のカメラアプリで接続を確認します。PCにカメラが付属していればもちろんそれでもいいです。

ブラウザ(私の場合はFireFoxです。)で上記のチュートリアルページのデモアプリのページを開きます。そうすると以下のようにカメラとマイクの許可の確認が出ます。これが表示されない場合はカメラとの接続または何かのセキュリティーに問題があると思います。

許可をすると下の方に自分のカメラの画面が表示されます。

ここで別のブラウザを起動して同じページを開きます。同様にカメラとマイクを許可します。もう一方のブラウザと同じ画面になると思います。

どちらのブラウザでもいいので以下のMake a callのボックスに相手側のブラウザのIDを入力してCallします。1台のPCで動作させているメリットですが、IDをコピーペーストで入力することが出来ます。

そうすると、実際には同じ画面ばかりですが接続されたことが確認出来ます。

PCとスマホで使ってみる
これではあまり双方向のコミュニケーションが実感出来ないのでPCとスマホ(もちろんカメラ付きです。)で接続してみます。スマホのブラウザ(私の環境ではAndroidでGoogle Chromeです)でデモページを開きます。

PCの場合と同様にカメラとマイクの接続の許可が確認されるので許可します。そこで表示されたIDをPC側で入力します。ここではもちろん一文字ずつ手入力です。

IDが正確でネット接続に問題がなければPC側からは以下のように見えます。
上の方の画面が相手側のスマホの映像です。縦にしていると縦方向で見えました。スマホ側でもPCカメラの映像が確認出来ました。

職場のPCと自分のスマホという全く別のネットワークでの直接のコミュニケーションが確認出来ました。

テキストのデータ通信
テキストでのデータ通信は今現在以下のページに実際に試せるページがあります。
https://github.com/skyway/skyway-js-sdk/tree/master/examples/p2p-data
接続方法はストリームの場合と同じで相手のIDを指定します。接続完了後にテキストの送受信が可能になります。

以下のように確認出来ました。

まとめ的に
SkyWayを利用すればWebRTC対応のブラウザでこのようなリアルタイムコミュニケーションが可能になるということです。またSkyWayを利用すればこのようなコミュニケーションのアプリ、サービスの開発に集中出来るということです。サイトでは事例が紹介されているので参考になるかと思います。

次回はこのSkyWayのJavaScriptでの開発について書きます。

AdSense

AdSense

-SkyWay

執筆者:

関連記事

SkyWayの利用(その4)Raspberry Piでの利用

前回の続きです。NTTコミュニケーションズ株式会社提供のリアルタイムコミュニケーションのためのプラットフォームであるSkyWayを使ってみます。前回はJavaScriptでカメラとマイクのストリーミン …

リモート打ち合わせ用のWebシステムを構築しました

株式会社インデペンデンスシステムズ横浜 西田です お世話になっております。 リモート打ち合わせ用の簡単なシステムを構築しました。1対1でもグループでも可能です。

感染症対策のためのIoT技術(その4)WebRTCを利用したリモート関連システム

感染症対策のためのIoT技術について書いています。今回はWebRTC(Web Real-Time Communication)を利用したリモート関連システムについてです。リモート関連システムとは具体的 …

SkyWayでRaspberry Piの遠隔操作(その2)SkyWayからの操作

前回の続きです。全体的にはSkyWayを利用してRaspberry Piの遠隔操作をしてみようという内容です。 前回はRaspberry Pi側でのブラウザ(JavaScript)からMQTT ove …

SkyWayでRaspberry Piの遠隔操作(その1)MQTT over WebSocket

前回までの記事でSkyWayのJavaScriptでの動作確認を行いました。またRaspberry Piでの動作も確認出来ました。そうすると今回はSkyWayを利用してRaspberry Piの遠隔操 …