ApsaraVideo VOD は、音声と動画の管理、処理、配信のためのオールインワンプラットフォームです。このトピックでは、ApsaraVideo VOD の利用を開始し、安全でコスト効率の高い、本番環境に対応した動画再生ソリューションを構築する方法について説明します。
前提条件
-
ApsaraVideo VOD コンソール にサインインし、サービスを有効にします。課金方法として、従量課金 (後払い) またはリソースプラン (前払い) を選択できます。詳細については、「課金概要」をご参照ください。
ApsaraVideo VOD では、新規ユーザー向けにサービスをお試しいただける無料トライアルを提供しています。
リージョンの選択
ApsaraVideo VOD サービスは、リージョンごとに分離されています。ユーザーに近いリージョンを選択すると、ネットワーク遅延が低減され、データ転送効率が向上します。さらに、利用できる機能はリージョンによって異なります。詳細については、「リージョン」をご参照ください。
ソリューションのセットアップ
ステップ 1: ストレージの設定
-
ApsaraVideo VOD コンソールで、[ストレージ管理] に移動します。上部メニューで、対象のリージョンを選択します。
-
[VOD システムバケットの有効化] をクリックし、ストレージ冗長タイプを選択します。ビジネスでより高い可用性が求められる場合は、ゾーン冗長ストレージ (ZRS) を推奨します。
-
標準ストレージ - ゾーン冗長ストレージ (ZRS)
ZRS は、複数のアベイラビリティーゾーン (AZ) にまたがるデータ冗長化メカニズムを使用します。同じリージョン内の複数の AZ にデータの冗長コピーを保存します。1 つのアベイラビリティーゾーンが利用できなくなっても、データへのアクセスは維持されます。[VOD システムバケットの有効化] ダイアログボックスで、[ストレージ冗長タイプ] を [ゾーン冗長ストレージ (推奨)] に設定します。ZRS を選択すると、LRS に変換することはできません。[有効化] をクリックします。
-
標準ストレージ - ローカル冗長ストレージ (LRS)
LRS は、単一のアベイラビリティーゾーン (AZ) 内のデータ冗長化メカニズムを使用します。単一の AZ 内の複数施設にわたる複数のデバイスにデータの冗長コピーを保存し、ハードウェア障害が発生した場合でもデータの耐久性と可用性を確保します。[VOD システムバケットの有効化] ダイアログボックスで、[有効化] をクリックします。注意: LRS を選択し、その AZ が利用できなくなった場合、データにアクセスできなくなります。より高い可用性を確保するため、[ゾーン冗長ストレージ] を選択することを推奨します。
ストレージロケーションの有効化には時間がかかる場合があります。使用する前に、ストレージロケーションのステータスが [正常] に変わるまでお待ちください。
-
ステップ 2: 音声と動画のアップロード
ファイルをアップロードする前に、トランスコードテンプレートグループを設定してください。これにより、アップロード後に動画が自動的に複数の出力品質にトランスコードされるようになります。これにより、再生エクスペリエンスが向上し、帯域幅の使用量が削減されます。
-
(任意) ApsaraVideo VOD コンソールで [トランスコードテンプレートグループ] に移動し、[トランスコードテンプレートグループの追加] をクリックしてグループを設定し、設定を保存します。詳細については、「音声と動画のトランスコーディング」をご参照ください。
-
アップロード方法を選択します。
-
SDK を使用したアップロード (本番環境での使用を推奨)
バックエンドサービスが SDK を呼び出してアップロード認証情報を取得します。その後、クライアント (Web またはアプリ) はこの認証情報を使用して、ファイルを直接 ApsaraVideo VOD にアップロードします。これは最も安全で効率的な方法です。
説明詳細なコード例については、「メディアアップロードの概要」をご参照ください。
python# Python の例: バックエンドサービスからアップロード用の認証情報とアドレスを取得します。 from aliyunsdkvod.request.v20170321 import CreateUploadVideoRequest from aliyunsdkcore.client import AcsClient import json # 1. クライアントを初期化します。 # プレースホルダーをお客様の AccessKey ID、AccessKey シークレット、リージョン ID に置き換えてください。 client = AcsClient('your-access-key-id', 'your-access-key-secret', 'cn-shanghai') # 2. API リクエストを作成し、パラメーターを設定します。 request = CreateUploadVideoRequest.CreateUploadVideoRequest() request.set_Title('My Test Video') request.set_FileName('video_test.mp4') # request.set_TemplateGroupId('your-transcode-template-group-id') # (任意) トランスコードテンプレートを指定します。 # 3. リクエストを送信し、レスポンスを取得します。 response = client.do_action_with_exception(request) response_data = json.loads(response) # 4. UploadAddress と UploadAuth の値をクライアントに返します。 upload_address = response_data['UploadAddress'] upload_auth = response_data['UploadAuth'] video_id = response_data['VideoId'] # クライアントが認証情報を取得した後、アップロード SDK を使用してファイルのアップロードを完了します。 -
コンソールからのアップロード (少数の小さなファイルのアップロードやテストに適しています)
ApsaraVideo VOD コンソールで [メディアライブラリ] に移動し、[オーディオ/ビデオ] を選択し、[オーディオ/ビデオのアップロード] をクリックします。[オーディオ/ビデオのアップロード] ページで、[ローカルアップロード] を選択してファイルを追加します。
-
オンライン動画のインポート (ファイルがオンラインでホストされている場合のサイト移行に適しています)。詳細については、「オンライン動画のインポート」をご参照ください。
-
Windows クライアント (複数の大きなファイルを一括でアップロードするのに適しています)。詳細については、「Windows クライアントを使用したファイルのアップロード」をご参照ください。
-
ステップ 3: CDN ドメイン名の設定 (任意)
直接再生 URL を使用して動画を再生する場合、ストレージアウトバウンドトラフィックに対して課金されます。CDN ドメイン名 を設定すると、ストレージアウトバウンドトラフィック料金と比較して、CDN サービス料金が の割引価格で利用できます。詳細については、「CDN ドメイン名の追加」をご参照ください。
ステップ 4: プレーヤーの統合
-
再生認証情報の取得 (本番環境での使用を推奨)
-
バックエンド API の呼び出し
バックエンドサービスが API を呼び出して、各再生リクエストに対して時間制限のある再生認証情報 (PlayAuth) を動的に生成します。
python# Python の例: 再生認証情報を取得します。 from aliyunsdkvod.request.v20170321 import GetVideoPlayAuthRequest # クライアントはアップロード手順で初期化済みです。 request = GetVideoPlayAuthRequest.GetVideoPlayAuthRequest() request.set_VideoId('your-video-id') # プレースホルダーを実際の VideoId に置き換えてください。 request.set_AuthInfoTimeout(3000) # 認証情報の有効期間 (秒単位)。この例では 50 分です。 response = client.do_action_with_exception(request) play_auth = json.loads(response)['PlayAuth'] # 取得した play_auth と VideoId の値をフロントエンドに返します。 -
フロントエンドプレーヤーの統合
フロントエンドプレーヤーは、バックエンドから取得した
vidとplayAuthを使用して再生を初期化します。Web
<!-- Web プレーヤーの例 --> <div id="player-container"></div> <script src="https://g.alicdn.com/de/prismplayer/2.15.2/aliplayer-min.js"></script> <script> var player = new Aliplayer({ id: 'player-container', width: '100%', height: '500px', vid: 'your-video-id', // バックエンドから取得 playauth: 'your-play-auth', // バックエンドから取得 cover: 'https://your-domain.com/cover.jpg' // カバー画像の URL }, function (player) { console.log('プレーヤーが作成されました。'); }); </script>Android
// 1. プレーヤーを作成 AliPlayer player = AliPlayerFactory.createAliPlayer(context); // 2. 再生ソースを設定 VidAuth vidAuth = new VidAuth(); vidAuth.setVid("your-video-id"); vidAuth.setPlayAuth("your-play-auth"); vidAuth.setRegion("cn-shanghai"); // リージョンを設定 // 3. 再生を準備 player.setDataSource(vidAuth); player.prepare();iOS
// 1. プレーヤーを作成 let player = AliPlayer() // 2. 再生ソースを設定 let vidAuth = AVPVidAuthSource() vidAuth.vid = "your-video-id" vidAuth.playAuth = "your-play-auth" vidAuth.region = "cn-shanghai" // リージョンを設定 // 3. 再生を準備 player.setSource(vidAuth) player.prepare()
-
-
URL 署名の使用
URL 署名では、署名情報を直接 URL に追加します。この方法は、再生認証情報を使用するよりもセキュリティが低く、プレーヤーを変更できないシナリオに適しています。詳細については、「URL 署名」をご参照ください。
-
Web プレーヤーデモの使用
音声と動画のアップロードをテストまたは実験する際には、Web プレーヤーデモ を使用することもできます。
-
ApsaraVideo VOD コンソールで [メディアライブラリ] に移動し、[オーディオ/ビデオ] を選択し、対象の動画の 管理 列にある [管理] をクリックします。
-
ビデオ URL タブをクリックします。特定の解像度の 操作 列で、コピー をクリックします。
-
再生 URL を Web プレーヤーに貼り付けて再生を開始します。
-
次のステップ
-
トランスコードテンプレート (「音声と動画のトランスコーディング」) を設定すると、アップロードされた動画を自動的に複数の解像度にトランスコードできます。
-
ワークフロー を設定すると、トランスコーディング、スナップショット作成、ウォーターマークなどのタスクでアップロードされた動画を自動的に処理できます。
-
動画編集 (「動画編集」) を使用すると、オンラインまたは API や SDK を通じて動画を専門的に編集できます。
-
CDN ドメイン名 (「CDN ドメイン名の追加」) を設定すると、動画のアップロードとダウンロードを高速化し、トラフィックコストを削減できます。
よくある質問
一括アップロード
PC クライアント、オンライン動画のインポート、またはアップロード SDK を使用して、音声および動画ファイルを一括でアップロードできます。詳細については、「メディアアップロードの概要」をご参照ください。
OSS から ApsaraVideo VOD への移行
-
次の要件を満たしている場合、Object Storage Service (OSS) バケットを ApsaraVideo VOD に追加できます。
-
対象リージョンに標準ストレージクラスを使用する OSS バケットが必要です。
-
[クラウドリソースアクセス承認] ページで、ApsaraVideo VOD が OSS リソースにアクセスすることを承認する必要があります。
-
-
ソースファイルの URL を準備した後、アップロードツールを使用してファイルを移行することもできます。詳細については、「メディアアップロードの概要」をご参照ください。