対象読者
iOSでWebRTCを使った開発をしてみたい方が対象となります。iOSアプリ開発に関する知識は必ずしも必要ありませんが、SwiftでiOSアプリ開発の経験がある方であればより理解しやすい内容となっています。
必要な環境
- Xcode 11以降
- CocoaPods
Vonage Video APIについて
WebRTCの商用サービスはすでにたくさんリリースされており、選択肢はいくつかあるのですが今回はVonage社が提供するVonage Video API platformを利用して動画を含むリアルタイム通話を試してみます。
今回紹介するサービスとしてVonageを選んだ理由はいくつかあるのですが、セッションの保存(Archiving)に対する充実度が一つ挙げられます。
複数のユーザーが参加した際に参加者全員のカメラ映像のレイアウトの調整も細かくできる上、MP4での保存が可能なのでクロスプラットフォームでも、動画を再生するために動画フォーマットの変換なども必要ありません。その上、合成したファイルが実際に作成されるまでの時間もかなり早いです。
あえてここでは挙げませんが、各社ともに機能的には近いものを提供しているため、この辺りの細かいサポートが差別化になってきそうです。
しかし、これはあくまで筆者が考えるメリットであり、要件や費用に応じて必要な機能は変わってきますので、実際に使われる際は充分検討の上ご判断いただければと思います。
ちなみにVonage Video APIは以前TokBox社のOpenTok Platformとして提供されていました。実際にサービスを使う際や公式ドキュメントを閲覧しているとOpenTokという名前が頻繁に登場するので、違うサービスと勘違いされないように気をつけてください。
Vonageは有料サービスではありますが、新規アカウント作成後に無料で10ドル分のクレジットが付与されますので、まずお試しで使ってみるには充分です。
アカウント登録とOpenTok APIプロジェクトの作成
今回は最初の一歩ということで、1対1でビデオ通話ができるアプリを作成してみます。応用すれば複数人でも通話できるアプリがすぐに実装できますので、是非試してみてください。
まずはこちらからアカウントを作成してください。
アカウントの作成が終わったら実際に開発を進めていきます。管理画面からプロジェクトを作成しましょう。
作成するはプロジェクトはOpenTok APIを選択してください。
Select preferred codecはデフォルトのVP8のままで構いません。
もう一つの選択肢としてはH.264がありますが、参加者が多いセッションでの使用や古いAndroid端末をサポートする必要があるケースでは使用を推奨していないようです。
プロジェクトを作成するとPROJECT API KEY、PROJECT SECRETも一緒に生成されますが、これらは管理画面からいつでも確認可能です。
今回は管理画面からセッションを作成し、そのセッションに接続するクライアントを作るところまでの説明となるため、PROJECT SECRETは使用しません。
ですがセッションの作成やアーカイブ機能はサーバーSDK、もしくはAPIでのみ提供されており、それらの機能を使う際に必要になります。