ApsaraVideo Player SDK for Web を Web アプリケーションに統合し、基本的な動画再生を設定します。
使用上の注意
本ドキュメントでは、ApsaraVideo Player SDK for Web V2.25.1 を例として使用しています。最新バージョンの使用を推奨します。ダウンロードについては、「ApsaraVideo Player SDK のダウンロード」をご参照ください。
ApsaraVideo Player SDK for Web V2.14.0 以降は H.265 動画再生に対応し、V2.20.2 以降は H.266 に対応しています。本ドキュメントでは H.264 について説明します。H.265 および H.266 については、「H.265 および H.266 動画の再生」をご参照ください。
事前準備
Web サイトのドメイン名とライセンスキーを取得済みであること。「ライセンスの管理」をご参照ください。
AI Skill を使用したクイックアクセス
Agent Skills に対応している AI プログラミングツール (Qoder や Claude Code など) を使用する場合、プレーヤー公式の Skill をインストールすることで、AI が直接実行可能な統合コードを生成します。
インストール
方法 1:プロジェクトのルートディレクトリでコマンドを実行して自動インストールします。
npx skills add https://player.alicdn.com/file/aliplayer-web-setup.tar.gz方法 2:「圧縮パッケージを手動でダウンロード」し、AI プログラミングツールの skills ディレクトリに配置します。
aliplayer-web-setup ディレクトリを対応するツールの skills ディレクトリにコピーします。例:
グローバルで有効:~/.qoder/skills/aliplayer-web-setup/
現在のプロジェクトでのみ有効:<プロジェクトルートディレクトリ>/.qoder/skills/aliplayer-web-setup/
他の AI プログラミングツールの skills ディレクトリパスについては、公式ドキュメントをご参照ください。
説明どちらの方法でインストールした場合でも、Skill を有効化するために AI プログラミングツールを再起動する必要があります。
使用方法
自然言語で要件を記述してください。例:React プロジェクトで Aliyun プレーヤーを統合し、オンデマンドビデオを再生したいです。プライベート暗号化も必要です。
AI は、フロントエンドフレームワーク、オンデマンド/ライブ配信、暗号化の有無、動画ソースモードなどの情報を最初に確認し、その後、完全なプレーヤー統合コードを出力します。
生成されたコードはデフォルトでテストライセンスを使用しており、ローカルデバッグに限定されます。本番環境で利用するには、コンソールで申請した正式ライセンスに置き換える必要があります。詳細については、「ライセンスの管理」をご参照ください。
手動でのクイックアクセス
以下の手順では、基本的な Web プロジェクトに ApsaraVideo Player SDK for Web を統合します。React または Vue の場合は、「オンライン試用版とデモソースコード」からデモをダウンロードしてください。
1. Web SDK のインポート
NPM パッケージを使用したインポート
プロジェクトに
aliyun-aliplayer依存関係を追加します。npm install aliyun-aliplayer --saveコード内で、コードパッケージとスタイルファイルをインポートします。
import Aliplayer from 'aliyun-aliplayer'; import 'aliyun-aliplayer/build/skins/default/aliplayer-min.css';
script タグを使用したインポート
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
<!-- 本ドキュメントでは、Web SDK 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> タグと、プレーヤー UI をマウントするための <div> ノードを追加します。サンプルコード:
<body>
<div id="J_prismPlayer"></div>
</body>3. SDK の初期化
SDK は id="J_prismPlayer" を持つ DOM ノードを特定し、プレーヤー UI をレンダリングします。
var player = new Aliplayer({
id: 'J_prismPlayer',
license: {
// 準備したドメイン名とライセンスキーを使用します
domain: "example.com", // ライセンス申請時に指定したドメイン名
key: "example-key" // ライセンス申請後に ApsaraVideo VOD コンソールに表示されるライセンスキー
}
});動画の再生
さまざまなシナリオに応じてプレーヤーを設定します。
オンデマンドビデオの再生
URL ベースの再生
source パラメーターを、サードパーティサービスまたは ApsaraVideo VOD のメディアファイルの再生 URL に設定します。
ApsaraVideo VOD のメディアファイルの再生 URL を取得するには、GetPlayInfo API を呼び出します。複雑な署名計算を避けるため、ApsaraVideo VOD SDK の統合を推奨します。OpenAPI Explorer で API をお試しください。
var player = new Aliplayer(
{
id: "J_prismPlayer",
source: "<your play URL>", // サードパーティ VOD サービスまたは ApsaraVideo VOD に保存されているメディアファイルの再生 URL。
},
function (player) {
console.log("プレーヤーが作成されました。");
}
);VID と PlayAuth に基づく再生
vid をメディア ID に、playauth を再生認証情報に設定します。
メディアファイルをアップロードした後、ApsaraVideo VOD コンソールの [メディアファイル] > [オーディオ/ビデオ] でその ID を確認できます。または、SearchMedia API を呼び出します。
GetVideoPlayAuth API を呼び出して再生認証情報を取得します。複雑な署名計算を避けるため、ApsaraVideo VOD SDK の統合を推奨します。OpenAPI Explorer で API をお試しください。
VidAuth ベースの再生は、シンプルさとセキュリティの観点から STS よりも推奨されます。比較については、「認証情報方式と 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 API を呼び出して STS トークンを取得します。詳細については、「STS トークンの取得」をご参照ください。
var player = new Aliplayer(
{
id: "J_prismPlayer",
width: "100%",
vid: "<your video ID>", // 必須。オーディオまたはビデオファイルをアップロードした後、ApsaraVideo VOD コンソールにログインし、[メディアファイル] > [オーディオ/ビデオ] を選択してオーディオまたはビデオファイルの ID を確認できます。または、ApsaraVideo VOD SDK が提供する SearchMedia API を呼び出して ID を取得できます。例:1e067a2831b641db90d570b6480f****。
accessKeyId: "<your AccessKey ID>", // 必須。一時 STS トークンの生成時に返される AccessKey ID。
securityToken: "<your STS token>", // 必須。STS トークン。STS トークンを取得するには、AssumeRole API を呼び出します。
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("プレーヤーが作成されました。");
}
);STS を使用してプレーヤーを初期化すると、ApsaraVideo Player SDK は GetPlayInfo リクエストを vod.{region}.aliyuncs.com に送信して再生 URL を取得します。ネットワークがこのドメインにアクセスできない場合 (例:イントラネット環境) 、リクエストがタイムアウトまたは失敗し、初期化コールバック関数が呼び出されず、「プレーヤーが作成されました。」 がコンソールに出力されません。ネットワークが vod.{region}.aliyuncs.com および CDN アクセラレーションドメイン名にアクセスできることを確認してください。
暗号化再生
ApsaraVideo VOD は、Alibaba Cloud 独自の暗号化と DRM 暗号化に対応しています。「Web ブラウザで暗号化された動画を再生する」をご参照ください。
すべての初期化オプションについては、「パラメータ」をご参照ください。
ライブストリームの再生
URL ベースのライブストリーミング
source をストリーミング URL に、isLive を true に設定します。
ストリーミング URL は、サードパーティサービスまたは ApsaraVideo Live から取得できます。ApsaraVideo Live コンソールの「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 暗号化ライブストリーミングについては、「暗号化された動画の再生」をご参照ください。
Real-Time Streaming (RTS)
RTS は、追加パラメータなしで URL から動画を再生します。
ApsaraVideo Live コンソールの「URL ジェネレータ」を使用して RTS URL を生成します。
プレーヤーは RTS 再生のために RTS SDK を統合しています。デフォルトで「最新バージョン」が使用されます。rtsVersion パラメータでオーバーライドできます。
RTS が利用できない場合、プレーヤーは HLS または HTTP-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>', // オプション。フォールバック再生に使用する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);
});
関連ドキュメント
プレーヤーのプロパティ、メソッド、イベントについては、「Aliplayer API リファレンス」をご参照ください。