このトピックでは、Web アプリケーションに Player SDK for Web を統合し、基本的なビデオ再生設定を完了する方法について説明します。
使用上の注意
このトピックでは、Player SDK for Web V2.25.1 を例として使用します。最新バージョンの使用を推奨します。Player SDK for Web の最新バージョンの詳細については、「ダウンロード URL」をご参照ください。
Player SDK for Web V2.14.0 以降は H.265 ビデオの再生をサポートし、Player SDK for Web V2.20.2 以降は H.266 ビデオの再生をサポートします。このトピックでは、H.264 ビデオを再生するように Player SDK for Web を設定する方法について説明します。H.265 および H.266 ビデオを再生するように Player SDK for Web を設定する方法の詳細については、「H.265 および H.266 ビデオを再生する」をご参照ください。
準備
Web サイトにバインドされたドメイン名とライセンスキーを取得済みであること。詳細については、「ライセンスの管理」をご参照ください。
ApsaraVideo Player for Web のクイックインテグレーション
以下の手順では、シンプルな Web プロジェクトに Player SDK for Web を統合して設定する方法を示します。React や Vue などのフロントエンドフレームワークを使用している場合は、ソースコードのデモを入手し、サンプルコードを参照して統合できます。詳細については、「デモのオンライン試用とソースコード」をご参照ください。
1. Player SDK for Web のインポート
NPM パッケージを使用したインポート
プロジェクトに
aliyun-aliplayer依存関係を追加します。npm install aliyun-aliplayer --saveコードにコードパッケージとスタイルファイルをインポートします。
import Aliplayer from 'aliyun-aliplayer'; import 'aliyun-aliplayer/build/skins/default/aliplayer-min.css';
script タグを使用したインポート
ApsaraVideo Player SDK for Web V2.16.3 以降では、JavaScript および CSS ファイルが保存されるパスが変更されました。
古いパス:
CSS: https://g.alicdn.com/de/prismplayer/version/skins/default/aliplayer-min.css
JS: https://g.alicdn.com/de/prismplayer/version/aliplayer-min.js
新しいパス:
CSS: https://g.alicdn.com/apsara-media-box/imp-web-player/version/skins/default/aliplayer-min.css
JS: https://g.alicdn.com/apsara-media-box/imp-web-player/version/aliplayer-min.js
<!--このトピックでは、Player SDK for Web V2.25.1 を例として使用します。他のバージョンを使用する場合は、バージョン番号を取得し、サンプルコードの 2.25.1 を目的のバージョン番号に置き換えてください。-->
<head>
<link rel="stylesheet" href="https://g.alicdn.com/apsara-media-box/imp-web-player/2.25.1/skins/default/aliplayer-min.css" /> // 必須。この CSS ファイルを追加する必要があります。
<script charset="utf-8" type="text/javascript" src="https://g.alicdn.com/apsara-media-box/imp-web-player/2.25.1/aliplayer-min.js"></script> // 必須。この .js ファイルを追加する必要があります。
</head>2. マウント要素の提供
<body> タグと <div> ノードを追加して、プレーヤー UI をマウントします。サンプルコード:
<body>
<div id="J_prismPlayer"></div>
</body>3. 初期化
Player SDK for Web は、id="J_prismPlayer" を持つ DOM ノードを検索し、そのノードにプレーヤー UI をレンダリングします。
var player = new Aliplayer({
id: 'J_prismPlayer',
license: {
// 準備で取得したドメイン名とライセンスキーを使用します
domain: "example.com", // ライセンスを申請したときに指定したドメイン名
key: "example-key" // ライセンスを申請した後に ApsaraVideo VOD コンソールに表示されるライセンスキー
}
});再生設定
次のセクションでは、さまざまなシナリオでのプレーヤーのパラメーター設定を示します。
オンデマンドビデオを再生する
URL に基づく再生
URL からビデオを再生するには、source パラメーターを再生 URL に設定する必要があります。サードパーティの VOD サービスまたは ApsaraVideo VOD に保存されているオーディオファイルまたはビデオファイルの再生 URL を指定できます。
GetPlayInfo 操作を呼び出して、ApsaraVideo VOD に保存されているメディアファイルの再生 URL を取得できます。ApsaraVideo VOD SDK を統合してメディア再生 URL を取得することをお勧めします。これにより、複雑な署名計算が不要になります。GetPlayInfo 操作の詳細については、「OpenAPI Explorer」をご参照ください。
var player = new Aliplayer(
{
id: "J_prismPlayer",
source: "<your play URL>", // サードパーティの VOD サービスまたは ApsaraVideo VOD に保存されているオーディオまたはビデオファイルの再生 URL。
},
function (player) {
console.log("プレーヤーが作成されました。");
}
);VID と PlayAuth に基づく再生
VID と PlayAuth に基づいてビデオを再生するには、vid パラメーターをオーディオまたはビデオ ID に設定し、playauth パラメーターを再生クレデンシャルに設定する必要があります。
オーディオまたはビデオファイルをアップロードした後、ApsaraVideo VOD コンソールにログインし、[メディアファイル] > [オーディオ/ビデオ] を選択して、オーディオまたはビデオファイルの ID を表示できます。または、SearchMedia 操作を呼び出して ID を取得することもできます。
GetVideoPlayAuth 操作を呼び出して、再生資格情報を取得できます。ApsaraVideo VOD SDK を統合してメディア再生の資格情報を取得することをお勧めします。これにより、複雑な署名計算が不要になります。GetVideoPlayAuth 操作の詳細については、「OpenAPI Explorer」をご参照ください。
この再生方法を使用することをお勧めします。STS ベースの再生と比較して、VidAuth ベースの再生は使いやすく、より安全です。2 つの再生方法の比較の詳細については、「資格情報と STS の比較」をご参照ください。
var player = new Aliplayer(
{
id: "J_prismPlayer",
width: "100%",
vid: "<your video ID>", // 必須。オーディオまたはビデオファイルの ID。例: 1e067a2831b641db90d570b6480f****。
playauth: "<your PlayAuth>", // 必須。再生資格情報。
// authTimeout: 7200, // 再生 URL の有効期間。単位: 秒。この設定は、ApsaraVideo VOD コンソールで設定した有効期間を上書きします。このパラメーターを空のままにすると、デフォルト値 7200 が使用されます。有効期間は、ビデオの実際の再生時間よりも長くする必要があります。そうしないと、再生が完了する前に再生 URL の有効期限が切れます。
},
function (player) {
console.log("プレーヤーが作成されました。");
}
);
STS に基づく再生
STS ベースの再生を使用する場合、再生資格情報ではなく一時的な STS トークンが使用されます。事前に AssumeRole 操作を呼び出して STS トークンを取得する必要があります。詳細については、「STS トークンの取得」をご参照ください。
var player = new Aliplayer(
{
id: "J_prismPlayer",
width: "100%",
vid: "<your video ID>", // 必須。オーディオまたはビデオファイルをアップロードした後、ApsaraVideo VOD コンソールにログインし、[メディアファイル] > [オーディオ/ビデオ] を選択して、オーディオまたはビデオファイルの ID を表示できます。または、ApsaraVideo VOD SDK が提供する SearchMedia 操作を呼び出して ID を取得することもできます。例: 1e067a2831b641db90d570b6480f****。
accessKeyId: "<your AccessKey ID>", // 必須。一時的な STS トークンが生成されるときに返される AccessKey ID。
securityToken: "<your STS token>", // 必須。STS トークン。STS トークンを取得するには、AssumeRole 操作を呼び出します。
accessKeySecret: "<your AccessKey Secret>", // 必須。一時的な STS トークンが生成されるときに返される AccessKey Secret。
region: "<region of your video>", // 必須。メディアアセットが存在するリージョンの ID (cn-shanghai、eu-central-1、ap-southeast-1 など)。
// authTimeout: 7200, // 再生 URL の有効期間。単位: 秒。この設定は、ApsaraVideo VOD コンソールで設定した有効期間を上書きします。このパラメーターを空のままにすると、デフォルト値 7200 が使用されます。有効期間は、ビデオの実際の再生時間よりも長くする必要があります。そうしないと、再生が完了する前に再生 URL の有効期限が切れます。
},
function (player) {
console.log("プレーヤーが作成されました。");
}
);暗号化再生
ApsaraVideo VOD は、Alibaba Cloud 専用の暗号化と DRM 暗号化をサポートしています。暗号化再生の詳細については、「Web ブラウザで暗号化されたビデオを再生する」をご参照ください。
ApsaraVideo Player for Web の初期化方法の詳細については、「パラメーター」をご参照ください。
ライブストリームを再生する
URL ベースのライブストリーミング
URL からコンテンツをストリーミングするには、source パラメーターをストリーミング URL に設定し、isLive パラメーターを true に設定する必要があります。
サードパーティのライブストリーミングサービスまたは ApsaraVideo Live のライブストリームのストリーミング URL を指定できます。ApsaraVideo Live コンソールには、ストリーミング URL の生成に役立つ URL ジェネレーターが用意されています。詳細については、「URL ジェネレーター」をご参照ください。
var player = new Aliplayer(
{
id: "J_prismPlayer",
source: "<your play URL>", // ストリーミング URL は、サードパーティのストリーミング URL または ApsaraVideo Live で生成されたストリーミング URL のいずれかです。
isLive: true, // ライブストリームを再生するかどうかを指定します。
},
function (player) {
console.log("プレーヤーが作成されました。");
}
);DRM で暗号化されたライブストリーミング
DRM 暗号化ライブストリーミングの詳細については、「暗号化されたビデオを再生する」をご参照ください。
リアルタイムストリーミング(RTS)
RTS を使用すると、追加のパラメーターを設定しなくても URL からビデオを再生できます。
ApsaraVideo Live コンソールの URL ジェネレーターを使用して RTS URL を生成できます。詳細については、「URL ジェネレーター」をご参照ください。
ApsaraVideo Player は、RTS SDK を統合することで RTS 再生を実装します。デフォルトでは、RTS SDK の最新バージョンが統合されています。パラメーターを設定して RTS SDK のバージョンを指定することもできます。たとえば、rtsVersion: '2.2.1' を指定します。
ブラウザが RTS をサポートしていない場合、または RTS 経由のストリームフェッチングが失敗した場合、システムは自動的に HTTP ライブストリーミングプロトコル(HLS)または HTTP Flash Video(HTTP-FLV)などのダウングレードされたプロトコルを介してストリームを再生します。ブラウザが FLV をサポートしている場合、システムは最初に FLV 経由でストリームを再生します。
var player = new Aliplayer(
{
id: "J_prismPlayer",
source: "<your play URL>", // RTS 再生 URL。artc:// プロトコルが使用されます。
isLive: true, // ライブストリームを再生するかどうかを指定します。
// rtsFallback: false, //オプション。RTS 再生代替機能を有効にするかどうかを指定します。デフォルト値: true。
// rtsFallbackType: 'HLS', //オプション。使用する代替プロトコル。HLS または FLV を指定できます。デフォルトでは、このパラメーターは空のままです。この場合、デフォルトのポリシーが使用され、システムは最初に FLV でストリームを再生しようとします。ブラウザが FLV をサポートしていない場合、システムは HLS でストリームを再生します。
// rtsFallbackSource: '<your play URL>', // オプション。使用する代替プロトコル。
// rtsVersion: 'x.x.x', // オプション。RTS SDK のバージョン。
},
function (player) {
console.log("プレーヤーが作成されました。");
}
);
// RTS 経由でストリームがプルされたときにトリガーされるイベント。このイベントをリッスンして TraceId を取得します。イベントコールバックでは、traceId はストリームフェッチングに使用される TraceId を示し、source は RTS ストリームの再生 URL を示します。
player.on("rtsTraceId", function (event) {
console.log("EVENT rtsTraceId", event.paramData);
});
// 代替プロトコルが再生に使用されるときにトリガーされるイベント。reason は代替の原因を示し、fallbackUrl は代替 URL を示します。
player.on("rtsFallback", function (event) {
console.log(" EVENT rtsFallback", event.paramData);
});
関連資料
プレーヤーオブジェクトのプロパティ、メソッド、およびイベント設定の詳細については、「API 操作」をご参照ください。