アダプティブビットレートストリーミングは、指定されたオーディオストリームとビデオストリームを単一のアダプティブストリームファイルにパッケージ化します。これにより、プレーヤーはユーザーのネットワーク帯域幅に基づいて、再生に最適なストリームを自動的に選択できます。このトピックでは、ビデオをトランスコードしてアダプティブビットレートストリームを生成する方法について説明します。
アダプティブビットレートストリーミングとは
アダプティブビットレートストリーミングは、複数のオーディオストリームとビデオストリームを単一のアダプティブストリームファイルにパッケージ化します。このファイルには、各ストリームのビットレートや解像度などの情報が含まれています。従来の単一ビットレート再生と比較して、アダプティブビットレートファイルを使用すると、プレーヤーは現在のネットワーク状況やデバイスに最も適したストリームを選択できるため、視聴体験が向上します。
アダプティブビットレートストリーミングで最も広く使用されている出力形式は HLS と DASH です。現在、ApsaraVideo VOD は HLS 形式でのみアダプティブビットレートストリームの生成に対応しています。
デモンストレーション
再生プレビューモードでは、ApsaraVideo Player で画質の切り替えが可能です。プレーヤーの右下隅にある設定アイコンをクリックすると、画質選択パネルが開きます。パネルには、標準画質、高画質、自動 (高画質) の 3 つのオプションがあります。この例では、自動 (高画質) が選択されています。
使用方法
コンソール
ステップ 1:テンプレートグループの作成
まず、トランスコードジョブ用にアダプティブビットレートトランスコードテンプレートグループを作成する必要があります。
詳細については、「トランスコードテンプレート」をご参照ください。
ステップ 2 (オプション):ワークフローの作成と関連付け
トランスコード、コンテンツレビュー、スナップショット作成などのさまざまなメディア処理タスクを、ワークフロー内で特定の順序に設定できます。メディアのアップロード中またはアップロード後にワークフローをトリガーすると、あらかじめ定義された順序に従ってメディアファイルが自動的に処理されます。
ワークフローを作成し、それにメディアトランスコードノードを追加して、そのノードを前のステップで作成したアダプティブビットレートトランスコードテンプレートグループに関連付けることができます。詳細については、「ワークフローの管理」をご参照ください。
ステップ 3:トランスコードの開始
ビデオをトランスコードするには、前のステップで作成したトランスコードテンプレートグループまたはワークフローを使用します。
アップロード中
-
ApsaraVideo VOD コンソールにログインします。
-
左側のナビゲーションペインで、メディアファイル > [オーディオ/ビデオ] を選択し、[オーディオ/ビデオのアップロード] をクリックします。
-
[オーディオ/ビデオの追加] をクリックし、アップロード方法やストレージの場所などのパラメーターを設定してから、トランスコードテンプレートグループでの処理 または ワークフローでの処理 を選択します。作成したアダプティブビットレートトランスコードテンプレートグループまたはワークフローを指定します。
サポートされている形式とパラメーター設定の詳細については、「コンソールでのメディアファイルのアップロード」をご参照ください。
-
アップロードするオーディオファイルとビデオファイルを追加した後、アップロード をクリックします。
アップロード後
この操作は通常、既存のビデオを再トランスコードしたり、標準暗号化を適用したり、ウォーターマークパラメーターを上書きしたりするために使用します。
-
ApsaraVideo VOD コンソールにログインします。
-
左側のナビゲーションペインで、メディアファイル > [オーディオ/ビデオ] を選択します。
-
[オーディオ/ビデオ] ページで、トランスコードするオーディオまたはビデオファイルを見つけ、処理 列の [処理] をクリックします。
-
トランスコードテンプレートグループでの処理 または ワークフローでの処理 を選択し、アダプティブビットレートトランスコードテンプレートグループまたはワークフローを指定します。表示される [メディア処理] ダイアログボックスで、[処理タイプ] を [トランスコードテンプレートグループを使用] に設定し、[トランスコードテンプレートグループ] を [マルチビットレートパッケージング] に設定します。
-
OK をクリックします。
ステップ 4:結果の表示
トランスコードジョブが開始された後、次のいずれかの方法を使用してステータスを確認し、トランスコードされたビデオの再生 URL を取得します。これらの再生 URL は、ApsaraVideo Player またはサードパーティ製のプレーヤーで使用できます。
ApsaraVideo VOD で高速化ドメイン名を設定しない場合、再生 URL からビデオを再生またはダウンロードする際にアウトバウンドトラフィック料金が発生します。詳細については、「アウトバウンドトラフィックの課金」をご参照ください。
方法 1:コンソール
-
ApsaraVideo VOD コンソールにログインします。
-
左側のナビゲーションペインで、メディアファイル > [オーディオ/ビデオ] を選択します。
-
[オーディオ/ビデオ] ページで、トランスコードされたメディアファイルのステータスを確認します。
ステータスが 正常 の場合は、トランスコードが正常に完了したことを示します。他のステータスの定義については、「ステータス:ビデオステータス」をご参照ください。
-
トランスコードされたメディアファイルの 管理 列にある [管理] をクリックし、ビデオ URL タブに移動します。
正常にトランスコードされると、1 つのアダプティブストリーム、複数のトランスコード済みストリーム、およびそれに対応する再生 URL が生成されます。
トランスコードが完了すると、[ビデオ URL] タブのテーブルに、元のファイル (MP4) と、生成された 3 つの出力ストリーム ([標準画質]、[高画質] (m3u8 形式)、[アダプティブ]) が表示されます。テーブルには、各ストリームの画質、形式、解像度、ビットレート、URL、サイズが表示されます。
方法 2:イベント通知
ApsaraVideo VOD は、HTTP/HTTPS コールバックと MNS メッセージによるイベント通知に対応しています。イベント通知を設定することで、アップロードやトランスコードの完了など、メディアファイルが処理されたときに迅速に通知を受け取ることができます。コールバック結果からトランスコードジョブのステータスとトランスコードされたビデオの再生 URL を取得できます。設定手順については、「イベント通知」をご参照ください。
トランスコードに関連するイベントは次のとおりです:
API
使用方法
API 操作の呼び出し方法については、「ApsaraVideo VOD API 概要」をご参照ください。Alibaba Cloud が提供するオンライン API デバッグツールである OpenAPI Explorer を使用することを推奨します。OpenAPI Explorer を使用すると、署名を計算することなく ApsaraVideo VOD API を直接実行できます。リクエストが成功すると、OpenAPI Explorer により、SDK のサンプルコードが自動的に生成されます。
ステップ 1:アダプティブビットレートテンプレートグループの作成
まず、トランスコードジョブ用にアダプティブビットレートトランスコードテンプレートグループを作成する必要があります。
-
AddTranscodeTemplateGroup API を呼び出し、
TranscodeTemplateパラメーターを使用してパッケージングテンプレートを設定します。ここでは、パッケージングテンプレートに固有のパラメーターのみを説明します。すべてのパラメーターの詳細については、「TranscodeTemplate:トランスコードテンプレートの設定」をご参照ください。
ステップ 2:(オプション) ワークフローの作成と関連付け
トランスコード、コンテンツレビュー、スナップショット作成などのさまざまなメディア処理タスクを、ワークフロー内で特定の順序に設定できます。メディアのアップロード中またはアップロード後にワークフローをトリガーすると、あらかじめ定義された順序に従ってメディアファイルが自動的に処理されます。
現在、ワークフローは ApsaraVideo VOD コンソールでのみ作成できます。詳細については、「ワークフローの管理」をご参照ください。
ステップ 3:トランスコードの開始
ビデオをトランスコードするには、前のステップで作成したトランスコードテンプレートグループまたはワークフローを使用します。
アップロード中
CreateUploadVideo API は、アップロード URL と認証情報を取得し、基本的なメディアアセット情報を作成するためのものです。ファイルのアップロードは行いません。独自のアップロードロジックを実装する必要があります。API を呼び出してメディアファイルをアップロードする完全な例については、「ApsaraVideo VOD API を使用したメディアファイルのアップロード」をご参照ください。
-
CreateUploadVideo API または UploadMediaByURL API を呼び出してメディアファイルをアップロードする際に、
TemplateGroupIdパラメーターでトランスコードテンプレートグループ ID を指定するか、WorkflowIdパラメーターでトランスコードノードを含むワークフローの ID を指定します。アップロードが完了すると、指定されたテンプレートグループまたはワークフローに基づいて自動的にトランスコードが開始されます。
アップロード後
この操作は通常、既存のビデオを再トランスコードしたり、標準暗号化を適用したり、ウォーターマークパラメーターを上書きしたりするために使用します。
-
SubmitTranscodeJobs API を呼び出し、
TemplateGroupIdパラメーターでトランスコードテンプレートグループ ID を指定します。または、SubmitWorkflowJob API を呼び出し、WorkflowIdパラメーターでトランスコードノードを含むワークフローの ID を指定します。ジョブを手動で開始すると、設定に基づいて直ちにメディアファイルのトランスコードが開始されます。
ステップ 4:結果の表示
トランスコードジョブが開始された後、次のいずれかの方法を使用してステータスを確認し、トランスコードされたビデオの再生 URL を取得します。これらの再生 URL は、ApsaraVideo Player またはサードパーティ製のプレーヤーで使用できます。
ApsaraVideo VOD で高速化ドメイン名を設定しない場合、再生 URL からビデオを再生またはダウンロードする際にアウトバウンドトラフィック料金が発生します。詳細については、「アウトバウンドトラフィックの課金」をご参照ください。
方法 1:API クエリ
SubmitTranscodeJobs API を呼び出してトランスコードジョブを送信すると、トランスコードタスク ID (TranscodeTaskId) が返されます。その後、GetTranscodeTask API を呼び出してタスクのステータスと出力ビデオの再生 URL をクエリできます。
方法 2:イベント通知
ApsaraVideo VOD は、HTTP/HTTPS コールバックと MNS メッセージによるイベント通知に対応しています。イベント通知を設定することで、アップロードやトランスコードの完了など、メディアファイルが処理されたときに迅速に通知を受け取ることができます。コールバック結果からトランスコードジョブのステータスとトランスコードされたビデオの再生 URL を取得できます。設定手順については、「イベント通知」をご参照ください。
トランスコードに関連するイベントは次のとおりです:
次のステップ
アダプティブビットレートストリーミング用にプレーヤーを設定した後、生成されたアダプティブストリームをプレーヤーで再生します。これにより、プレーヤーはネットワーク状況に基づいてビデオの画質を自動的に切り替えたり、ユーザーが手動で画質や字幕を切り替えたりすることができます。
ApsaraVideo Player SDK でこの機能を設定する方法については、次のトピックをご参照ください。
-
ApsaraVideo Player SDK for Android:「ネットワーク状況に応じたビデオ画質の切り替え」
-
ApsaraVideo Player SDK for iOS:「ネットワーク状況に応じたビデオ画質の切り替え」
-
ApsaraVideo Player SDK for Web:「マルチビットレート HLS ストリームのアダプティブビットレート切り替え」