アーカイブ
Vonage Video APIのアーカイブ機能を使用すると、セッションの録画、保存、および再生が可能です。
このトピックには以下のセクションが含まれます:
- 基本的なワークフロー
- アーカイブの保存期間
- アーカイブ・ストレージ
- 音声のみ、映像のみのアーカイブ
- 個々のストリームと構成されたアーカイブ
- 個々のストリームアーカイブの操作
- アーカイブに含めるストリームの選択
- セッションを自動的にアーカイブ
- 同時アーカイブ
- 構成されたアーカイブの後処理
- アーカイブのステータス変更
- アーカイブのセキュリティ
- サンプルアプリ
- 詳細情報
基本的なワークフロー
重要だ: OpenTok Media Router を使用しているセッション( メディアモード に設定されている)。
OpenTokセッションのアーカイブは、以下の方法を使用して作成できます。 OpenTok REST API または、以下のいずれか OpenTok サーバー SDK. アーカイブを作成すると、録画が開始されます。アーカイブを作成できるのは、少なくとも1人のクライアントが接続しているセッションに限られます。(クライアントは1分以内にストリームの配信を開始する必要があります。そうしないと、アーカイブの録画が停止します。)
クライアントがストリームの公開を開始したり停止したりすると、ストリームが記録される。
重要だ: 「合成アーカイブ」では最大16のビデオストリームを、「個別ストリームアーカイブ」では最大50のビデオストリームを録画できます。(「合成アーカイブ」と「個別ストリームアーカイブ」のいずれの場合も、最大50のオーディオストリームを含めることができます。)詳細は 個々のストリームと構成されたアーカイブ. この制限に達した後、セッションに追加のストリームが配信されても、それらは記録されません。最大 記録された アーカイブの長さ(セッション内でストリームが配信された時間の合計)は4時間(14,400秒)です。詳しくは アーカイブの保存期間 をご覧ください。
記録できるアーカイブの数に制限はありません。(ただし、以下の点にご注意ください。 自動的にアーカイブされたセッション (録音が停止するまで、4時間ごとに新しい録音が開始されます。)
OpenTok REST API および OpenTok サーバー SDK には、以下の機能を実現するためのメソッドが含まれています:
- アーカイブ録画の開始
- アーカイブ録画の停止
- 掲載履歴
- アーカイブ情報の取得
- アーカイブの削除
アーカイブの録画を停止すると、OpenTokサーバーはMP4ファイル、または(個別のストリームアーカイブの場合は)ZIPファイルを作成します。(参照: 個々のストリームと構成されたアーカイブ.)
アーカイブ録画の開始および停止時には、クライアント側でイベントが発生します。たとえば、OpenTok.js ライブラリには archiveStarted そして archiveStopped イベントがディスパッチされます。
アーカイブの保存期間
最大 記録された アーカイブの長さは4時間(14,400秒)です。これは 記録された 長さ
とは、ストリームが配信(および録画)されている累積時間を指します。
ストリームが配信(および録画)されている間、アーカイブのステータスは "started".
(参照: アーカイブステータスの変更).
アーカイブが、公開されているストリームがない状態で録画を行っている間、ステータスは
次のように設定されます。 "paused".
最大 合計 アーカイブの保存期間は、「開始」および「一時停止」の状態を含め、 12時間(43,200秒)です。アーカイブは、1時間(3,600秒)間操作がない場合(クライアントがストリームを配信していない場合)、 自動的にタイムアウトとなり、録画が停止します。
注釈
- セッションを自動的にアーカイブ その結果、1回または複数回の連続録画となり、1回の録画時間は最長4時間となる。
- 進行中のアーカイブはサーバーのローテーション中に終了します(自動アーカイブは例外で、サーバーのローテーション中にセッションが移行すると自動的に再開されます)。サーバー ローテーションの通知イベントに応じて、アーカイブを再開できます。参照 サーバーのローテーションとセッションの移行.
アーカイブ・ストレージ
あなたの Video APIアカウント アーカイブ完了後のファイルをアップロードする先を指定します。これには、ご自身の Amazon S3 バケット、Amazon 以外の S3 準拠ストレージプロバイダーのバケット、または Windows Azure コンテナを指定できます。 Amazon S3 以外の S3 準拠のストレージプロバイダーについては、Cloudian および Google Cloud Storage(AWS S3 API を使用してアクセス)をサポートしています。その他の S3 互換サービスでは、機能に制限がある場合があります。詳しくは OpenTokのアーカイブ機能とS3ストレージの併用 そして OpenTokのアーカイブ機能とWindows Azureコンテナの併用.
アーカイブが完了すると( アーカイブの状態 に設定されている。 "stopped")、アーカイブが作成されてから最大72時間(フォールバックが有効になっている場合は少なくとも6時間)の間、分散アップロードスケジューリングポリシーを通じて複数回再試行を行い、指定された保存先(S3バケットやAzureコンテナなど)へのアーカイブファイルのアップロードを試みます。
指定された保存先にアップロードが成功した場合、アーカイブのステータスは "uploaded".
指定された保存先へのアップロードが(再試行後も)失敗し、OpenTokストレージへのフォールバックが有効になっている場合、そのアーカイブをOpenTokクラウドからダウンロード可能にし、アーカイブのステータスは "available". OpenTokクラウドからファイルのダウンロードが可能になると、指定された保存先へのアップロードは行われなくなります。OpenTokクラウドで利用可能になったアーカイブは、作成時から72時間利用可能です。OpenTokクラウドへのフォールバック保存を防ぐには、 S3 または アジュール セットアップ手順。
指定された保存先へのアップロードが(再試行を試みた後)失敗し、OpenTokストレージへのフォールバックが無効になっている場合、アーカイブのステータスは "failed".
アーカイブは、指定した保存先にアップロードされるか、OpenTokストレージで利用可能になるまではアクセスできません。
OpenTokクラウドに保存されているアーカイブについては、ダウンロードURLが url アーカイブのステータスが次のように設定されている場合のアーカイブのプロパティ "available". アーカイブストレージのフォールバックで使用される各ダウンロードURLは、セキュリティ認証情報を使用してアーカイブのダウンロードに対する期間限定の権限を付与する、事前署名済みURLです。10分経過すると、事前署名済みURLの有効期限が切れるため、REST APIまたはサーバーメソッドを使用して新しい事前署名済みURLをリクエストし、ダウンロードURLを取得する必要があります。 セキュリティ上の理由から、ダウンロードURLは、REST API呼び出しまたはサーバーSDKメソッドを実行した場合にのみ利用可能です。 アーカイブ情報の検索 または リスト・アーカイブ (アカウント認証が必要です)。
音声のみ、映像のみのアーカイブ
を使用してアーカイブを作成する場合、 OpenTok REST API または、以下のいずれか OpenTok サーバー SDK, アーカイブで音声、動画、あるいはその両方を記録するかどうかを指定できます。(デフォルトでは、両方を記録するように設定されています。)
個々のストリームと構成されたアーカイブ
アーカイブ出力ファイルは、以下のいずれかの形式にすることができます:
-
合成アーカイブ — アーカイブは、すべての ストリームを統合した単一の MP4 ファイルです。これがデフォルトの設定です。また、自動的に アーカイブされるセッションにも使用されます( セッションを自動的にアーカイブ). MP4ファイルは、H.264形式の動画とAAC形式の音声(128 Kbps、サンプリングレート48 kHz)を使用しています。
作成されたアーカイブのレイアウトをカスタマイズして、ストリームの表示配置や 表示するストリームを調整することができます。詳しくは、 構成されたビデオのレイアウトをカスタマイズする アーカイブ.
デフォルトでは、合成アーカイブの解像度は640×480ピクセル(SD横向き)です。 合成アーカイブの解像度を 480×640(SD 縦向き)、1280×720(HD 横向き)、720×1280(HD 縦向き)、 1920×1080(FHD 横向き)、1080×1920(FHD 縦向き)の解像度にするには、
resolutionプロパティ to"480x640","1280x720","1920x1080","720x1280"あるいは"1080x1920"を呼び出す際には、 アーカイブ開始 OpenTok REST APIの メソッド。モバイルデバイスからのビデオストリーム(多くの場合、縦向きアスペクト比が使用される)を含むアーカイブを録画する際は、 縦向きアスペクト比を使用することをお勧めします。アーカイブを構成する動画の最大ビットレートを設定することで、アーカイブのサイズを制御できます。 アーカイブ開始 メソッドで指定します。ビットレートを100,000から6,000,000の間で、1秒あたりのビット数で指定する。この設定は ビデオ アーカイブのビットレート。出力アーカイブに音声がある場合、それらのビットは制限から除外されます。このオプションは、コンポジットアーカイブでのみ使用できます(個別のストリームアーカイブでは使用できません)。最大ビットレートを設定すると、アーカイブは一定のビットレートを使用します。
コンポジットアーカイブの量子化パラメータ(QP)を設定することで、ビデオの画質とファイルサイズのトレードオフを調整することができます。QPを設定する
quantizationParameterオプションを呼び出すときに アーカイブ開始 メソッドを使用します。量子化パラメータを設定すると、アーカイブは可変ビットレートと一定の圧縮量子化を使用するようになり、その結果、シーンが変わっても一貫した品質レベルが得られます。有効な値は15から40であり、20から30は大きな知覚的な品質差なしに合理的な結果を生成します。QP値が低いほど、ビデオ圧縮の量子化が細かくなり、ビデオ品質が向上(ビデオの詳細が保持される)し、ファイルサイズが大きくなります。QP値を高くすると、ビデオ圧縮の量子化が粗くなり、ビデオ品質が低下し、ファイルサイズが小さくなります。の両方を設定することはできません。quantizationParameterプロパティとmaxBitrateプロパティ — これを行うとエラーが発生します。 注: 現在、量子化パラメータの設定はREST APIでのみ利用可能であり、OpenTokサーバーSDKでは利用できません。デフォルトでは
quantizationParameterまたはmaxBitrate構成されたアーカイブを作成する場合、アーカイブは高品質を保証する量子化パラメータを持つ可変ビットレートエンコーディングを使用します。 -
個々のストリームのアーカイブ — このアーカイブはZIPコンテナファイルであり、 各ストリームごとに複数の個別のメディアファイルと、 動画の同期用のJSONメタデータファイルが含まれています。以下のいずれかを使用する際に、 この形式を指定することができます。 OpenTok サーバー用 SDK アーカイブを 開始するには。この形式は、自動的にアーカイブされるセッションでは利用できません (参照: セッションを自動的にアーカイブ).
注釈
- コンパイル済みアーカイブにおいて、アーカイブの作成が開始され、その期間中にデータがストリーミングされない場合(音声や動画が配信されない場合)、アーカイブファイルのサイズは0バイトになります。
- コンパイルされたアーカイブでは、含まれる各ストリームの動画が音声よりわずかに遅れて再生される場合があります(再生が始まるまでは画面が真っ黒になります)。
個々のストリームアーカイブの操作
個別ストリームアーカイブモードは、後処理ツールと組み合わせて使用し、 Applicationsによって生成されたカスタマイズされたコンテンツを作成することを目的としています。この機能の利用を検討する際、 開発者が評価すべき点がいくつかあります。
個別ストリーム・コンテナ
個々のストリームアーカイブメディアはZIPアーカイブとして配信され、その中には 各オーディオ・ビデオストリーム用のファイルが含まれています:
-
アーカイブ内の各ストリームコンテナは、 OpenTok に公開されたストリームに対応しています。パブリッシャーのストリーム ID はその対応するファイル名と一致しており、 各ストリーム ID は アーカイブマニフェスト.
自動再接続によってストリームが中断・再開された場合、あるいはストリームが 繰り返し追加・削除される場合、 マニュアル・ストリーム・モード・アーカイブ, ZIPアーカイブには、ストリームの個々のセグメントごとに別々のファイルが含まれます。
-
ストリームコンテナは
.webmあるいは.mkv、 プロジェクトの設定に応じて。VP8またはVP9を 優先ビデオコーデック 持っているwebmコンテナ、および優先ビデオコーデックとしてH.264が設定されているプロジェクトでは、mkvフォーマットを参照してください。参照 VP9ビデオのアーカイブに関する注意事項 個々のストリームアーカイブにおけるVP9動画に関する、より重要な詳細については。 -
個々のストリームアーカイブコンテナには、アーカイブサーバーが受信したすべての映像および音声が キャプチャされています。このメディアは処理されていないため、 ほとんどの場合、このコンテナは直接再生には適していません。
ストリームコンテナはトランスポートストリームと同様に扱われます。つまり、アーカイブサーバーで受信したすべてのメディアは、 検査や後処理を行うことなく、直接ファイルに書き込まれます。 この設計は、ストリームコンテナの下流での利用に影響を及ぼします。 ほとんどの場合、個々のストリームアーカイブ コンテナを直接再生することは不可能であるか、あるいはコンテナの内容に起因して 問題が生じる可能性があります:
- ストリームヘッダーに宣言されている解像度は、正しいことはめったにありません。現在、 エンコードされたビデオフレームの解像度にかかわらず、コンテナのヘッダーには 640×480ピクセルのビデオトラックが表示されています。
- 動画のフレームサイズは、時間の経過とともに変化します。これには、 特に画面共有のストリームにおいて、アスペクト比の変化も含まれる場合があります。
- オーディオおよびビデオのフレームは、単調なタイムスタンプで到着するとは限りません。フレームレートは
常に一定であるとは限りません。これは、以下のいずれかを使用して、ビデオまたは
オーディオトラックのいずれかが一時的に無効になっている場合に特に当てはまります。
publishVideoまたはpublishAudio出版社のプロパティ。
フレームの提示タイムスタンプ(PTS)は、キャプチャ時に取得されたNTPタイムスタンプを基に、 最初に受信したフレームのタイムスタンプ分だけオフセットして書き込まれます。 トラックがミュートされ、その後ミュートが解除された場合でも、タイムスタンプのオフセットは ストリーム全体を通じて一貫している必要があります。 後処理でデコードする際、トラックがミュートされていた期間中は、連続するフレーム間のPTSに ギャップが生じます。コンテナ内には「無音」のフレームは 存在しないためです。
個々のストリームアーカイブファイルから再生可能なコンテンツを作成するには、 メディアをポストプロセッサに通して、個々のストリーム コンテナを修復するか、複数のコンテナを多重化・合成して最終的な成果物を作成する必要があります。 ダウンストリーム処理を始めるためのヒントは、当社の archiving-composer GitHub リポジトリにまとめられています: https://github.com/opentok/archiving-composer.
個々のストリームのアーカイブマニフェスト
個々のストリームアーカイブには、アーカイブに含まれるストリーム録画の情報を提供するJSONメタデータファイルが含まれます。これは以下の形式です:
{
"createdAt" : 1429305105162,
"files" : [
{
"connectionData" : "connection data for this stream's connection",
"filename" : "a1475893-99f5-4f02-b697-5d69e8e30d19.webm",
"size" : 5558064,
"startTimeOffset" : 3119,
"stopTimeOffset" : 48765,
"streamId" : "a1475893-99f5-4f02-b697-5d69e8e30d19",
"videoType": "camera"
},
{
"connectionData" : "connection data for this stream's connection",
"filename" : "5ab71b7b-d998-4683-ad2b-7769d6533666.webm",
"size" : 5396527,
"startTimeOffset" : 2799,
"stopTimeOffset" : 48764,
"streamId" : "5ab71b7b-d998-4683-ad2b-7769d6533666",
"videoType": "screen"
}
],
"id" : "297b9c62-78b3-4152-9e98-7e167354c9e6",
"name" : "archive name",
"partnerId" : 123456,
"sessionId" : "2_MX4xMDB-fjE0MjkzMDQ3NzY3NTZ-WUpRUGVFUmhFSkRmVGljeU5zVnJpaXYxfn4"
}
このJSONファイルには、以下のプロパティが含まれています:
-
id — このアーカイブの一意の識別子。
-
partnerId — このアーカイブのパートナー/プロジェクト ID
-
sessionId — このアーカイブのセッションID
-
name — このアーカイブの名前。このフィールドは、 の呼び出しで name が指定されなかった場合、空になります。 アーカイブ開始.
-
createdAt — アーカイブが 開始された時刻を表す、ミリ秒単位のUnixタイム。
-
files — ZIPコンテナに含まれるファイルの配列。 各ファイルには、以下のプロパティがあります:
-
streamId — このファイルに記録されたストリームの 対応するストリームID。
自動再接続によってストリームが中断・再開された場合、あるいはストリームが 繰り返し追加・削除される場合、 マニュアル・ストリーム・モード・アーカイブ, 個々のストリームのアーカイブには、そのストリームの 各セグメントごとに個別のファイルが含まれます。
-
filename — 記録されたメディアファイルの名前。これは
.webmVP8をコーデックとして使用するOpenTokプロジェクト内のセッションのアーカイブについては、 推奨される動画 コーデック, そしてそれは.mkvH.264を 優先ビデオコーデックとして使用しているプロジェクト内のセッションのアーカイブについては、ストリームが自動再接続によって中断・再開された場合、またはストリームが 繰り返し追加・削除される場合、 マニュアル・ストリーム・モード・アーカイブ、同じストリームに対して複数のファイルが 存在する場合があり(各セグメントに対応)、各 ストリームセグメントのファイル名には、セグメントの順序を識別するために、 ストリームIDの後にインデックス番号(「_1」や「_2」など)が 付加されます。
-
startTimeOffset — このファイルの記録が開始された時点からの オフセット(ミリ秒単位、アーカイブの createdAt時刻を基準とする)— 以下の重要な注意事項を参照してください。
-
stopTimeOffset — このファイルの記録が停止した時刻のオフセット(ミリ秒単位)。 (アーカイブの createdAt 時刻からのオフセット)— 以下の重要な注意事項を参照してください。
-
connectionData — The 接続データ 出版クライアント向け。
-
videoType— どちらか"camera","screen"あるいは"custom".A"screen"動画は、 パブリッシャー側の画面共有を動画ソースとして使用します。「カスタム」動画は、 WebクライアントがHTMLのVideoTrack要素を動画ソースとして使用して公開されます。 モバイルデバイスから配信されるストリームの場合、画面タイプは カメラから画面共有動画タイプに変更されることがあります。ただし、アーカイブマニフェスト内のプロパティは 初期の動画タイプのみを示します。
-
重要だ: において 個別のストリームアーカイブ録画中にストリームが公開されない期間が短い場合は startTimeOffset また、stopTimeOffset の値には若干の誤差が生じる場合があります。これは既知の問題です。
個々のアーカイブの後処理
サンプルとなるポストプロセッサ・アプリケーションは、以下のURLから入手できます。 https://github.com/opentok/archiving-composer.
アーカイブに含めるストリームの選択
アーカイブの開始時に streamMode への "manual", アーカイブに含める
ストリームを選択できます。アーカイブの録画中に、ストリームの追加や削除を行うことができます。
また、アーカイブにストリームの音声、動画(またはその両方)を含めるかどうかを指定することもできます。
それ以外の場合は、 streamMode に設定する。 "auto" (デフォルト設定では)、すべてのストリームが
(音声および映像とともに)アーカイブに含まれます。詳しくは
アーカイブ録画の開始 そして
アーカイブに含めるストリームの選択.
ただし、構成済みのアーカイブには、一度に含められる動画ストリームは16本、音声ストリームは50本までという制限があります
(自動ストリームモードと手動ストリームモードの双方に適用されます)。また、ストリームは以下の基準に基づいて含まれます。
ストリーム優先ルール.
手動ストリームモードのアーカイブの場合、ストリームの更新は アーカイブステータスの変更.
セッションを自動的にアーカイブ
セッションを自動的にアーカイブすることも可能です。これは、OpenTok REST API または OpenTok サーバー用 SDK のいずれかを使用して、セッションを作成する際に指定できます。
自動的にアーカイブされたセッションのアーカイブは、クライアントがセッションに接続するとすぐに始まります。
REST API のメソッドで セッションを作成する 自動的にアーカイブされるセッションを作成する際に、 アーカイブ名とアーカイブの解像度を設定するオプションが含まれています。
注: アーカイブが開始され、アーカイブ期間中にデータがストリーミングされない場合(音声や動画が配信されない場合)、アーカイブファイルのサイズは0バイトになります。
自動的にアーカイブされるセッションには音声と動画の両方が含まれ、すべてのストリームが同じ(結合された)MP4ファイルに記録されます。 ただし、録画時間が4時間(14,400秒)を超える場合、アーカイブが停止されるまで、セッションはそれぞれ最大4時間の連続した複数のMP4ファイルに記録されます。1つのセッションに対する連続した自動アーカイブは、録画データが欠落しないよう、わずかに重複して記録されます。
OpenTokのRESTメソッドを呼び出すには、 リスト・アーカイブ そして、 sessionID 指定したセッションIDのアーカイブ一覧を表示するためのクエリパラメータです。その後、 createdAt RESTメソッドの呼び出しによって返されるJSONデータに列挙されている各アーカイブのプロパティ。
OpenTok REST API やサーバー SDK を使用して、自動アーカイブを停止することはできません。自動アーカイブは、最後のクライアントがセッションから切断されてから 60 秒後、または最後のクライアントがセッションへのストリーム配信を停止してから 60 分後に停止します。
重要だ:
- アーカイブ処理が長期間中断されることが予想される場合は、 OpenTok REST API または、以下のいずれか OpenTok サーバー SDK (セッションが自動的にアーカイブされる代わりに)。
- 自動アーカイブを使用する場合、セッションIDの再利用は厳密に避けるべきです。セッションIDを再利用すると、そのセッションの以前の自動アーカイブがタイムアウトした場合に、自動アーカイブが失敗することがあります。
- 自動アーカイブは、通話前テストや接続テストなどの短時間のセッションには使用しないでください。自動アーカイブは、最後のクライアントがセッションから切断してから60秒後、または最後のクライアントがセッションへのストリームの公開を停止してから60分後に停止するため(公開後もクライアントが接続されている場合)、アーカイブリソースの過剰な使用に対する請求が発生します。
注: 最初のアーカイブの終了部分と2番目のアーカイブの開始部分の間でメディアが一部重複している場合、2つの連続した録画を滑らかに結合したいときは、以下で説明する当社の後処理によるアーカイブ結合ツールをご利用いただけます。
構成されたアーカイブの後処理
ビデオアーカイブの録画にはアーカイブがあります 存続期間 最大4時間14,400秒。そのため、長いビデオセッションは1つのアーカイブファイルには記録されません。セッションの一部が失われないようにするには セッションを自動的にアーカイブ 機能を使えば、セッション全体をカバーする複数のファイルを生成することができる。あるいは 同時アーカイブ 機能を使って、前の録音を終了する前に2回目の録音を開始する。どちらの場合も、1つのファイルの終わりと次のファイルの始まりの間に短いオーバーラップがある状態でアーカイブが生成される。
セッション全体を1つのファイルに収めたい場合は 構成済みアーカイブの後処理 このツールは、連続するオーバーラップする録音をマージし、知覚的に可能な限りスムーズな移行を試みます。このツールを使って、複数の短いアーカイブファイルのメディアを含む、1つの長いファイルを生成することができます。詳しくは、デベロッパーガイド 合成アーカイブのポスト処理.このツールは次のサイトで入手できる。 https://github.com/Vonage/archive-post-processing.
このツールは、Vonage Video アーカイブとして作成されていないビデオ録画でも使用できます、 メディアの重複があり、ビデオとオーディオにそれぞれ H264 および AAC LC コーデックを使用しているなど、一連の特性を満たすビデオ録画であれば、Vonage Video アーカイブとして作成されていないビデオ録画でもこのツールを使用できます。
同時アーカイブ
同じセッションの複数のアーカイブを同時に録画するには multiArchiveTag オプション
いつ 各アーカイブの開始. 進行中のセッションの同時アーカイブごとに、
一意の文字列を設定する必要があります。
異なるレイアウトを使用し、それぞれの同時アーカイブ録画に異なるストリームを割り当てることができます。
で 自動的にアーカイブされたセッションを設定する。 multiArchiveTag ~するオプション
新しい同時アーカイブを開始する これは、
自動アーカイブと同時に記録されます。自動アーカイブは、セッションが(自動アーカイブのルールに従って)自動的に開始・終了する際に
開始・終了しますが、手動で個別に開始したアーカイブは、手動で停止する必要があります。
アーカイブステータスの変更
アーカイブのステータスが変更されたときに通知するコールバック URL を登録できます。アーカイブのステータスは以下のいずれかに設定されます:
-
"started"— アーカイブの作成が開始され、現在記録が進められています。 -
"paused"— アーカイブが一時停止されている間は、何も記録されません。以下のいずれかの条件に該当する場合、アーカイブは一時停止されます:- セッションに対してストリームを配信しているクライアントはいません。この場合、60分のタイムアウトが設定されており、その時間が経過するとアーカイブが停止し、アーカイブのステータスが
"stopped". - すべてのクライアントがセッションを切断しました。60秒後にアーカイブが停止し、アーカイブのステータスが
"stopped".
アーカイブが
"paused"状態になると、アーカイブの記録が再開され、ステータスは再び"started". - セッションに対してストリームを配信しているクライアントはいません。この場合、60分のタイムアウトが設定されており、その時間が経過するとアーカイブが停止し、アーカイブのステータスが
-
"stopped"— アーカイブの記録が停止しました。 -
"uploaded"— アーカイブは、設定時に指定したアーカイブのアップロード先からダウンロードできます。 Video APIアカウント. なお、非常に小さなアーカイブの場合、"uploaded"の前にステータスイベントが発生することがある。"stopped"ステータスイベント。もし アーカイブ・ストレージ・フォールバック 有効化されている場合、フォールバック時にはアーカイブをOpenTokクラウドに保存します(ステータスは"available"). -
"available"— このアーカイブは、OpenTokクラウドからダウンロードできます。 -
"expired"— アーカイブは、OpenTokクラウドからダウンロードできなくなりました。(OpenTokクラウド上のアーカイブは、作成時から72時間のみ利用可能です。) -
"failed"— アーカイブの記録に失敗しました(または、アーカイブファイルのアップロードに失敗し、OpenTokクラウド上のフォールバックストレージが無効になっています)。 -
"streamAdded"— アーカイブにストリームが追加されました。これは以下の対象に適用されます。 マニュアルモード アーカイブのみ。 -
"streamRemoved"— アーカイブからストリームが削除されました。これは以下のものに適用されます。 マニュアルモード アーカイブのみ。
あなたの Video APIアカウント コールバックURLを指定するには。
安全なコールバック: 署名シークレットを使用して、署名付きコールバックにより Webhook コールバックリクエストを保護することができます。詳しくは、 安全なコールバック.
アーカイブのステータスが変更されると、サーバーは指定されたURLに対してHTTP POSTリクエストを送信します。リクエストのContent-Typeはapplication/jsonです。リクエストのデータは、以下の形式のJSONオブジェクトです:
{
"id" : "b40ef09b-3811-4726-b508-e41a0f96c68f",
"event": "archive",
"createdAt" : 1384221380000,
"duration" : 328,
"name" : "Foo",
"partnerId" : 123456,
"reason" : "",
"resolution" : "640x480",
"sessionId" : "2_MX40NzIwMzJ-flR1ZSBPY3QgMjkgMTI6MTM6MjMgUERUIDIwMTN-MC45NDQ2MzE2NH4",
"size" : 18023312,
"status" : "available",
"url" : "https://example.com/archive.mp4"
}
JSONオブジェクトには以下のプロパティが含まれる:
createdAt— その時点のタイムスタンプは コール アーカイブの開始時刻。Unixエポック(1970年1月1日 00:00:00 UTC)からの経過時間をミリ秒単位で表したものです。この値は最寄りの秒単位に丸められている点にご注意ください。また、この値はcreatedAtの値は アーカイブを取得するためのRESTメソッド そしてcreatedAtの値は 個々のストリームアーカイブのマニフェスト それらにおいては、createdAtこの値は、OpenTokサーバー上で録画が実際に開始された時刻(録画開始の呼び出しが行われた時刻ではない)に設定されます。なお、アーカイブの開始呼び出しが行われた場合でも、セッション内の少なくとも1つのクライアントがストリームをパブリッシュするまでは、OpenTokサーバー上でアーカイブの録画は実際に開始されませんのでご注意ください。duration— アーカイブの保存期間(秒単位)。記録中のアーカイブについては(status プロパティが"started")、この値は0に設定される。id— 一意のアーカイブID。name— 指定したアーカイブの名前(これは任意です)partnerId— OpenTokのAPIキー。resolution— アーカイブの解像度(「640x480」、「480x640」、「1280x720」、「720x1280」、 「1920x1080」、または「1080x1920」)です。このプロパティは、合成アーカイブに対してのみ設定されます。合成アーカイブの解像度は、 アーカイブ開始 OpenTok REST API のメソッド。reason— ステータス変更の理由を説明する文字列。- ステータスが
"stopped"または"failed"この文字列はアーカイブが停止または失敗した理由を表します。ステータスが"stopped"に設定することができる。"maximum duration exceeded","maximum idle time exceeded","session ended"あるいは"user initiated". - ステータスが
"failed"に設定することができる。"Internal server failure". - ステータスが
"streamRemoved"この場合、ストリームがセッション(およびアーカイブ)から削除された理由を設定することができる:"clientDisconnected","networkDisconnected","forceDisconnected","forceUnpublished","mediaStopped".
- ステータスが
sessionId— アーカイブされた OpenTok セッションのセッション ID。size— アーカイブファイルのサイズ。まだ生成されていないアーカイブの場合、この値は 0 に設定されます。status— アーカイブの状況:-
"available"— このアーカイブは、OpenTokからダウンロードできます。 -
"expired"— アーカイブは、OpenTokクラウドからダウンロードできなくなりました。(OpenTokクラウド上のアーカイブは、作成時から72時間のみ利用可能です。) -
"failed"— アーカイブへの記録に失敗しました。 -
"paused"— アーカイブが一時停止されている間は、何も記録されません。以下のいずれかの条件に該当する場合、アーカイブは一時停止されます:- セッションに対してストリームを配信しているクライアントはいません。この場合、60分のタイムアウトが設定されており、その時間が経過するとアーカイブが停止し、アーカイブのステータスが
"stopped". - すべてのクライアントがセッションを切断しました。60秒後にアーカイブが停止し、アーカイブのステータスが
"stopped".
アーカイブが
"paused"状態になると、アーカイブの記録が再開され、ステータスは再び"started". - セッションに対してストリームを配信しているクライアントはいません。この場合、60分のタイムアウトが設定されており、その時間が経過するとアーカイブが停止し、アーカイブのステータスが
-
"started"— アーカイブの作成が開始され、現在記録が進められています。 -
"stopped"— アーカイブの記録が停止しました。 -
"uploaded"— アーカイブは、設定で指定した S3 バケットまたは Azure コンテナからダウンロードできます。 Video APIアカウント. なお、非常に小さなアーカイブの場合、"uploaded"の前にステータスイベントが発生することがある。"stopped"ステータスイベント。
-
streamMode— すべてのストリームがアーカイブに含まれているかどうか("auto")、またはアーカイブに含めるストリームを選択する("manual").参照 アーカイブに含めるストリームの選択.streams— 現在アーカイブ処理中のストリームに対応するオブジェクトの配列。これは、ステータスが"started".配列の各オブジェクトは以下のプロパティを含む:streams— アーカイブに含まれるストリームのストリームID。hasAudio— ストリームの音声がアーカイブに含まれるかどうか。hasVideo— ストリームの動画がアーカイブに含まれているかどうか。
url— 利用可能なアーカイブファイルのダウンロードURL。これは、ステータスが"available"その他のアーカイブ(以下のステータスを持つアーカイブを含む。"uploaded") このプロパティはNULLに設定されます。セキュリティのため、ダウンロードURLは、REST API (またはサーバーSDK) の アーカイブ情報の検索 または リスト・アーカイブにログインして URL にアクセスすることもできる。 Video APIアカウント オンライン(すべて認証が必要)。ダウンロードURLは10分後に失効し、新しいリクエストで新しいURLが割り当てられます。timestamp— 対象: マニュアル ストリームの更新情報、イベントが発生した時刻(Unixエポック(1970年1月1日 00:00:00 UTC)からの経過ミリ秒数で表される)stream- 対象: マニュアル ストリームの更新、プロパティ:id— アーカイブに追加または削除されたストリームのID。connection— ストリームの接続オブジェクト。これには1つのプロパティが含まれます:id.そのidプロパティは、アーカイブ内で追加または削除されたストリームの接続IDです。createdAt— ストリームの開始時刻を示すタイムスタンプ。Unixエポック(1970年1月1日 00:00:00 UTC)からの経過時間をミリ秒単位で表したものです。なお、この値は最寄りの秒単位に丸められていることに注意してください。
また、アーカイブの状況は、以下の場所で確認することもできます。 Video APIアカウント:
- に移動する。 Video APIアカウント ページを参照されたい。
- ページの左側にあるプロジェクト一覧から、アーカイブするセッションを含むプロジェクトを選択してください。
- の中で アーカイブ セクションで、[ ] をクリックします。 アーカイブ一覧 タブ。プロジェクト内のアーカイブの詳細が一覧表示されます。
アーカイブのセキュリティ
以下の方法でアーカイブを保護することができます:
- アーカイブストレージのフォールバックを無効にする — デフォルトでは、Vonageは、指定されたS3またはAzureサーバーへのファイルのアップロードに失敗した場合、OpenTokサーバーにアーカイブファイルを保存します。このフォールバック保存(デフォルトで有効になっています)を防ぐには、ご自身のアカウントにログインして Video APIアカウントプロジェクトを選択し、アーカイブ保存のフォールバックを無効にするオプションを設定する。
- OpenTokの暗号化機能を使用する — これにより、データが暗号化されていない状態で保存されることのない OpenTok アーカイブを作成できます。OpenTok アーカイブを保護するための利用可能な方法の中で、これは最高レベルのセキュリティを提供します。これは、 アドオン機能.詳細は OpenTokの暗号化 ドキュメンテーション
- Amazon S3のサーバーサイド暗号化を使用する - これは、暗号化のためにAmazon S3が管理する暗号鍵を使用します。Amazon S3のサーバーサイド暗号化について学ぶ これ.
サンプルアプリ
以下のサンプルアプリでは、OpenTok を使用したアーカイブの方法を示しています:
- PHP を使ったアーカイブ処理
- Node.js を使ったアーカイブ処理
- Java を使ったアーカイブ処理
- .NET を使用したアーカイブ処理
- Python を使ったアーカイブ処理
- Ruby を使ったアーカイブ処理
- PHPサーバーコンポーネントを使用したWeb(JavaScript)アーカイブのサンプル
- PHPサーバーコンポーネントを使用したAndroid Javaアーカイブのサンプル
- PHPサーバーコンポーネントを使用したAndroid Kotlinアーカイブサンプル
- PHPサーバーコンポーネントを使用したiOSアーカイブのサンプル
詳細情報
アーカイブ関連のメソッドについては、 OpenTok REST API また、のAPIリファレンスには、 OpenTok サーバー用 SDK. また、各サーバー用SDKには、アーカイブ処理のサンプルアプリケーションが含まれています。