ApsaraVideo Liveは、ライブストリームをリアルタイムで録画し、履歴ストリームを再生できるライブストリーム録画機能を提供します。 このトピックでは、ライブストリームの録画機能について詳しく説明します。
概要 ApsaraVideo Liveは、ストリーミングURLを使用して、ストリーム取り込みクライアントによってリアルタイムで取り込まれたストリームを再生します。 ライブストリームの終了後にライブストリームのコンテンツを再生または変更する場合は、ライブストリームの録画機能を使用できます。
ライブストリーム記録機能は、ライブセンターによって受信された取り込まれたストリームを記録し、記録を特定の記憶場所に記憶するために使用される。 ApsaraVideo Liveを使用すると、ライブストリームの録画をApsaraVideo VOD またはObject Storage Service (OSS) に保存できます。
ライブストリームのレコーディングの仕組み ライブストリーム録画機能は、取り込んだストリームを取得し、オーディオデータとビデオデータをトランスポートストリーム (TS) 形式の複数の個別のメディアセグメントにカプセル化してから、TSセグメントを保存します。 ライブストリーム録画機能は、次の原則に準拠しています。
ライブストリーム録画機能は、オーディオおよびビデオデータのコンテナ形式をRTMP (Real-Time Messaging Protocol) またはFLV (Flash video) からTSに変換するだけです。 この機能は、コーディングレイヤでオーディオおよびビデオコンテンツを変更しません。 たとえば、取り込んだライブストリームがぼやけている場合、録音もぼやけています。
ライブストリームの記録機能は、指定した保存場所に記録を書き込むことができます。 ただし、この機能では、保存された記録を含め、保存場所からタスクファイルを変更または削除することはできません。 ストレージの場所で録画を管理できます。
ストレージ方法の比較 ライブストリームの録画をApsaraVideo VODまたはOSSに保存できます。 ストレージ方法はさまざまなシナリオで使用されます。 ビジネス要件に基づいてストレージ方法を選択できます。
保存方法
関連サービス
コンテナー形式
該当するシナリオ
ApsaraVideo VOD
ApsaraVideo VOD
TS/M3U8
録画を再利用するか、編集、再生、ビデオのサムネイルの作成など、録画のポストプロダクションプロセスに集中したい場合。
OSS
OSS
TS/M3U8
MP4
FLV
CMAF
説明 コンテナフォーマットにかかわらず、ライブストリーム記録機能は、最初にライブストリームをいくつかのTSセグメントにスライスし、次にそれらを構成して、指定されたコンテナフォーマットで記録を生成する。
あなたは録音の管理と保管に集中したいと思います。
説明 ライブストリームの録画をApsaraVideo VODとOSSの両方に保存することはできません 。
制限事項 オーディオとビデオのエンコード形式 ApsaraVideo Liveは、最初にライブストリームをTSセグメントにスライスする必要があります。 したがって、取り込むライブストリームのオーディオおよびビデオのエンコード形式は、TS形式の要件を満たす必要があります。 FLVおよびISO/IEC 13818-1規格に基づいて、ライブストリーム録画機能は次のエンコード形式をサポートしています。
説明 ライブストリームにサポートされていない形式でエンコードされたオーディオおよびビデオデータが含まれている場合、録音の失敗、ブラックスクリーンの問題、および音声のない録音などの予期しない例外が録音プロセスで発生する可能性があります。
異常なライブストリーム ライブストリーム記録機能は、通常のライブストリームの記録を生成することができる。 通常のライブストリームは、サポートされるフォーマットでエンコードされ、安定したフレームレートと、単調および線形に増加するタイムスタンプを有するストリームを指す。 ライブストリームのフレームレートが時々不安定であるか、ライブストリームジャンプのいくつかの特定のタイムスタンプがある場合、この機能は、その幅広い互換性のためにライブストリームの記録を生成することもできます。 ただし、取り込まれたライブストリームで重大な例外が検出された場合、この機能は取り込まれたライブストリームの記録を生成できない場合があります。 重大な例外には、長期間検出されたビデオフレームがないこと、不規則に増加したタイムスタンプ、およびオーディオおよびビデオヘッダの欠落が含まれます。
ApsaraVideo VODで録音を保存 前提条件 ApsaraVideo VODが有効化され、VODバケットが有効化されています。 詳細については、「ApsaraVideo VODの有効化 」および「VODバケットの有効化 」をご参照ください。
重要 ApsaraVideo VODに録画を保存すると、ストレージ料金が発生します。 詳細については、「メディアストレージ 」をご参照ください。
VODバケットを有効にするときは、VODバケットがストリーミングドメインのライブセンターと同じリージョンにあることを確認してください。
Finance Cloudアカウントを使用してLive-to-VOD機能を設定することはできません。
録画設定の構成 前提条件が満たされたら、ApsaraVideo VODに録画を保存するために必要な設定を構成できます。
ApsaraVideo Liveは、ApsaraVideo VODに録画を保存するための次の設定方法を提供します。
ApsaraVideo Liveコンソールの使用
ApsaraVideo Live コンソール にログインします。
左側のナビゲーションウィンドウで、[機能管理]> [記録] を選択します。 [録画] ページで、[VOD] タブをクリックします。
設定するストリーミングドメインを選択します。
追加 をクリックします。
録音テンプレートを設定します。
次の表に、録画テンプレートのパラメーターを示します。
パラメーター
説明
アプリ名
アプリケーションの名前。 AppName パラメーターの値は、取り込みURLで指定されたアプリケーション名と同じである必要があります。 それ以外の場合、設定は有効になりません。 ドメイン名の下にあるすべてのアプリケーションでライブストリームを録画する場合は、アスタリスク (*) を入力します。
ストリーム名
ストリーム名を指定すると、特定のライブストリームの録画をApsaraVideo VODに保存できます。 AppName パラメーターで指定されたアプリケーション内のすべてのライブストリームを記録する場合は、アスタリスク (*) を入力します。
説明 AppName またはStreamName パラメーターの値は、最大255文字で、英数字、ハイフン (-) 、およびアンダースコア (_) を使用できます。
保管場所
ストレージの場所。
録音サイクル
記録サイクル は、15〜360分の範囲とすることができる。 指定された記録サイクルを超えた場合、システムは記録命名規則に基づいて新しい記録を生成します。 デフォルトでは、TS セグメントの長さは30秒です。
説明 記録サイクルは、指定されたライブストリームから変換されるVODファイルの最大長を指定する。
トランスコード設定
ドロップダウンリストからストレージコード変換ルールを選択します。 ApsaraVideo VODで録画したビデオをトランスコードできます。
ストレージトランスコーディング規則は、記録されたビデオを送信用のVODファイルに変換するために使用されます。 録画したビデオを異なる解像度のビデオにトランスコードしたり、トランスコードせずに元の品質を維持したりできます。
ApsaraVideo VODでのコード変換テンプレートの詳細については、「コード変換テンプレート 」をご参照ください。
説明 ApsaraVideo VODで使用するトランスコードテンプレートのリージョンは、ドメイン名のリージョンと同じである必要があります。 たとえば、ドメイン名が中国 (上海) リージョンにある場合、ApsaraVideo VODで使用するトランスコードテンプレートも中国 (上海) リージョンにある必要があります。
自動マージ
この機能を有効にすると、複数の録画サイクルの録画を自動的に1つの録画にマージしてApsaraVideo VODに保存できます。
説明 複数のサイクルの録画の自動マージを有効にすると、ApsaraVideo VODの編集および制作機能とトランスコード機能が使用されます。 機能の課金の詳細については、「編集と生産の課金 」および「メディアトランスコーディングの課金 」をご参照ください。
マージビデオのトランスコード設定
ApsaraVideo VODから取得したトランスコードテンプレートをドロップダウンリストから選択します。 システムは、トランスコーディングテンプレートの設定に基づいて、マージされたビデオに対してトランスコーディングを実行します。 自動マージ用のコード変換テンプレートの詳細については、「コード変換テンプレート 」をご参照ください。
説明 ApsaraVideo VODで使用するトランスコードテンプレートのリージョンは、ドメイン名のリージョンと同じである必要があります。 たとえば、ドメイン名が中国 (上海) リージョンにある場合、ApsaraVideo VODで使用するトランスコードテンプレートも中国 (上海) リージョンにある必要があります。
OK をクリックします。
API操作の呼び出し
説明 上記のサンプルコードでは、ドメイン名にLive-to-VOD設定が追加されており、ApsaraVideo VODのライブストリームの録画が保存されます。 <DomainName> はドメイン名、<AppName> はアプリケーション名、<StreamName> はストリーム名を指定します。 VOD_NO_TRANSCODEは、記録がトランスコードされないことを指定する。 <StorageLocation> は、VODバケットのアドレスを指定する。
AppNameまたはStreamNameパラメーターをアスタリスク (*) に設定して、すべてのアプリケーションまたはストリームに一致させることができます。
複数のルールを設定できます。 ルールは優先順位に基づいて有効になります。
AppNameパラメーターとStreamNameパラメーターがアスタリスク (*) に設定されていないルールの優先度が最も高くなります。
AppNameパラメーターがアスタリスク (*) に設定されていないが、StreamNameパラメーターがアスタリスク (*) に設定されているルールの優先順位が2番目です。
AppNameパラメーターがアスタリスク (*) に設定されているルールの優先度が最も低くなります。 この場合、ドメイン名のみを指定する必要があります。
パラメーターの詳細については、「AddLiveRecordVodConfig 」をご参照ください。
トランスコード録音 ApsaraVideo VODに保存されている録音はM3U8形式です。 録音を別の形式で保存する場合は、トランスコーディングを設定できます。 次のサンプルコードは、トランスコーディングの設定方法の例を示しています。
説明 ApsaraVideo VODでトランスコードテンプレートグループを設定する必要があります。 詳細については、「コード変換テンプレート 」をご参照ください。
<TranscodeGroupId> は、ApsaraVideo VOD のトランスコードテンプレートグループのID を指定します。
トランスコードを設定すると、録音がトランスコードされ、対応するトランスコードされたストリームURLが生成されます。 元の記録は保持される。
録音のマージ 以下のシナリオでは、録音をマージできます。
ライブストリームが中断されたが、以内に180秒 で再インジェストされた場合、中断の前後に生成されたレコーディングは自動的に1 つのレコーディングにマージされます。
ライブストリームの持続時間が記録サイクル を超える場合、記録サイクルの前後に生成される記録をマージすることができる。 ライブストリームの持続時間が記録サイクル を超えた後、新しい記録が生成される。 例えば、記録サイクルが5分であり、ストリーム取り込み期間が8分である場合、ライブストリームに対して2つの記録が生成される。
異なる録音サイクルの録音をマージする場合は、マージ設定を構成できます。
重要 複数のサイクルの録画の自動マージを有効にすると、ApsaraVideo VODの編集および制作機能とトランスコード機能が使用されます。 詳細については、「付加価値サービスの課金 」および「基本サービスの課金 」をご参照ください。
次のサンプルコードは、録音をマージする方法の例を示しています。
説明 複数の録音が新しい録音にマージされます。 元の記録は保持される。
ApsaraVideo VODでトランスコードテンプレートグループを設定する必要があります。 詳細については、「コード変換テンプレート 」をご参照ください。
<TranscodeGroupId> は、ApsaraVideo VOD のトランスコードテンプレートグループのID を指定します。
次のサンプルコードは、記録サイクルを設定する方法の例を示しています。
録音の管理 ApsaraVideo Liveコンソールで、ApsaraVideo VODに保存されている録画を表示 できます。 録画を管理する には、ApsaraVideo VODサービスを使用します。 詳細については、「メディア資産管理 」をご参照ください。
ApsaraVideo Liveコンソールでの録画の表示
ApsaraVideo Live コンソール にログインします。
左側のナビゲーションウィンドウで、[機能管理]> [記録] を選択します。 [録音] ページで、[録音] タブをクリックします。
ストリーミングドメインを選択します。
VOD タブで、録音を表示します。
OSSに記録を保存する 前提条件 OSSが有効化され、OSSバケットが作成されます。 詳細については、「OSS の設定 」をご参照ください。
記録設定の構成 前提条件が満たされたら、必要な設定を設定して、OSSに記録を保存できます。
ApsaraVideo Liveは、OSSに録画を保存するための次の設定方法を提供します。
ApsaraVideo Liveコンソールの使用
ApsaraVideo Live コンソール にログインします。
左側のナビゲーションウィンドウで、[機能管理]> [記録] を選択します。 [録画] ページで、[OSS] タブをクリックします。
設定するストリーミングドメインを選択します。
追加 をクリックします。
録音テンプレートを設定します。
表 1. 記録テンプレートパラメーター
パラメーター
説明
アプリ名
アプリケーションの名前。 AppName パラメーターの値は、取り込みURLで指定されたアプリケーション名と同じである必要があります。 それ以外の場合、設定は有効になりません。 ドメイン名の下にあるすべてのアプリケーションでライブストリームを録画する場合は、アスタリスク (*) を入力します。
ストリーム名
ストリーム名を指定すると、特定のライブストリームの録画をOSSに保存できます。 AppName パラメーターで指定されたアプリケーション内のすべてのライブストリームを記録する場合は、アスタリスク (*) を入力します。
保管場所
ストレージの場所。
説明 バケットには、標準バケットとメディアバケットが含まれます。 標準バケットは、ストレージに使用されるOSSバケットです。 メディアバケットは、ApsaraVideo Media Processing用にカスタマイズされたバケットです。 ApsaraVideo Media Processingを使用して、メディアバケットに保存されているビデオをトランスコードできます。 標準バケットとメディアバケットは、バケットリストで区別されません。 ApsaraVideo Media Processingで入力ビデオを処理する場合は、出力ビデオを保存するメディアバケットを選択できるように、使用するメディアバケットの名前を覚えておく必要があります。
中断期間しきい値
ストリーム中断期間が閾値を超える場合、新しい記録が生成される。 このパラメータの値は15〜21600秒です。
ストレージ形式
有効な値: flv 、m3u8 、mp4 、cmaf
説明 少なくとも1つのストレージ形式を選択します。 CMAF形式とM3U8形式を同時に選択することはできません。
命名規則
さまざまな形式の録音のストレージパスの命名規則。 デフォルト値:
M3U8: レコード /{AppName}/{StreamName}/{EscapedStartTime }_{ EscapedEndTime }
TS: record/{AppName}/{StreamName}/{UnixTimestamp }_{ Sequence}
FMP4: record/{AppName}/{StreamName}/{UnixTimestamp }_{ Sequence}
MP4: record/{AppName}/{StreamName}/{EscapedStartTime }_{ EscapedEndTime }
FLV: record/{AppName}/{StreamName}/{EscapedStartTime }_{ EscapedEndTime }
例:
AppName をliveApp **** に、StreamName をliveStream **** に設定した場合、M3U8 形式の録音のストレージパスはrecord/liveApp ****/liveStream ****/{EscapedStartTime }_{ EscapedEnd} Time になります。
TSファイル期間
TSセグメントの期間。 デフォルト値:30。 有効な値: 5 ~ 30。 単位は秒です。
録音サイクル
記録サイクル は、15〜360分の範囲とすることができる。 指定された記録サイクルを超えた場合、システムは記録命名規則に基づいて新しい記録を生成します。
説明 記録サイクルは、指定されたライブストリームから変換されるVODファイルの最大長を指定する。
表 2. トランスコードされたストリーム記録 のパラメータ
パラメーター
説明
トランスコードストリーム記録
[トランスコードストリーム録画] をオンにし、次のパラメーターを設定します。
ストレージ形式
有効な値: flv 、m3u8 、mp4 、cmaf
説明 少なくとも1つのストレージ形式を選択します。 CMAF形式とM3U8形式を同時に選択することはできません。
命名規則
さまざまな形式の録音のストレージパスの命名規則。 デフォルト値:
M3U8: transcodeRecord/{AppName}/{StreamName}/{EscapedStartTime }_{ EscapedEndTime }
TS: transcodeRecord/{AppName}/{StreamName}/{UnixTimestamp }_{ Sequence}
FMP4: transcodeRecord/{AppName}/{StreamName}/{UnixTimestamp }_{ シーケンス}
MP4: transcodeRecord/{AppName}/{StreamName}/{EscapedStartTime }_{ EscapedEndTime }
FLV: transcodeRecord/{AppName}/{StreamName}/{EscapedStartTime }_{ EscapedEndTime }
例:
AppName をliveApp **** に、StreamName をliveStream **** に、トランスコードテンプレートID をlldに設定した場合、M3U8 形式のトランスコードされたストリーム録音のストレージパスはtranscodeRecord/liveApp ****/liveStream ****_lld/{EscapedStartTime} です。
TSファイル期間
TSセグメントの期間。 デフォルト値:30。 有効な値: 5 ~ 30。 単位は秒です。
録音サイクル
記録サイクル は、15〜360分の範囲とすることができる。 指定された記録サイクルを超えた場合、システムは記録命名規則に基づいて新しい記録を生成します。
説明 記録サイクルは、指定されたライブストリームから変換されるVODファイルの最大長を指定する。
トランスコードテンプレートID
すべてのテンプレートまたは最大10個の個別のトランスコードテンプレートを選択できます。
コード変換テンプレートのアプリケーション名が、記録テンプレートのアプリケーション名と同じであることを確認します。 利用可能なコード変換テンプレートがない場合は、まずコード変換テンプレートを追加します。 詳細については、「デフォルトのトランスコードの設定 」をご参照ください。
OK をクリックします。
API操作の呼び出し
説明 上記のサンプルコードでは、ドメイン名の録画設定が追加されており、ライブストリームの録画がOSSバケットに保存されています。 <DomainName> はドメイン名、<AppName> はアプリケーション名、<StreamName> はストリーム名、<OssBucket> はOSSバケットの名前を指定します。 録音はM3U8 形式です。
OssObjectPrefixパラメーターまたはSliceOssObjectPrefixパラメーターの値は、変数が一致した後は255文字を超えることはできません。 詳細については、「AddLiveAppRecordConfig 」をご参照ください。
<OssEndpoint> パラメーターの値は、<OssBucket> パラメーターで指定されたOSSバケットのリージョンに基づいて取得できます。 詳細については、「リージョン、エンドポイント、オープンポート 」をご参照ください。
AppNameまたはStreamNameパラメーターをアスタリスク (*) に設定して、すべてのアプリケーションまたはストリームに一致させることができます。
複数のルールを設定できます。 ルールは優先順位に基づいて有効になります。
AppNameパラメーターとStreamNameパラメーターがアスタリスク (*) に設定されていないルールの優先度が最も高くなります。
AppNameパラメーターがアスタリスク (*) に設定されていないが、StreamNameパラメーターがアスタリスク (*) に設定されているルールの優先順位が2番目です。
AppNameパラメーターがアスタリスク (*) に設定されているルールの優先度が最も低くなります。 この場合、ドメイン名のみを指定する必要があります。
トランスコードされたストリーム の記録トランスコードされたストリームを記録することで、ビデオの品質に影響を与えることなく、ビデオのビットレートを調整し、ビデオの圧縮率を上げ、記録のサイズを縮小できます。 OSSでは、元のストリームとトランスコードされたストリームを保存できます。 オリジナルまたはトランスコードされたストリームのみを保存することもできます。
重要 ライブストリームのトランスコード機能を使用する場合、トランスコード標準、解像度、およびトランスコードされたストリームの合計長に基づいて課金されます。 詳細については、「ライブストリームトランスコードの課金 」をご参照ください。
トランスコードされたストリームを記録するためのサンプルコード
説明 トランスコードされたストリームのみを記録する場合は、setRecordFormatsを設定する 必要はありません。
setTranscodecordFormatsを設定する場合、setTranscodeTemplatesも設定して、設定されたトランスコードテンプレートのIDを指定する必要があります。 詳細については、「ライブストリームのトランスコーディング 」をご参照ください。
設定されたコード変換テンプレートでは、コード変換をストリーム取り込みによってトリガー するように設定する必要があります。
トランスコードされたストリーム記録の名前で、StreamNameフィールドはStreamName
_Transcoding template ID
に変更されます。
割り込み期間のしきい値の設定 ライブストリームが中断されたが、中断期間 しきい値 内に再取り込みされた場合、中断の前後に生成された録音は自動的に1つ の録音にマージされます。 デフォルトでは、中断時間のしきい値は180秒です。
説明 新しい記録は、中断期間閾値が経過した後にのみ生成される。
業務要件に基づいて中断期間のしきい値を設定できます。 サンプルコード:
短すぎるまたは長すぎる時間を指定しないことを推奨します。 この時間が短すぎると、ネットワークの変動などの理由でライブストリームが頻繁に切断されて再接続された場合に、大量の録画が発生する可能性がある。 時間が過度に長い場合、ライブストリームが終了した後に、レコーディングが生成されるのに長い期間を必要とする可能性がある。
特定のビジネスシナリオでは、中断時間のしきい値が経過するまで録画の生成を待機したく ない場合があります。 この場合、ライブストリームが終了した直後に録画を生成するようにシステムを設定できます。 これを行うには、ストリーム取り込みの終了を示す通知を受け取るようにストリーム取り込みコールバック を設定します。 このような通知を受け取ったら、RealTimeRecordCommand 操作を呼び出してしきい値メカニズムをキャンセルし、すぐに録音を生成します。 ストリーム取り込みコールバックの設定方法については、「ストリーム取り込みステータスのコールバック 」をご参照ください。
しきい値メカニズムをキャンセルするためのサンプルコード
カスタム記録ルールの設定 [録画設定の設定] セクションで、ライブストリームの録画機能が設定されます。 ライブストリームが取り込まれると、記録プロセスが開始されます。 これは自動記録 と呼ばれます。
場合によっては、ビジネス要件に基づいてライブストリームを録画するかどうかを決定することができます。 必要に応じて、次のいずれかの方法を使用してライブストリームを記録できます。
1. ApsaraVideo Liveは、ライブストリームを録画するかどうかを尋ねるリクエストを送信します。 ApsaraVideo Liveがライブストリームを録画するための応答を受信すると、録画プロセスが開始されます。 これは、オンデマンド記録 と呼ばれる。
2. ビジネスシステムは、ライブストリームを録画するためにApsaraVideo Liveに通知を送信します。 これは手動記録 と呼ばれます。
オンデマンド記録 オンデマンド録画を実装するには、ビジネスシステムがApsaraVideo LiveのコールバックURLを提供する必要があります。 詳細については、「オンデマンド録画のコールバック 」をご参照ください。
次のサンプルコードは、オンデマンド記録を設定する方法の例を示しています。
AddLiveRecordNotifyConfig を呼び出して、ドメイン名の記録コールバックを設定することもできます。
記録コールバックを設定するためのサンプルコード
重要 <OnDemandUrl> は、オンデマンド記録のコールバックURLを指定します。 <NotifyUrl> は、イベントとステータスの記録に関する通知を受け取るために使用されるコールバックURLを指定します。
<NotifyUrl> パラメーターが必要です。 オンデマンドの録音リクエストのみを受信し、録音イベントとステータスをコールバックしたくない場合は、<NotifyUrl> パラメーターを、リクエストされたメソッドをサポートしていないURLに設定できます。
手動録音 手動記録を有効にするには、自動記録を無効にする必要があります。 サンプルコード:
// Set the OnDemand parameter to 7, which disables automatic recording.
addLiveAppRecordConfigRequest.setOnDemand(7);
ライブストリーミング中に、RealTimeRecordCommand 操作を呼び出して、ビジネス要件に基づいて録画を開始できます。
記録の停止 RealTimeRecordCommand 操作を呼び出して、自動録音 、オンデマンド録音 、または手動録音 を使用していても、手動で録音を停止できます。
記録を停止するためのサンプルコード
説明 setCommand("stop"): 録音を停止します。
手動で録画を停止した場合、中断時間のしきい値 が経過した後に録画が生成されます。
トランスコードされたストリームを記録する場合は、StreamNameをStreamName
_Transcoding template ID
に変更します。
関連する API
記録サイクルの設定 ライブストリームの期間が指定した録画サイクルを超える と、新しい録画が生成されます。 例えば、ライブストリームが20分間続き、記録サイクルが15分に設定されている場合、2つの記録が生成される。 記録サイクルは15〜360分 の範囲の値に設定できます。
記録サイクルを設定するためのサンプルコード
説明 上記のサンプルコードでは、それぞれが特定の記録サイクルで、2つ の記録フォーマットが記録用に設定されています。 ストリームが20 分間取り込まれると、3つの録音が生成されます。 1つの録音はMP4形式であり、2つの録音はM3U8形式です。
ライブストリームの持続時間が記録サイクルを超えない場合、ライブストリームが終了した後に記録が生成される。 ライブストリームが終了する前に録画コンテンツを表示する場合は、RealTimeRecordCommand を呼び出して、録画を強制的に再開できます。 ライブストリームの録画中に録画を再開すると、すぐに録画が生成されます。
記録を再開するためのサンプルコード
説明 setCommand("restart"): 記録を再開します。
トランスコードされたストリームを記録する場合は、StreamNameをStreamName
_Transcoding template ID
に変更します。
ライブストリームの録画に複数の保存形式を設定した場合、再起動後に生成された録画は設定された形式で保存されます。
録音のマージと抽出 ApsaraVideo Liveを使用すると、録画用のインデックスファイルを作成し、時間範囲ごとに録画コンテンツを抽出 できます。 時間範囲内で生成された複数の録音を1つ の録音にマージすることもできます。
説明 ApsaraVideo Liveは、レコーディングのストレージ形式に関係なく、まずライブストリームを複数のTSセグメントにスライスし、それらを構成して指定されたコンテナ形式でレコーディングを生成します。 TSセグメントを参照するM3U8 インデックスファイルを作成できます。 これにより、インデックスファイルに基づいて録画コンテンツをマージして抽出できます。
M3U8 形式で保存されている録音のみをマージまたは抽出できます。
インデックスファイルを作成するには、CreateLiveStreamRecordIndexFiles 操作を呼び出します。
インデックスファイルを作成するためのサンプルコード
説明 上記のサンプルコードでは、特定の時間範囲内のライブストリームの録画コンテンツに対してインデックスファイルを作成しています。 <AppName> は、アプリケーション名を指定します。 <StreamName> はストリーム名を指定します。 <StartTime> は、時間範囲の開始を指定する。 <EndTime> は、時間範囲の終了を指定します。 インデックスファイルはOSSバケットに保存されます。 <OssEndpoint> はOSSエンドポイントを指定します。 <OssBucket> は、OSSバケットの名前を指定します。 <IndexFiles/OssObject.m3u8> は、インデックスファイルの名前を指定します。
<StartTime> および <EndTime> の値は、yyyy-MM-dd T HH:mm:ss Z形式で、UTCで表示されます。
重要 インデックスファイルは、ライブストリームが取り込まれた後にのみ作成できます。 指定された時間範囲内にライブストリームが使用できない場合、または指定されたライブストリームの名前が無効な場合、インデックスファイルの作成に失敗します。
録画コンテンツには、ファイルと、アプリケーション名、ストリーム名、OSSストレージパスなどのファイルに関する情報が含まれます。 TSセグメントとM3U8インデックスファイルに関する情報は、ApsaraVideo Live に保存されます。 TSセグメントとM3U8インデックスファイルを含むファイルは、OSS に保存されます。
OSSに保存されているファイル の保存期間は、OSSバケットの設定によって決まります。
ApsaraVideo Liveは、TSセグメントに関する情報 を3か月間 のみ保存します。 M3U8インデックスファイルは、過去3か月の録音に対してのみ作成できます。
ApsaraVideo Liveは、M3U8インデックスファイルに関する情報 を6か月間 のみ保存します。 クエリできるのは、過去6か月間に作成されたM3U8インデックスファイルに関する情報だけです。
トランスコードされたストリームをマージまたは抽出する場合は、StreamNameをStreamName
_Transcoding template ID
に変更する必要があります。
<OssBucket> パラメーターで指定されたOSSバケットは、ドメイン名のライブセンターと同じリージョンに存在する必要があります。 それ以外の場合、ドメイン名を使用してM3U8インデックスファイルに関する情報を照会することはできません。
関連する API
録音の管理 録画を見る 次の3つの方法を使用して、OSSに保存されている録画を表示できます。
ApsaraVideo Liveコンソールの使用
ApsaraVideo Live コンソール にログインします。
左側のナビゲーションウィンドウで、[機能管理]> [記録] を選択します。 [録音] ページで、[録音] タブをクリックします。
ストリーミングドメインを選択します。
OSS タブをクリックして、録画を表示します。
API操作の呼び出し
Java // Replace the content in <> with actual values.
DefaultProfile profile = DefaultProfile.getProfile("<regionId>", "<ALIBABA_CLOUD_ACCESS_KEY_ID>", "<ALIBABA_CLOUD_ACCESS_KEY_SECRET>");
IAcsClient client = new DefaultAcsClient(profile);
DescribeLiveStreamRecordIndexFilesRequest describeLiveStreamRecordIndexFilesRequest=new DescribeLiveStreamRecordIndexFilesRequest();
describeLiveStreamRecordIndexFilesRequest.setAppName("<AppName>");
describeLiveStreamRecordIndexFilesRequest.setStreamName("<StreamName>");
describeLiveStreamRecordIndexFilesRequest.setDomainName("<DomainName>");
describeLiveStreamRecordIndexFilesRequest.setStartTime("<StartTime>");
describeLiveStreamRecordIndexFilesRequest.setEndTime("<EndTime>");
DescribeLiveStreamRecordIndexFilesResponse describeLiveStreamRecordIndexFilesResponse = null;
try {
describeLiveStreamRecordIndexFilesResponse = client.getAcsResponse(describeLiveStreamRecordIndexFilesRequest);
} catch (ClientException e) {
e.printStackTrace();
}
for(int i=0;i<describeLiveStreamRecordIndexFilesResponse.getRecordIndexInfoList().size();i++){
System.out.println(new Gson().toJson(describeLiveStreamRecordIndexFilesResponse.getRecordIndexInfoList().get(i)));
}
OSSサービスの使用
ライブストリーム録画機能を設定するときは、OSSで録画の保存場所を指定する必要があります。 OSSを使用して録画を表示する方法については、「リストオブジェクト 」をご参照ください。
録音の削除 ApsaraVideo Liveには、アプリケーション名、ストリーム名、OSSストレージパスなどの録画情報 が保存され、OSSには実際のファイル が保存されます。 ApsaraVideo Liveで録画を削除するときにOSSに保存されている関連ファイルを削除する場合は、AliyunMTSVideoLifecycleRoleロールを作成し、システムポリシーAliyunMTSVideoLifecycleRolePolicyをロールにアタッチ する必要があります。
権限付与手順
ApsaraVideo Liveコンソールで録画を削除する前に、次の操作を実行してリソースアクセス管理 (RAM) ロールを作成し、RAMロールに権限を付与します。
Alibaba CloudアカウントでRAMコンソール にログインします。
左側のナビゲーションウィンドウで、を選択します。
ロール ページで、ロールの作成 をクリックします。
ロールタイプの選択 ステップで、信頼できるエンティティの選択 セクションのAlibaba Cloudサービス を選択して、次へ をクリックします。
[ロールの設定] ステップで、次のパラメーターを設定します。
[ロールタイプ] を [通常のサービスロール] に設定します。
RAMロール名 フィールドにAliyunMTSVideoLifecycleRoleを入力します。
(オプション) ニーズに基づいて [メモ] フィールドにコンテンツを入力します。
[信頼できるサービスの選択] ドロップダウンリストから [メディアトランスコーディングサービス] を選択します。
[OK] をクリックします。
[完了] ステップでは、ロールが作成されたことを示すメッセージが表示されます。 ロールの詳細ページで、[正確な権限] をクリックします。
[正確な権限] パネルで、次のパラメーターを設定します。
[OK] をクリックします。
次の3つの方法を使用して、OSSに保存されている録音を削除できます。
ApsaraVideo Liveコンソールの使用
ApsaraVideo Live コンソール にログインします。
左側のナビゲーションウィンドウで、[機能管理]> [記録] を選択します。 [録音] ページで、録画 タブをクリックします。
録音を削除するドメイン名を選択します。
OSS タブをクリックして、削除する録音を見つけて、[アクション] 列の削除 をクリックします。
OK をクリックします。
デフォルトでは、「OSSに保存されている録画ファイルも削除」オプションは選択されていません。 このオプションを選択した場合、ApsaraVideo Liveコンソール で録画を削除すると、OSSに保存されている録画ファイルも削除されます。
OSSサービスの使用
ほとんどの場合、OSSに保存されている録画ファイルを直接削除することはお勧めしません。 OSSに保存されている録画ファイルを削除する場合は、ApsaraVideo Liveコンソールで録画を削除するときに [OSSに保存されている録画ファイルも削除] オプションを選択できます。 OSSに保存されている録画ファイルを直接削除する方法については、「オブジェクトの削除 」をご参照ください。
その他の情報 過去6か月間の記録データを照会できます。 6か月以上前に生成されたファイルを削除する場合は、OSSを使用できます。 詳細については、「オブジェクトの削除 」をご参照ください。
OSSバケット内の期限切れの録画ファイルを自動的に削除する場合は、ApsaraVideo LiveにOSSリソースへのアクセスを許可する必要があります。 これを行うには、[クラウドリソースアクセス許可] ページに移動し、[許可に同意する] をクリックします。 次に、チケットを起票します。 アフターセールスチームは、要件に基づいて有効期間を設定します。 チケットの起票方法の詳細については、「お問い合わせ 」をご参照ください。 有効期間を設定すると、ApsaraVideo LiveはOSSに保存されている期限切れの録画ファイルを自動的に削除できます。
説明 上記の操作を実行することで、ApsaraVideo Liveに他のAlibaba Cloudサービスのリソースへのアクセス権限を付与するロールが割り当てられます。 誤ってロールを削除した場合は、再度権限付与を実行できます。