ビデオAPIの基礎
Vonage Video API の概要とその仕組みについて学びましょう。
このトピックには以下のセクションが含まれます:
コードをお探しですか? Vonage Video API プラットフォームの仕組みを理解することは、Vonage Video API アプリケーションを構築する上で非常に役立ちますが、基本 Concepts を学ぶ前にすぐにコードを書き始めて開発を始めたいという方は、当社の チュートリアル.
Vonage Video APIプラットフォーム
Vonage Video APIプラットフォームを利用すれば、リアルタイムで高品質な双方向ビデオ、メッセージング、画面共有などの機能を、Webアプリやモバイルアプリに簡単に組み込むことができます。 このプラットフォームには、Web、iOS、Android、Windows、macOS、Linux、React Native向けのクライアントライブラリに加え、サーバーサイドSDKやREST APIが含まれています。Vonage Video APIは ウェブRTC 音声・映像通信用。
Vonage Video API プラットフォームを使用して構築されたすべての Applications には、次の 2 つの主要なコンポーネントが必要です:
- クライアント — ブラウザやモバイルアプリ上で実行されるクライアントサイドのコード。開発者が、Vonage Video APIのクライアントサイドライブラリを使用して設定するもので、これらは ウェブ, iOS, アンドロイド, ウィンドウズ, マックオス, リナックスそして リアクト・ネイティブ. Vonage Video APIの機能の大部分は、クライアント側で処理されます。
- サーバー — 開発者がVonage Video APIサーバーSDKを使用して設定したWebサーバー上で実行されるサーバーサイドコード。このSDKは、以下の環境で利用可能です。 ノード, PHP, ジャワ, .NET, パイソンそして ルビー.
クライアントとサーバーの機能
クライアント:
- 活用する クライアントSDK
- 取得 セッションID そして トークン より サーバー
- 接続 トークンを使用してセッションにアクセスする
- 公開する オーディオ・ビデオ ストリーム
- 購読 オーディオ・ビデオストリームへ
- セッションを監視する イベント
アプリケーションサーバー:
- 活用する サーバーSDK
- でセッションを作成します Vonage Video API クラウド
- 以下のトークンを生成します クライアント
- セッションIDとトークンをクライアントに送信します
セッション
- Vonage Video API クラウドの「チャットルーム」
- クライアント同士をつなぐ
- クライアントにイベントを送信する

セッション
Vonage Video API によるビデオチャットはすべて、 セッション. セッションは、クライアント同士がリアルタイムでやり取りできる「部屋」のようなものだと考えてください。セッションは Vonage Video API クラウド およびユーザーの管理 コネクション, オーディオ・ビデオ ストリーム、およびユーザー イベント (たとえば、新規ユーザーが参加する場合など)。各セッションには一意の セッションID. 複数のクライアント同士がチャットできるようにするには、それらを(同じセッションIDを使用して)同じセッションに接続させるだけで済みます。
について アプリサーバー (サーバーサイドのコードを実行する)は、新しいセッションの作成と一意の認証情報の生成を担当しています トークン 新しいクライアントごとに。その後、クライアントはそのトークンを使用してセッションへの接続を確立します。セッションに接続されたクライアントは、 出版 セッションにストリームを送信し、 サブスクライブ 他のクライアントのストリームへ。クライアントがセッションに接続する方法の詳細については、次のセクションを参照してください。
インスペクタを使用したセッションのデバッグ
特定のセッションに関する情報を確認したい場合は、次の方法を使用できます。 インスペクター. このツールは、ユーザー、品質、イベント、エラーなど、セッションに関する詳細な内訳を提供します。これは、デバッグや、アプリのセッションで何が起きているかをより深く理解するのに役立ちます。
接続、公開、および購読
このセクションでは、2人のクライアントがビデオチャットセッションを開始するために必要な手順を、図解で解説します。
手順 1: セッションはアプリサーバーによって作成されます
あなたの アプリサーバー, あるのコードを使用して Vonage Video API サーバー SDK, は、を通じてクラウド上にセッションを作成します。 Vonage Video REST API そして、セッションIDを受け取ります。セッションは、ビデオチャットが行われる「部屋」のようなものだと考えてください。この時点では、その部屋は空いています。

ステップ 2:クライアントがアプリを起動すると、サーバーがトークンを作成します
ユーザーが、 Vonage Video API Client SDK、クライアント(Webページやモバイルアプリ)はサーバーからセッション情報を取得します。これには一意の認証情報が含まれます トークン (クライアントの「キー」)は、アプリサーバーによって生成されます。

ステップ 3:クライアントが接続し、セッションへのストリーミングを開始します
クライアントは、セッションIDとトークンを使用して、 接続 セッションとともに。これにより、クライアントは 出版 オーディオ・ビデオ ストリーム セッションに参加し、重要な情報を聞き逃さないようにしてください イベント (たとえば、新しいユーザーがセッションに参加する場合など)。この時点で、クライアントがセッションの唯一の参加者となります。

ステップ 4: 新しいクライアントがセッションに接続する
新規ユーザーが別のウェブページやモバイル端末(クライアント 2)でクライアントサイドアプリケーションを読み込むと、その新しいクライアントはアプリサーバーからセッション ID と一意のトークンを受け取ります。クライアントはその情報を使用して、セッションへの接続を確立します。

ステップ 5:クライアント同士が互いのストリームを購読する
セッションに接続されたことで、クライアント 2 はクライアント 1 のストリームを購読できるようになります。 その後、クライアント2は自身のビデオストリームをセッションにパブリッシュし、クライアント1はそれにサブスクライブします。これで、両クライアントは1対1のビデオチャットにおいて互いのストリームをサブスクライブする状態となり、両者とも新しいイベント(セッションへの新規ユーザーの接続など)を「待機」しています。

Vonage Video API は、1対1の通信およびグループ通信に対応しています。複数のクライアントが 1 つのセッションに接続でき、接続した各クライアントは、そのセッション内の各ストリームを購読することができます。上記の基本機能に加え、Vonage Video API プラットフォームでは、以下のようなさまざまな追加機能を提供しています。 画面共有, アーカイビング, テキストチャット, 放送、その他。提供されている機能の全一覧については、 開発者向けガイド.
Vonage Video API アプリケーションの構築
上記の資料を確認したことで、Vonage Video API の仕組みについて基本的な理解が得られたはずです。最初の Applications の開発を始める準備ができたら、Web、iOS、Android、Windows、または Linux 向けの「基本クライアントチュートリアル」をご覧ください:
また、以下には主要な用語と定義の一覧のほか、その他の 開発者センターのリソース.
重要用語
- セッション
- トークン
- クライアント
- サーバー
- 接続
- ストリーム
- 出版
- サブスクライブ
- イベント
- Client SDK
- サーバーSDK
- Vonage Video REST API
- Vonage Video API Cloud
セッション
セッションは、ある種の「部屋」のようなものだと考えてください。そこでは クライアント は、一意のセッションIDに関連付けられ、リアルタイムで相互にやり取りを行うことができます。新しいセッションは、あなたの アプリサーバー via the サーバーSDK. クライアントは、セッションIDと一意の認証情報を取得できます トークン サーバーから セッションの初期化と接続、その後、彼らは 出版 ストリーム そして サブスクライブ セッション内のストリームへの送信に加え、 イベント セッションによって送信されるもの(新規ユーザーの接続など)。
をご覧ください。 開発者向けガイド 〜の方法を学ぶには セッションを作成する サーバー用SDKとともに、 セッションに参加する を持つ。 クライアントSDK、セッションに関連するその他の機能についても詳しく見ていきましょう。セッションに関連する具体的なクラス、メソッド、イベントについては、APIリファレンスドキュメントの ウェブ, iOS, アンドロイド, ウィンドウズそして リナックス.
トークン
トークンとは、 クライアント ~に参加する セッション. クライアントがセッションに参加しようとすると、あなたの アプリサーバー 一意のトークンを生成し、セッションIDとともにクライアントに送信します。トークンには(サーバーによって指定された)有効期限がありますが、セッションには有効期限がありません。また、トークンにはロールを割り当てることも可能です―― 出版社, 契約者、またはモデレーターなど、クライアントの権限(公開など)を決定する役割 ストリーム およびセッション内のストリームを購読すること。
をご覧ください。 開発者向けガイド 〜の方法を学ぶには トークンを作成する を持つ。 サーバーSDK そして セッションに参加する を持つ。 クライアントSDK. デモや概念実証(PoC)を構築する際は、Vonage Video API 内でトークンを生成できます Account プロジェクトを作成し、「プロジェクトの概要」画面に移動して、画面を下にスクロールしてプロジェクトツールまで進むことで行えますが、本番環境に移行する前にサーバーコンポーネントの設定を行う必要があります。
クライアント
クライアントとは、Vonage Video API のクライアントサイドコードを利用するブラウザやモバイルアプリのことです。 クライアントSDK. クライアントは、Vonage Video API アプリケーションを構成する 2 つの主要コンポーネントのうちの 1 つです(もう 1 つは サーバー)、そして、次のようなVonage Video APIの機能の大部分を担っており、例えば セッションへの接続, 出版 そして 購読 への ストリーム, セッションを待機中 イベント、およびセッションへのイベントの送信。
セッションとやり取りを行う前に、クライアントはセッションIDを受け取り、 トークン アプリサーバーによって生成されたものです。当社の クライアントの基本チュートリアル クライアントサイド機能の実装方法を学ぶほか、当社の 開発者向けガイド をご覧ください。
サーバー
アプリ開発者が、 Vonage Video API サーバー用 SDK, 新しいものを生成する セッション そして トークン, それをその後、 クライアント. すべてのVonage Video API Applicationsには、クライアントコンポーネントとサーバーコンポーネントの両方が必要です。当社の 開発者向けガイド 〜の方法を学ぶには セッションを作成する そして トークンを作成する サーバー用SDKに加え、サーバーが処理するその他の機能についても。
接続
A クライアント と連携して セッション WebSockets を使用して常に新しいイベントをリッスンする、永続的なイベント(またはシグナリング)接続を介して イベント セッションによって確立されます。この接続は、クライアントが 出版 そして サブスクライブ への ストリーム そのセッションで。
セッションへの接続を確立するには、クライアントはセッションIDを受け取り、 トークン あなたの アプリサーバー、これらはその後、認証に使用されます。通常、各クライアントは特定のセッションに対して1つの接続を開き、そのセッションへの各クライアント接続には一意の接続IDが割り当てられます。当社の 開発者向けガイド 〜の方法を学ぶには セッションに接続する を持つ。 クライアントSDK.
ストリーム
ストリームとは、ユーザーが配信しているカメラ映像やマイク音声を含む、単一の音声・映像信号のことです。配信中は、 セッション, クライアント 出版 セッションにストリームを送信し、 サブスクライブ 他のクライアントのストリームへ。新しいストリームが作成されると、 イベント は、双方によって派遣される Publisherオブジェクト そして セッションオブジェクト.
出版
かつては クライアント は 接続済み への セッション、オーディオ・ビデオを配信することができます ストリーム デバイスのウェブカメラとマイクを使用してセッションに参加します。クライアントの トークン 役割(発行者、 契約者(モデレーター)が、そのクライアントがセッションにデータを公開できるかどうかを決定します。これにより、パブリッシャーが1つか2つだけで、サブスクライバーが多数いる(1対多)セッションが可能になります。当社の 開発者向けガイド 〜の方法を学ぶには ストリームを公開する とのセッションへ クライアントSDK.
サブスクライブ
かつては クライアント は 接続済み への セッション、あらゆるオーディオ・ビデオコンテンツを購読できます ストリーム 公開された そのセッションに参加している他のクライアントによって。ぜひ当社の 開発者向けガイド 〜の方法を学ぶには ストリームを購読する との会談で クライアントSDK.
イベント
かつては クライアント ~を定める 接続 への セッション, セッションから発信されるイベントを監視することができます。イベントは、新しいストリームが作成されたり、新しいクライアントがセッションに接続・切断されたりするなど、さまざまな理由で発信されます。クライアントに特定のイベントに対して反応させたい場合は、イベントリスナーを設定する必要があります。 セッション中に発生しうるさまざまなイベントや、それらの処理方法については、 Client SDK の参考資料 ウェブ (JavaScript), iOS, アンドロイド, ウィンドウズそして リナックス.
Client SDK
クライアント SDK は、以下の用途で利用できる一連のコードライブラリです。 ウェブ (JavaScript), iOS, アンドロイド, ウィンドウズそして リナックス, これを使って クライアント. クライアント側のコードは、Vonage Video API の機能の大部分を処理しており、これには以下が含まれます。 出版 そして 購読 への ストリーム セッション内で、セッションを監視する イベント.
サーバーSDK
サーバー用SDKは、 Vonage Video REST API 利用可能 ノード, PHP, ジャワ, .NET, パイソンそして ルビー. このコードは、あなたの アプリサーバー そして、新しいものを生成するために使用されます セッション そして トークン のために クライアント.
Vonage Video REST API
Vonage Video REST API は、 Vonage Video API Cloud ~を作成するために使用される セッション また、次のような高度な機能にも対応しています。 アーカイビング そして 放送. Vonage Video API サーバーSDK REST API のメソッドの多くを実装します。以下の REST API リファレンスドキュメント 利用可能なさまざまな方法を学ぶために。
Vonage Video API Cloud — 管理する セッション, クライアント コネクション、API呼び出し、シグナリング、 イベント、および、それ以外で、 クライアントSDK または サーバーSDK.
開発者センターのリソース
現在お読みいただいているこの記事は、その他のすべてのVonage Video APIドキュメントと同様、 Vonage Video API 開発者センター. 開発者センターは、開発者がVonage Video APIアプリケーションを円滑に構築・維持するために必要なあらゆる情報を提供することを目的としています。
開発者センターで利用できるリソースの一部を以下に紹介します:
ハロー・ワールド — Vonage Video API の最も基本的な機能の簡単なデモ
チュートリアル — Vonage Video API アプリケーションの構築および高度な機能の追加に関するステップバイステップの手順
コードサンプル — 開発をスピードアップするためのサンプルアプリが掲載されたGitHubリポジトリの一覧
ビデオチャットの埋め込み — 最小限のコードで、Vonage Video APIの機能をウェブサイトに組み込む最も手っ取り早い方法
開発者ガイド — Vonage Video APIのすべての機能に関する詳細なドキュメント
Client SDK リファレンス(対象:) ウェブ, iOS, アンドロイド, ウィンドウズ, リナックス — クライアント SDK で使用される特定のクラス、メソッド、およびイベントに関する情報
REST API リファレンスドキュメント — Vonage Video API およびサーバー用 SDK の利用ガイド
開発ツール — セッションのデバッグやAPI呼び出しのテストなどに役立つツール
ベータプログラム — Vonage Video APIのすべてのパブリックベータ版と、それらに参加する方法を一覧にしたページ
支援を受ける
ご質問がある場合や問題が発生し、Developer Centerで答えが見つからない場合は、以下の方法をご利用いただけます。 サポートセンターをご覧ください サポートチームへのお問い合わせ、またはよくある質問の閲覧はこちら。