SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

さくさく作ろう! さっくるのWebRTC入門

ビデオチャットもさくっと作れる! WebRTCによるブラウザ間リアルタイム通信はじめの一歩

さくさく作ろう! さっくるのWebRTC入門 第1回

ダウンロード videochat.html (3.0 KB)

簡易ビデオチャットプログラム

 それでは、ビデオチャットを行う簡単なアプリケーションを作ってみたいと思いますが、その前にクリアしなければならない問題があります。WebRTCのようなP2P通信をはじめる前には、お互いのIPアドレスなどのセッション情報を教え合う「シグナリング処理」を行う必要があり、そのためのサーバを用意しなければなりません。

 今回は、WebRTCプログラミングの大まかな流れをつかむことが目的ですので、スクラッチから作るのでは大変です。そこで今回はサーバなどを準備しなくて済むように、WebRTC開発用クラウドサービス「SkyWay」というプラットフォームを使用することにします。

 なお、簡易ビデオチャットプログラムを動かすには、次の環境が必要です。

  • Chrome、Firefox、Operaのいずれかのブラウザ
  • PCから使用できるカメラとマイク

 あらかじめ、カメラとマイクはPCや端末に接続しておいてください。

 

サンプルの入手と起動

 簡易ビデオチャットプログラムのファイル名は「videochat.html」です。本ページの一番上にある「ダウンロード」からダウンロードしてください。ダウンロードしたら、任意のWebサーバ上に配置します。

 お使いのPCがMac OS Xの場合、はじめからPythonがインストールされていますので、以下のコマンドをターミナルに入力すると簡易Webサーバを起動させることができます。

$ python -m SimpleHTTPServer 9000

 

ビデオ表示

 Webサーバを起動したら、ブラウザからvideochat.htmlにアクセスしてください。videochat.htmlを開くと、画面上部にカメラとマイクへのアクセスを求める メッセージが表示されるので、「許可」をクリックします。

カメラとマイクへのアクセス許可
カメラとマイクへのアクセス許可

 

 次のように、自分の映像が表示されていれば成功です。

ビデオ表示
ビデオ表示

 

 カメラやマイクが複数利用可能な場合は、ブラウザのURLバーに表示されているビデオカメラアイコンから選択することができます。

カメラとマイクの選択
カメラとマイクの選択

 

ブラウザ間通信

 次に、ブラウザ間でビデオチャットを行ってみましょう。もう一つウィンドウかタブを開き、先ほどと同じようにWebサーバ上のvideochat.htmlを開いてください。 もちろん別のブラウザでも大丈夫です。

 開いた2つ目のページの「Your ID」のところに、1つ目のページとは異なる文字列が表示されているはずです。 そのIDをコピーした後、1つ目のページの入力エリアにペーストして「Call」をクリックしてください。両方のページ上で、2つ目の映像が表示されれば成功です。

ブラウザ間通信
ブラウザ間通信

 

 あっという間に、シンプルなビデオチャットを実現することができました。

次のページ
簡易ビデオチャットプログラムの解説

この記事は参考になりましたか?

この記事の著者

さっくる(サックル)

本名は本間 咲来(ほんま さき)。NTTコミュニケーションズ 技術開発部 所属。Webエンジニアとしてサービスの開発やコミュニティ活動や標準化活動などを行う。最近はWebRTCを使ったアプリの開発(WebRTC Chat on SkyWayとか)が中心。html5jスタッフ。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/8099 2014/11/20 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー