ApsaraVideo Player SDK は、MediaBox Audio and Video SDK のコンポーネントです。ライブストリーミングおよびビデオ・オン・デマンド (VOD) シナリオ向けのビデオ再生を提供します。この SDK は、Web、Android、iOS、Flutter、HarmonyOS、Windows、macOS など、複数のプラットフォームをサポートしています。このトピックでは、ApsaraVideo Player SDK の機能について説明します。
2025 年 2 月 14 日 (バージョン 7.0.0) から、モバイル ApsaraVideo Player SDK では Standard Edition に加えて Professional Edition が利用可能になります。Professional Edition を入手するには、当社の事業開発チームにお問い合わせください。ライセンスを取得した後、「プレーヤーライセンスのアクティブ化」の指示に従ってアクティブ化してください。
ApsaraVideo VOD、ApsaraVideo Live、または Intelligent Media Services のリソースに対する支出が特定の金額に達した場合、ApsaraVideo Player SDK の Professional Edition の 1 年間のライセンスを無料で受け取ることができます。詳細については、「ApsaraVideo Player SDK の課金」をご参照ください。
モバイル用 ApsaraVideo Player SDK の Professional Edition の新規取得ライセンスは、バージョン 7.0.0 以降のみをサポートします。ライセンスを取得する前に、アプリケーションに統合されている SDK のバージョンを確認してください。
標準機能
このセクションでは、Web、Android、iOS、Flutter、HarmonyOS クライアントを例として、ApsaraVideo Player SDK の標準機能について説明します。✔️ は機能がサポートされていることを示します。❌ は機能がサポートされていないことを示します。— は機能がクライアントに適用されないことを示します。
再生プロトコルとフォーマット
機能 | 説明 | Android | iOS | Flutter | HarmonyOS | Web |
オンデマンド再生 | FLV、HLS、MP4、MP3 などの一般的なオンデマンドオーディオおよびビデオフォーマットをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️。一部のモバイルクライアントは FLV フォーマットをサポートしていません。 |
ライブ再生 | RTMP、FLV、HLS などの一般的なライブストリーミングオーディオおよびビデオフォーマットをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️。RTMP プロトコルはサポートされていません。一部のモバイルクライアントは FLV フォーマットをサポートしていません。 |
タイムシフト | タイムシフトされたライブストリームの再生をサポートします。開始時刻、終了時刻、および現在サポートされている時刻を設定できます。ドラッグがサポートされています。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
H.264 エンコーディングプロトコル | H.264 エンコーディングプロトコルを使用するビデオストリームの再生をサポートします。ソフトウェアデコーディングとハードウェアデコーディングを切り替えることができます。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️。Web では、ソフトウェアまたはハードウェアのデコーディングはブラウザの設定に依存します。 |
H.265 エンコーディングプロトコル | H.265 エンコーディングプロトコルを使用するビデオストリームの再生をサポートします。ソフトウェアデコーディングとハードウェアデコーディングを切り替えることができます。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️。Web では、ソフトウェアまたはハードウェアのデコーディングはブラウザの設定に依存します。この機能を使用するには申請が必要です。詳細については、「付加価値機能」をご参照ください。 |
H.266 エンコーディングプロトコル | H.266 エンコーディングプロトコルを使用するビデオストリームの再生をサポートします。 | ✔️。(Professional Edition でのみサポートされます。H.266 デコーディングプラグインを統合する必要があります。) | ✔️。(Professional Edition でのみサポートされます。H.266 デコーディングプラグインを統合する必要があります。) | ❌ | ❌ | ✔️。Web では、ソフトウェアまたはハードウェアのデコーディングはブラウザの設定に依存します。この機能を使用するには申請が必要です。詳細については、「付加価値機能」をご参照ください。 |
H.265 適応再生 | H.265 ストリームのハードウェアデコーディングが失敗し、H.264 バックアップストリームが設定されている場合、プレーヤーは自動的に H.264 バックアップストリームに切り替わります。H.264 バックアップストリームが設定されていない場合、プレーヤーは自動的に H.265 ストリームのソフトウェアデコーディングに切り替わります。 | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ❌ | ❌ |
リアルタイムストリーミング(RTS) | 高い同時実行性、低スタッタリング、ミリ秒レベルのレイテンシーを実現する Alibaba Cloud リアルタイムストリーミング (RTS) をサポートします。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
低遅延ライブストリーミング | LL-HLS および DASH プロトコルを使用した低遅延ストリーム再生をサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
DASH プロトコル | SegmentBase や SegmentTemplate などの標準 DASH ビデオストリームの再生をサポートします。 | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️ |
QUIC アクセラレーション | QUIC トランスポートプロトコルをサポートし、ビデオ伝送効率を向上させます。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
HDR ビデオ再生 | HDR10 や HLG などの複数の HDR フォーマットをサポートします。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️。サポートはブラウザに依存します。 |
URL 再生 | URL からのオンラインおよびローカルビデオの再生をサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
VID 再生 | ビデオ ID (VID) を使用した再生をサポートします。プレーヤーは、利用可能な場合、複数の解像度のストリーミング URL を取得できます。例としては、VidAuth 再生や VidSts 再生があります。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
SEI メッセージ | Supplemental Enhancement Information (SEI) メッセージを受信して読み取ります。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
ネットワークプロトコル
機能 | 説明 | Android | iOS | Flutter | HarmonyOS | Web |
カスタムヘッダー | オーディオまたはビデオのリソースをリクエストする際に HTTP ヘッダーをカスタマイズします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️。MP4 ではサポートされていません。HLS および DASH では部分的にサポートされています。 |
クラウドドメイン名 HTTPDNS | 従来のローカル DNS を使用する代わりに、HTTP 経由で DNS サーバに名前解決リクエストを送信します。これにより、ドメインハイジャック、クロスネットワークアクセス問題、およびそれに伴う再生の失敗を防ぎます。(Alibaba Cloud のドメイン名のみがサポートされています)。 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
HTTP/2 | HTTP/2 をサポートします。バイナリフレーミング、多重化、ヘッダー圧縮などの機能により、Web パフォーマンスが大幅に向上し、データインタラクションのレイテンシーが削減されます。 | ✔️ | ✔️ | ✔️ | ✔️ | ブラウザのサポートに依存します。詳細については、「Can I use http2?」をご参照ください。 |
HTTP/3 | HTTP/3 をサポートします。QUIC プロトコルを使用して、より高速で優れたアクセラレーションを実現します。 | ✔️ | ✔️ | ✔️ | ✔️ | ブラウザのサポートに依存します。詳細については、「Can I use http3?」をご参照ください。 |
再生制御
機能 | 説明 | Android | iOS | Flutter | HarmonyOS | Web |
基本コントロール | 開始、停止、一時停止、シーク、自動再生などの基本的な再生コントロールをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
シーク | 特定の位置へのシークをサポートします (UI はジェスチャーをサポート)。バッファリングされたコンテンツ内でシークする場合、バッファーはクリアされず、高速なシークが可能です。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
正確なシーク | フレームレベルの精度で特定の位置へのシークをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ミリ秒レベルの精度での正確なシークをサポートします。 |
キャッシュ内シーク | バッファリングされたコンテンツ内でシークする場合、バッファーはクリアされず、高速なシークが可能です。 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
再生再開 | 開始時刻を設定して再生を再開することをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
ループ再生 | 再生終了後にオーディオまたはビデオを自動的にリプレイすることをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
リスト再生 | ショートビデオのリスト再生をサポートし、読み込み速度を向上させます。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
再生速度コントロール | 可変速再生をサポートします。速度を調整してもオーディオのピッチは変わりません。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
手動解像度切り替え | オンデマンドビデオストリームの複数の解像度間の切り替えをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
シームレスな切り替え | Alibaba Cloud のライブストリーミング URL の場合、再生中に異なる解像度のライブストリーム間をシームレスに切り替える (switchStream) ことで、ユーザーエクスペリエンスを向上させることができます。 | ✔️ | ✔️ | ✔️ | ❌ | ❌。HLS と DASH ではシームレスな切り替えがサポートされています。 |
オーディオトラックの切り替え | オンデマンドビデオストリームの複数のオーディオトラック間の切り替えをサポートします。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
スクリーンショット | 現在のビデオフレームをキャプチャして静止画像として保存することをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
画面ロック | 画面回転のロックや UI 要素の非表示を含む画面ロック機能をサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
外部字幕 | カスタム字幕ファイルのインポートをサポートします。Web クライアントは VTT 字幕をサポートし、モバイルクライアントは SRT、SSA、ASS、VTT 字幕をサポートします。 | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️。VTT 字幕をサポートします。 |
ビデオ効果
機能 | 説明 | Android | iOS | Flutter | HarmonyOS | Web |
パディング | 塗りつぶしとトリミングの 2 つの表示モードをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
回転 | ビデオのレンダリング角度を 0、90、180、または 270 度に設定することをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
ミラー | なし、水平、垂直の 3 つのミラーモードをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
サムネイルプレビュー(スプライト) | プログレスバーでのサムネイルプレビューをサポートします。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
明るさ調整 | システムの輝度調整をサポートします (UI はジェスチャーをサポート)。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
カスタムプレーヤーサイズ | カスタムのプレーヤー幅と高さをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
ピクチャーインピクチャー (PiP) 再生 | 小さなウィンドウでの再生のためにピクチャーインピクチャー (PiP) モードに切り替えることをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
オーディオ効果
機能 | 説明 | Android | iOS | Flutter | HarmonyOS | Web |
音量調整 | システム API を呼び出してビデオの音量を調整することをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
ミュート | ミュート機能の有効化と無効化をサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
オーディオのみの再生 | ビデオファイルからオーディオのみを再生するか、MP3 や AAC などの一般的なオーディオファイルを再生することをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
デュアルチャンネルオーディオ | デュアルチャンネルオーディオの再生をサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
複数オーディオトラック | 複数のオーディオトラックを持つビデオファイルの再生をサポートします。再生中にオーディオトラックを切り替えることができます (例: 英語から中国語へ)。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
バックグラウンド再生 | アプリがバックグラウンドに切り替わった後もオーディオ再生を継続することをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
再生パフォーマンス
機能 | 説明 | Android | iOS | Flutter | HarmonyOS | Web |
再生失敗時のリトライ | 再生が失敗した場合に自動的にリトライします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
自動再接続 | ライブストリームの自動再接続をサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
ローカルキャッシュ | ビデオの再生中に後続のコンテンツをローカルにキャッシュします。これはショートビデオシナリオでのループ再生に役立ち、ユーザートラフィックを節約します。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
プリロード | スライドウィンドウポリシーを使用して、ビデオのプリロードを動的に制御します。これにより、最初のフレームの読み込み速度と再生の滑らかさが大幅に向上し、高速スクロール時でもスムーズなエクスペリエンスが保証されます。 | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ❌ |
事前レンダリング | バックグラウンドで次のビデオの最初のフレームをプリレンダリングして、黒い画面を減らし、再生をよりスムーズにします。 | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ❌ | ❌ |
シナリオベースのマルチインスタンスデモ | ショートドラマなどの人気のあるシナリオ向けのシナリオベースのデモを提供します。デモには完全なソースコードが含まれており、簡単な統合、優れたインタラクティブエクスペリエンス、および最先端の技術パフォーマンスを特徴としています。 | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ❌ | ❌ |
複数インスタンス | 単一のインターフェイスに複数のプレーヤーを追加して同時再生することをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
適応ビットレートストリーミング | マルチビットレート HLS および DASH ストリームのシームレスな切り替えをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
動的フレーム同期 | ライブストリームの動的フレーム同期をサポートし、レイテンシーを削減します。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
高度な ABR ポリシー | 標準のアダプティブビットレート (ABR) ポリシーと比較して、高度な ABR ポリシーはマルチビットレート HLS または DASH ビデオストリームにより良く適応します。スタッタリングを大幅に削減し、平均再生ビットレートを向上させます。 | ✔️ (Professional Edition でのみサポート) | ✔️ (Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ✔️(Professional Edition でのみサポート) | ❌ |
インタラクティブ機能
機能 | 説明 | Android | iOS | Flutter | HarmonyOS | Web |
字幕 | カスタム字幕ファイルのインポートをサポートします。 | ✔️。SRT、SSA、ASS、VTT 字幕をサポートします。 | ✔️。SRT、SSA、ASS、VTT 字幕をサポートします。 | ✔️。SRT、SSA、ASS、VTT 字幕をサポートします。 | ❌。字幕テキストの解析のみがサポートされています。 | ✔️。VTT 字幕をサポートします。 |
ビデオセキュリティ
機能 | 説明 | Android | iOS | Flutter | HarmonyOS | Web |
Referer ブラックリストとホワイトリスト | 再生リクエストの referer フィールドからリクエストソースを識別します。ブラックリストまたはホワイトリストを使用して、さまざまなソースからのアクセスを制御できます。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
HLS 暗号化 | 標準の AES-128 暗号化スキームをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Alibaba Cloud 暗号化 (プライベート) | HLS (.m3u8) および MP4 ビデオ向けの Alibaba Cloud プライベート暗号化をサポートします。これにより、ビデオの漏洩やホットリンクを防ぎます。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️。一部のブラウザでサポートされています。詳細については、「機能の互換性」をご参照ください。 |
Alibaba Cloud ビデオ暗号化 (プライベートライセンスベース) | 暗号化されたビデオ URL から直接再生できます。標準の Alibaba Cloud プライベート暗号化と比較して、このメソッドは起動が速く、クロスリージョン再生サービスに適しています。 | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
セキュアダウンロード | 独自のアプリケーションを介してビデオをダウンロードおよび暗号化することをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | — |
商用 DRM | Widevine および Fairplay DRM 暗号化スキームをサポートします。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
サービス品質
機能 | 説明 | Android | iOS | Flutter | HarmonyOS | Web |
ログレポート | ApsaraVideo Player SDK ログのレポート、およびオンデマンドビデオとライブストリーミング再生のイベントトラッキングデータの収集をサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
再生問題の追跡 | ユーザーまたはセッションごとに再生履歴を追跡して、再生問題の原因を特定することをサポートします。 | ✔️。Free Edition では、過去 3 日間のデータをクエリできます。 | ✔️。Free Edition では、過去 3 日間のデータをクエリできます。 | ✔️。Free Edition では、過去 3 日間のデータをクエリできます。 | ✔️。Free Edition では、過去 3 日間のデータをクエリできます。 | ✔️。Free Edition では、過去 3 日間のデータをクエリできます。 |
再生データダッシュボード | 再生ボリュームや再生ユーザー数などのマクロデータをモニタリングすることをサポートします。 | ✔️。Free Edition では、過去 3 日間のデータをクエリできます。 | ✔️。Free Edition では、過去 3 日間のデータをクエリできます。 | ✔️。Free Edition では、過去 3 日間のデータをクエリできます。 | ✔️。Free Edition では、過去 3 日間のデータをクエリできます。 | ✔️。Free Edition では、過去 3 日間のデータをクエリできます。 |
開発者サポート
機能 | 説明 | Android | iOS | Flutter | HarmonyOS | Web |
レンダリング済みデータ出力 | レンダリング中に PCM および YUV データを出力することをサポートします。 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
イベント コールバック | 再生ステータス、最初のフレーム、再生完了、再生失敗のコールバックをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
デコーディングポリシーブラックリスト | ハードウェアデコーディングをサポートしないデバイスモデルのリストと、最適化サポートを提供します。 | ✔️ | ✔️ | ✔️ | ❌ | — |
ネットワーク速度表示 | プレーヤーインスタンスのリアルタイムネットワーク速度レポートをサポートします。 | ✔️ | ✔️ | ✔️ | ✔️ | リアルタイムストリーミング (RTS) でのみサポートされます。 |
UI コンポーネント | 必要に応じて使用できる完全な UI が含まれています。 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
付加価値機能
このセクションでは、Web、Android、iOS、Flutter、HarmonyOS クライアントを例として、ApsaraVideo Player SDK の付加価値機能について説明します。これらの機能を使用するには、まずチケットを送信して付加価値サービスを申請し、アクティブ化してください。✔️ は機能がサポートされていることを示します。❌ は機能がサポートされていないことを示します。— は機能がクライアントに適用されないことを示します。
機能 | 機能概要 | Android | iOS | Flutter | HarmonyOS | Web |
Web での H.265/H.266 ビデオ再生 | H.265 エンコーディングプロトコルを使用するビデオストリームの再生をサポートします。ソフトウェアデコーディングとハードウェアデコーディングを切り替えることができます。詳細については、「高度な機能」をご参照ください。 説明 Web 用 ApsaraVideo Player SDK を使用して H.265 ビデオを再生するには、まずチケットを送信するか、Alibaba Cloud のビジネスマネージャーに連絡して機能をアクティブ化してください。 | ❌ | ❌ | ❌ | ❌ | ✔️ |