株式会社ペンタゴンは「アプリ開発に特化した専門パートナー」です。要求をカタチにするのは当たり前。さらに「もっとこうすれば良くなる」という鋭いデザインや機能の提案を次々に出します。新しいサービスを検討中なら、一度ご相談ください!

実績 相談してみたい→
Pentagonのメンバー

ビデオ通話アプリを開発するには?WebRTC活用について解説|iOS・Android・Webに対応可

更新日:

アプリ開発専門のプロ「株式会社 Pentagon(ペンタゴン)」

Pentagonのメンバー

Pentagon(ペンタゴン)は、アプリ開発を専門に行う会社です。私たちは単なる開発会社ではありません。お客様が思い描く理想のゴールを明確にし、デザインから開発、リリース後の運用・改善までを一貫してサポートします。ビジネスとして成果につながるアプリづくりを大切にしています。無料相談はこちらから

ビデオ通話アプリは「WebRTC」を使えば開発できます。WebRTCは音声・映像をリアルタイムに送受信するための標準技術で、主要ブラウザに標準対応しているため、専用プラグインなしでビデオ通話を実装できます。アプリ開発の実務では、通信方式の選定(少人数ならP2P/多拠点ならSFU)、シグナリングサーバーの構築、そしてTURN/STUNによるNAT越えの3点が成否を分けます。

本記事では、ビデオ通話アプリを開発する弊社(株式会社Pentagon)の視点から、WebRTCの仕組みと開発時のつまずきどころを整理します。

  • WebRTCとは何か、なぜビデオ通話開発に使われるのか
  • 通信方式(P2P・SFU・MCU)の違いと使い分け
  • 実装に使う外部サービスの比較(国産のSkyWay・Agora・Twilio)
  • 外部SDK/独自開発/Zoom・Meet運用の使い分けとMVPの進め方
  • 弊社で開発したビデオ通話アプリの事例

【資料を読む】アプリマーケティングの基礎を解説!これを知っているだけでC向けアプリの企画が劇的に変わる!

ビデオチャットアプリの開発に用いられる「WebRTC」とは?

ビデオチャットアプリの開発では「WebRTC」が使用されています。「WebRTC」とはWeb Real‐Time Communicationの略称で、Web上で音声や動画などをリアルタイムに共有できる技術です。Google ChromeやMicrosoft Edge、Safariといった主要ブラウザにはほとんど対応しています。

WebRTCが広く使用されるようになる前は、専用アプリやプラグインなどの拡張機能を使用しなければビデオチャットができませんでした。そこで、簡単にWeb上でリアルタイム通信ができるよう、WebRTCの開発が進められたのです。それでは、WebRTCにはどのような技術が用いられているのでしょうか。

WebRTCの基本通信方式:P2P通信

WebRTCでは、P2P(Peer To Peer)通信という技術が使用されています。従来はサーバーを介してデータやファイルの共有をしていました。一方、P2P通信では端末同士を直接データに送受信可能です。身近な例として「LINE」にもP2P通信が使用されています。

P2P通信を採用していないサービスの場合、「アクセス集中によってサーバーダウンした」という経験がある方も少なくないでしょう。P2P通信では端末同士で直接やり取りをするため、負荷が少なく安定して使用できます。P2P通信はスピーディーなやり取りが可能な反面、つないでいるすべての端末と同時にデータを送受信するため、複数端末を同時接続することには不向きです。より多くの端末と同時にデータをやり取りする場合は、以下の技術が使用されます。

WebRTCで多拠点接続をする場合:SFU方式

SFU(Selective Forwarding Unit)方式とは、サーバーを介して通信するクライアントサーバー方式の一つです。これは、複数端末でやり取りする場合におすすめの方式です。P2P通信とは異なりサーバーを介するため、ユーザーの端末には負荷がかかりません。

発言者の映像や音声のみを選択的(=Selective)に送受信することで、通信速度の遅延を防ぎ、品質を維持できます。そのため、SFU方式は大人数での会議などに適しているのです。

弊社「株式会社ペンタゴン」では、アプリに特化して制作をしております。  アプリ開発をお考えの場合は、以下のバナーをクリックして弊社までご相談ください。経験豊富なアプリエンジニアがご相談を承ります。 株式会社ペンタゴンにお問い合わせ

WebRTCを利用するメリット

ビデオチャットアプリの開発に使用されているWebRTCには、以下3つのメリットがあります。

  • 通信速度が速い
  • 特別な機器の購入が不要
  • 新しいアプリケーションのインストールが不要

次に、それぞれのメリットを詳しく見ていきましょう。

通信速度が速い

WebRTCは、サーバーを介さずにデータの送受信が可能です。サーバーに接続し、相手側がデータを受け取るまでの処理を省略できるため、圧倒的な速さでデータのやり取りができます。

特別な機器の購入が不要

WebRTCを利用する際、新たに専用機器を購入する必要はありません。Google ChromeやMicrosoft Edge、Safariなどの主要ブラウザに対応しています。そのため、PCやタブレット・スマホさえあれば使用できます。また、新しく導入するコストの削減になる点も強みです。

新しいアプリケーションのインストールが不要

WebRTCを利用する際、新たにアプリケーションをインストールする必要がありません。上述の通り、WebRTCは専用アプリやプラグインという拡張機能を使用せず、ブラウザで完結できる技術だからです。

従来、音声や映像を送る際にデメリットとされていた点を、すべて解決できるのがWebRTCといえます。今後さらにVRライブ配信や遠隔医療など、幅広い分野で取り入れられるでしょう。


株式会社ペンタゴンでは、要求をカタチにするのは当たり前。さらに「もっとこうすれば良くなる」という鋭いデザインや機能の提案を次々に出します。新しいサービスを検討中なら、一度ご相談ください!株式会社ペンタゴンにお問い合わせ

実際にビデオチャットアプリを開発してみた

弊社では、実際にWebRTCを組み込んだサービスを利用して、ビデオチャットアプリを開発しました。画像は開発したビデオチャットアプリを使用しているところです。

全面に相手の端末のカメラから映像が表示され、右上に自分の端末のインカメラからの映像が表示されています。

iPhoneとAndroidアプリ間のビデオ通話を行え、iPhoneとPC・Web間のビデオ通話も実装可能です。
例えば、オンライン診断の場合、患者さんにアプリを利用していただければ、医師はPCからWebカメラを通して患者さんとやりとりができます。新型コロナウイルスの影響はいまだ収束していないため、遠隔医療の需要は高まるでしょう。災害時の安否確認などにも使用できるので、さまざまな場面で活用してみてください。

弊社「株式会社ペンタゴン」では、アプリに特化して制作をしております。  アプリ開発をお考えの場合は、以下のバナーをクリックして弊社までご相談ください。経験豊富なアプリエンジニアがご相談を承ります。
株式会社ペンタゴンにお問い合わせ

ビデオ通話を実装する主な外部サービスを比較|SkyWay・Agora・Twilio

ビデオ通話をゼロから自前で実装するのは大変なため、実際の開発ではWebRTCを使いやすくした外部サービス(SDK/API)を利用するのが一般的です。代表的な選択肢が、国産のSkyWay、グローバルで実績のあるAgora、多機能APIのTwilioです。

サービス提供元特徴・向いているケース
SkyWayNTTグループ(国産)日本語のドキュメント・サポートが充実し、国内のデータセンターを利用可能。国内事業者で安心して使いたい、商用実績を重視したい場合に向く。
AgoraAgora(米国・グローバル)大規模配信や低遅延に強く、多人数・海外展開を想定するサービスに向く。グローバルなインフラが強み。
TwilioTwilio(米国・グローバル)通話・SMS・チャットなど多機能なAPIプラットフォーム。※ビデオ機能(Programmable Video)は提供方針の変更があるため、ビデオ用途で新規採用する際は最新の提供状況を必ず確認。

SkyWay(国産・NTTグループ)

SkyWayは、NTTグループが提供する国産のリアルタイム通信プラットフォームです。WebRTCをベースにしており、ビデオ通話・音声通話・データ通信を比較的少ないコードで実装できます。最大の強みは日本語のドキュメント・サポートが充実している点と、国内のデータセンターを利用できる点です。国内サービスや官公庁・エンタープライズなど、データの取り扱いやサポート体制を重視する案件で安心して採用できます。料金は利用量に応じた従量課金が中心です。

Agora(グローバル・大規模向け)

Agoraは、世界中のサービスで採用されているリアルタイム音声・ビデオSDKです。低遅延での大規模配信に強く、多人数のライブ配信やオンラインイベント、海外ユーザーを含むグローバル展開を想定するサービスに向いています。各種プラットフォーム向けのSDKが揃っており、スケールするインフラを自前で用意せずに使えるのが魅力です。

Twilio(多機能なコミュニケーションAPI)

Twilioは、ビデオに限らず通話・SMS・チャットなどを横断的に扱える多機能なAPIプラットフォームです。既存の電話・SMS機能と組み合わせて使いたい場合に強みを発揮します。ただし、ビデオ機能(Programmable Video)は提供方針の変更があるため、ビデオ用途で新規に採用する際は最新の提供状況を必ず確認してください。本記事では、このTwilioを実装例として、もう少し詳しく見ていきます。

上記のようなビデオチャットアプリを開発する際には、WebRTCを組み込んだサービスの利用が必要です。今回は、いくつかあるサービスの中から「Twilio」を紹介します。

Twilio(トゥイリオ)は、2008年にアメリカで開発されたAPIサービスです。APIとは「Application Programming Interface」の略称で、異なるサービスやソフトウェアをつなげる役割があります。

例えば、「社員のスケジュール管理アプリに通話機能も追加したい場合」を想像してください。通話機能をゼロから作り上げて実装するとなると、手間も時間もかかるでしょう。この手間や時間を減らす際に「Twilio」をはじめとしたAPIサービスが役立ちます。

Twilioは通話機能を備えているため、APIサービスによって既存のアプリと通話機能をつなぐことが可能です。新たに機能を作る必要なく、すぐに実装できる点は大きなメリットといえます。そのほかにも、Twilioに備わっている機能はさまざまです。

  • ビデオ通信
  • 電話の受発信
  • 電話番号情報の検索
  • チャット通信
  • 複数のチャットアプリにおけるメッセージ送受信の統合
  • SMSの受発信
  • 宅内のIP PBXをTwilioと連携
  • 二要素認証に特化した機能

上記の機能を組み合わせることで、さらに多くの場面で活用できるようになります。

例えば、以下のようなことが可能です。

  • 匿名通話:お互いに電話番号を伏せたまま通話が可能
  • あふれ呼対応:コールセンターでオペレーターとつながらなかった場合に再架電登録が可能
  • 二要素認証:本人認証の際に、登録された電話番号へSMSを使用してパスコード配信

ほかにも多様な導入例があるので、ぜひ確認してみてください。

参考:導入事例(株式会社KDDIウェブコミュニケーションズ)

Twilioを利用するメリット

Twilioは、低コストでありながら自社のブランドや商品・サービスへの信頼を高められる点が最大のメリットです。

従来は社会の変化やテクノロジーの進化によって、その都度新しい技術や機器の導入が必要でした。しかしTwilioを利用すれば、多様な機能やアプリ同士を連携させられます。上記の導入事例をはじめ、連携の仕方次第でいかようにも応用できるのです。

そのため、新たに導入コストを割くことなく、時代やニーズにあった商品・サービスを提供できます。結果としてユーザーの満足度も安定し、自社ブランドへの信頼も高まっていく点が最大のメリットといえるでしょう。

また、Twilioは初期費用や月額使用料がかかりません。従量課金制のため、必要な時・必要な分のみ支払うサービスとなっています。Twilioの利用自体も無駄なコストがかからない、低コストなサービスという点も魅力の一つです。

Twilioはアイデア次第でさまざまな課題を解決できるサービスといえます。使い方によってメリットをより生かすことができるでしょう。なかでも、ビデオ通信や通話機能などのコミュニケーションツールに特化しているため、ビデオチャットアプリの開発にも最適なサービスです。

ぜひTwilioを利用し、メリットを体感してみてください。

このように、日本語サポートや国内でのデータ管理を重視するならSkyWay、海外ユーザーや大規模配信を見据えるならAgora、既存の電話・SMS機能と組み合わせたいならTwilio、という軸で選ぶとよいでしょう。

【開発者の視点】外部SDKは手軽、でも「カスタマイズ」と「端末対応」が落とし穴

ここからは、実際にビデオ通話アプリを開発した経験から、現場でつまずきやすいポイントを率直にお伝えします。結論として、シンプルなビデオ通話であれば外部SDKを使ってサクッと実装できますが、独自にカスタマイズし始めると工数は一気に膨らみます。

マルチデバイス対応と端末差でつまずく

特に大変なのがマルチデバイス対応です。iPad・スマートフォン・PC(ブラウザ)と画面サイズがそれぞれ異なるため、画面レイアウトの崩れによる不具合が数多く発生します。さらに、端末や機種の差によって「特定の環境だけ接続できない」といったトラブルも起こりがちです。こうした問題を一つずつ潰していく必要があるため、独自開発を選ぶ場合は、テスト工数をかなり多めに見積もっておくことが欠かせません。

独自開発のメリットは「自由なカスタマイズ」

一方で、独自に作り込む最大のメリットは自由なカスタマイズです。たとえば、独自の待機画面を用意したり、通話を自動で録音・録画したりといった、自社サービスならではの体験を実現できます。ブランドや業務フローに合わせた作り込みが必要な場合は、独自開発の価値が大きく出ます。

コストを抑えたい・MVPならどう進めるか

Webサービスやアプリにビデオ通話を「とりあえず搭載したい」だけであれば、進め方は大きく2つあります。

  • 外部サービス(SkyWayなど)を組み込む:自社アプリ内でビデオ通話を完結でき、体験を統合したい場合に向く。
  • ZoomやGoogle Meetのリンクを発行して使ってもらう:自前で実装せず、既存ツールに通話を任せる。最も低コストで始められる。

予算が限られたMVP(最小実用プロダクト)の段階では、まず後者(Zoom・Google Meetのリンク運用)で始めてみることをおすすめします。実際に需要や使われ方を検証したうえで、必要に応じて外部SDKの組み込みや独自開発へ段階的に投資していくのが、失敗の少ない進め方です。

まとめ

今回の記事では、ビデオチャットアプリの開発に使用されるWebRTCについて紹介してきました。

WebRTCという言葉自体は、あまり聞いたことがないという方も多いでしょう。しかし、私たちの生活に今やなくてはならないほど浸透している技術の一つです。

近年はコロナ禍の影響もあり、ますます遠隔でのやり取りが注目される社会へと変化しています。ビデオチャットアプリの期待や需要もさらに高まっていくでしょう。

弊社ではただアプリを開発するだけでなく、「価値のある時間を提供」することをモットーに、すべてゼロからフルオーダーメイドでお客様に提案を行っています。ビデオ通話アプリの開発を検討中の方は、ぜひお気軽にお問い合わせください。

\スマホアプリ制作のご相談はこちら/ お問い合わせ

Posted by 山本 真矢

無料お見積もり・お問い合わせはこちら