本文にスキップする

LINE Planetファクトシート

チョン・ドクボム

はじめに

LINE Planetは、LINEメッセンジャーのVoIP機能を開発して運営してきたLINE Planetチームが数年にわたり蓄積してきたリアルタイム音声・映像通信(VoIP)技術をプラットフォーム化して構築したクラウド型コミュニケーションサービスです。グローバルで数億人のユーザーが利用するLINEメッセンジャーで検証された通話品質と安定性に基づいて開発されたLINE Planet SDKとAPIを使用することで、LINEメッセンジャーと同レベルの高品質なリアルタイムコミュニケーション機能を皆様のサービスに簡単に統合できます。

LINE Planetは、開発者がビジネスロジックとユーザーエクスペリエンスにのみ集中できるように、複雑なネットワーク制御やメディア処理のプロセスを抽象化して設計しました。公式の技術ドキュメントと共に提供されるデモアプリとクイックスタート、サンプルコードなどを活用すると、最初の通話を迅速に実装でき、全体の連携フローを簡単に理解できます。

今回の記事では、このようなLINE Planetの特徴をさまざまな側面からファクトシートの形式で見てみましょう。

対応するプラットフォームおよびインフラ

  • LINE Planetは、iOS、Android、macOS、Windows、Web、Flutterなど、さまざまな環境で動作します。
    • ネイティブSDKであるPlanetKitは、モバイルとデスクトップ環境に対応しています。
    • ウェブ向けSDKであるWebPlanetKitは、WebRTC標準に基づいて実装され、主要ブラウザと互換性があります。また、PlanetKitと完全に相互連携し、シームレスなクロスプラットフォーム通話体験を提供します(ただし、WebRTC標準でサポートされていない機能はネイティブSDKでのみ提供される場合があります)。
  • 実サービス用(Real)環境とテスト用(Evaluation)環境の両方を提供します(参考)。これを利用して、開発および検証段階で安定して通話機能をテストした後、サービスに適用できます。
  • グローバルインフラに基づいて、安定した通話品質を提供します。現在、LINE Planetはさまざまなサービスと共に20カ国以上で使用されており、通話接続時の遅延(latency)を最小限に抑えるための最適なネットワークパスを自動的に選択します。

1対1通話

  • LINE Planetは、1対1通話に特化した構成を提供します。
  • 通話接続前の段階で相手の準備状態を把握できる応答者準備状態機能を提供します。この機能を使用すると、発信者は相手のデバイス準備状況(カメラやマイクの準備有無など)を事前に確認でき、通話開始時に発生しうる初期障害を最小限に抑え、より安定した接続体験を提供します。
  • 通話接続前に発信者と受信者が通話目的またはメタデータを送受信できる通話開始メッセージ機能を提供します。最初の接続段階で必要な情報を案内し、通話の成功率を向上させるのに役立ちます。
  • ローカルオーディオデータを転送前の段階で安全にフックできるオーディオフック機能を提供します。これを利用してリアルタイム音声変調やSTT(speech-to-text)連携など、さまざまな処理を実装できます。
  • 1対1通話で可能な場合は、P2P(peer-to-peer)で接続できます。ただし、録画を使用する場合はP2P接続は許可されません。
  • 1対1通話では、エンドツーエンド暗号化(end-to-end encryption、E2EE)をサポートします。E2EEが有効になると、通話内容が発信者と受信者のデバイスでのみ暗号化および復号化され、ネットワーク区間とサーバーを含む中間パスでは通話内容を確認できません。これにより、最高レベルのプライバシーが保証されます。

グループ通話

  • グループ通話では、一つのルームに最大10,000人の参加者が同時に参加し、リアルタイムで双方向に通信できます。
  • グループ通話ルームの通話時間は制限されません(ただし、24時間の間にグループ通話ルームに1人しかいない場合は強制終了します)。
  • 参加者を複数の小単位に分けて会話できるサブグループ(subgroup)機能を提供します。サブグループを活用することで、参加者間のオーディオとビデオのフローを独立して構成でき、これを基盤としてリアルタイム通訳(参照例)、分科会、またはチーム単位の会話(参照例)など、さまざまな形のマルチチャンネルコミュニケーション環境を実装できます。
  • グループ通話時に参加者/サブグループ別にボリュームを調整したり、フォーカスリストを構成して、これを基盤として自動でボリュームが調整されるように設定できるボリューム制御機能をサポートします。これにより、会議の状況に合わせて洗練されたオーディオバランスを提供できます。
  • サーバーAPIを介してグループ通話の特定の参加者を強制的に退出させることができる参加者の強制退出機能を提供します。アプリケーションサーバーは参加者の強制退出APIを呼び出して該当参加者のセッションを終了することができ、これにより、相談・教育・ライブコミュニティなどのさまざまな運営シナリオでグループ通話ルームを安定的に制御できます。
  • アプリケーションサーバーが参加者にリアルタイムで制御メッセージを転送できるアプリケーション制御メッセージ転送機能を提供します。UIの同期化やステータス通知、機能の有効/無効など、サービス別のユーザー定義イベントをサーバー基盤で制御でき、より洗練されたリアルタイム相互作用の実装が可能です。
  • SIP(session initiation protocol)ベースのテレビ会議端末との連携をサポート(参照)し、会議用ハードウェア機器もグループ通話に参加できます。
  • お客様側でサーバーを構成してオーディオおよびビデオストリームをサブスクリプション(subscribe)できるグループ通話メディアのサブスクリプション機能をサポートします。これにより、サービスにおいて特定ルームのメディアをリアルタイムで収集・処理する方法で通訳や分析、アーカイブ、AI処理などのさまざまな拡張機能を実装できます。

通話共通

  • 音声通話中にビデオ通話に切り替えることができる音声通話中にビデオ通話を有効化機能をサポートします。ユーザーは通話接続を維持したままビデオストリームを即座に有効化でき、これによりサービスは別途再接続することなく音声からビデオに自然に切り替える経験を提供できます。
  • 背景をぼかし(blur)処理したり、ユーザー指定の画像に置き換えたりできる機能を含む仮想背景機能をサポートします。クライアントは、カメラ入力を前処理段階で安全に変換し、さまざまな撮影環境でも映像品質を均一に保ち、プライバシーを保護する機能を提供できます。
  • 画面共有機能をサポートします。ユーザーはデバイス画面または特定のウィンドウを共有でき、これを利用して発表・教育・デモンストレーションなど、さまざまなコラボレーションシナリオを実装できます。
  • 基本のオーディオまたはビデオソースに加えて、ユーザー定義のオーディオまたはビデオソースを登録できるカスタムオーディオデバイスカスタムビデオソース機能を提供します。これにより、外部ハードウェアやAIベースのエンジン、前処理パイプラインなどを統合したカスタムメディア環境を構成できます。
  • 通話中に主要なネットワークとメディアの指標を確認できるメディア統計機能を提供します。これにより、ネットワークの状態を把握したり、品質関連情報をUIに表示したりでき、各サービスのニーズに応じて品質調整や復旧動作などの対応ロジックを独自に実装できます。
  • 通話中の遅延を最小限に抑えてデータを転送できる、さまざまなデータ転送およびメッセージング機能を提供します。リアルタイムストリーム転送ができるデータセッション機能だけでなく、ファイル転送やテキストメッセージ、ステータス情報共有など、さまざまなチャットおよび相互作用機能を実装できる短いデータ転送機能とコンテンツ共有機能をサポートします。

Agent Call

  • サーバーが直接ユーザーに電話をかけた後、オーディオを再生して自動案内する機能を実行できるサーバー発信型コール、Audio Caller機能を提供します。

通話品質

  • LINEメッセンジャーで長年にわたり磨き上げてきたVoIP品質技術をLINE Planetでそのまま提供します。

  • ノイズ除去(noise suppressor、NS)、エコー除去(acoustic echo canceller、AEC)、音量調整(automatic gain controller、AGC)、機械学習ベースのノイズ除去(machine learning based noise suppressor、MLNS)など、音声品質を向上させるためのコア機能を提供します(参照)。

  • 適応型ビットレート(bitrate adaptation)制御により、利用可能なネットワーク帯域幅に基づいてメディア品質を自動的に最適化します。アプリケーションの要件に応じて最大リンク帯域幅を調整できるため、ネットワーク内の通話トラフィックを効果的に管理できます。

  • LINE Planetチームは継続的に品質をモニタリングし、改善作業を行っています。SDKバージョンのアップデートを通じて改善作業の結果を提供します。音声品質は定量的に測定して公開し、実環境ベースの品質結果はブログを通じてレポート形式で共有します。

  • これらすべての品質関連機能を追加費用なしで標準提供します。

セキュリティ

  • すべての通信はSRTP/TLS 1.2および非対称キー暗号化ベースで保護されています。
  • LINE Planetは内部ストレージにユーザー通話や録画ファイルを保管しません。

サービスとの統合サポートと管理ツール

  • LINE Planetは、開発者が迅速に機能を検証し、サービスとの統合を開始できるように、デモアプリとクイックスタートを提供します。これにより、最初の連携プロセスとAPIフローをすばやく理解した後、1対1通話とグループ通話の機能を短期間で検証できます。
  • LINE Planetは、ユーザーがサービス関連の設定とAPIキーをより簡単に管理できるLINE Planet Consoleを提供します。

クイックスタート

  • 各プラットフォームで提供されるクイックスタートは、簡単なプロジェクトまたはPoC(proof of concept)をすばやく作成する際に使用できるスタートコードセットです。
  • 通話フローとAPIの使用方法を理解しやすくするために最小限の構造で構成されており、開発者はこれを基盤として必要な機能をすばやく拡張したり実験したりできます。

デモアプリ

  • デモアプリは別途修正することなくビルドするだけで直ちにLINE Planetの通話機能を体験できる完成型アプリケーションです。
  • コード理解よりも機能体験を目的としているため、内部構造がクイックスタートよりもやや複雑ですが、主要機能を即座に実行でき、実際のUIと機能フローを確認するのに適しています。

LINE Planet Console

  • サービス設定とAPIキーを管理するためのLINE Planet Consoleを提供します。
  • 開発者はLINE Planet Consoleを使用してプロジェクトを作成し、環境(Evaluation/Real)を設定するなど、基本的な運用項目を簡単に管理できます。

はじめる

今回の記事では、さまざまなサービス環境で高品質のリアルタイムコミュニケーション機能を実装できる技術基盤を提供するLINE Planetの特徴をファクトシート形式で紹介しました。

LINE Planetの導入を検討している場合は、以下の手順に従ってLINE Planetを体験してみてください。

  1. デモアプリ:主要機能を今すぐ体験
    1. Android:https://github.com/line/planet-kit-demoapp-android
    2. iOS/macOS:https://github.com/line/planet-kit-demoapp-apple
    3. Windows:https://github.com/line/planet-kit-demoapp-windows
    4. Web:https://github.com/line/planet-kit-demoapp-web
  2. クイックスタート:プラットフォーム別のスタートコードで迅速にPoCを構築
    1. Android:https://github.com/line/planet-kit-quickstart-android
    2. iOS:https://github.com/line/planet-kit-quickstart-ios
    3. macOS:https://github.com/line/planet-kit-quickstart-macos
    4. Windows:https://github.com/line/planet-kit-quickstart-windows
    5. Web:https://github.com/line/planet-kit-quickstart-web
  3. 公式ドキュメント参照:詳しいAPIリファレンスとガイドの確認
    1. 技術ドキュメント:https://docs.lineplanet.me/ja/
      1. 用語:https://docs.lineplanet.me/ja/overview/glossary

LINE Planetチームは、お客様のニーズに合わせた技術サポートと導入コンサルティングを提供しています。導入に関してご不明な点がございましたら、いつでも下記のメールにご連絡ください。