本講座はWebRTC(Web Real-Time Communication)の初心者対象です。
これからWebRTCでアプリ開発をしたい人がWebRTCの基本的なしくみと実際の実装を学ぶことができます。
JavaScriptとNode.jsを使って開発します。
WebRTC、JavaScript、Node.jsを学びたい人が対象です。
制作するプログラムの設計書、アクティビティ図、シーケンス図が同梱されています。
次のことが学べます。
自分のローカル環境のPC同士で、PC1(自分)とPC2(相手)でWebカメラを使ってビデオ通話をWebRTCで実現します。
WebRTCの仕組みをSDP、Candidate、シグナリングサーバー等の用語を使って解説して、SDP、Candidateを扱うコードをJavaScriptで作り、シグナリングサーバーをhttpsで起動します。シグナリングサーバーはNode.jsで作ります。
〇制作するプログラム その1
webrtc-sample1
自分と相手でビデオ通話(1対1)
シグナリングサーバーでシグナリングを行わない。
シグナリングサーバーの代わりにコピペにより手動でシグナリングを行う。
Candidateを含むSDP Offer/Answerを出力する(Vanilla ICE方式)。
SDP Offer/AnswerとCandidateを出力する(Trickle ICE方式)。
webrtc-sample2はVanilla ICE方式とTrickle ICE方式の2種類を作ります。
使用するライブラリ等
クライアント側
なし
サーバー側(HTMLやJSを提供するhttpsサーバーを立てる)
node.js
パッケージ:@reiwa_info_fin_corp/localtime
@reiwa_info_fin_corp/localtimeは(株)令和情報ファイナンスがnpmレジストリに公開したライブラリである。
〇制作するプログラム その2
webrtc-sample2
自分と相手でビデオ通話(1対1)
シグナリングサーバーでシグナリングを行う。
シグナリングサーバーはNode.jsで作ります。
Candidateを含むSDP Offer/Answerを出力する(Vanilla ICE方式)。
SDP Offer/AnswerとCandidateを出力する(Trickle ICE方式)。
webrtc-sample2はVanilla ICE方式とTrickle ICE方式の2種類を作ります。
使用するライブラリ等
クライアント側
Socket IOのクライアント側のライブラリ
サーバー側(単一のhttpsサーバーでHTMLやJSとシグナリングサーバーが同じIPアドレスとポート番号で提供される。)
node.js
パッケージ:@reiwa_info_fin_corp/localtime
パッケージ:Socket IO