Vega向けReact NativeのW3C Media API
Vegaメディアプレーヤーは、W3C(World Wide Web Consortium)Media APIの機能を、Fire TVデバイス上のReact Nativeアプリで利用できるようにします。ウェブ開発で使い慣れた標準仕様である、<video>要素やHTMLMediaElementなどを使用できます。
Vegaメディアプレーヤーは、基本的なメディア再生用のHTMLMediaElement、アダプティブストリーミング用のMedia Source Extensions(MSE)、DRMコンテンツ保護用のEncrypted Media Extensions(EME)をサポートしています。メディアプレーヤースタックは、VegaデバイスのGStreamerフレームワーク上で動作し、ハードウェアアクセラレーションによるデコーディングとレンダリングを行います。
サポートされているその他のHTML5属性としてなじみのあるものに、次のような属性があります。
- 標準的なプロパティ:
currentTime、duration、paused、volume - 標準的なメソッド:
play()、pause()、load() - 標準的なイベント:
timeupdate、ended、error、loadedmetadata
ウェブからVegaへの移行
さらに具体的に説明するために、次のコード例では、コンポーネントでのビデオ再生のシンプルなシナリオを示しています。
// HTML5ウェブ
const video = document.querySelector("video");
video.src = "video.mp4";
video.play();
// Vega
const video = new VideoPlayer();
await video.initialize();
video.src = "video.mp4";
video.play();
形式の互換性
Vegaメディアプレーヤーは、以下のメディア形式とコーデックに対応しています。TVのハードウェア(ドルビーオーディオや4K再生など)に依存している場合があるため、再生時に適切なコーデックを選択できるように、再生を開始する前にアプリが出力デバイスのメディア機能を確認することが重要です
対応形式:
- URLモード: MP4、MP3、MKV、FLV、OGG、FLAC
- MSEモード: HLS(.m3u8)、DASH(.mpd)、SmoothStreaming
対応コーデック:
- ビデオ: H.264、H.265、VP8、VP9、AV1
- オーディオ: AAC、MP3、ドルビー(AC3、eAC3、AC4)、Opus、FLAC
DRMのサポート:
- Widevine: HD/4Kの場合はL1(ハードウェア)、SDの場合はL3(ソフトウェア)
- PlayReady: SL2000/3000(ハードウェア)、SL150(ソフトウェア)
プレーヤータイプの選択
重要な決定の1つは、コンテンツと要件に合った適切な再生方法を選択することです。
コンテンツタイプの決定
┌─────────────────────────────────────────────────────────────────┐
│ コンテンツのタイプは? │
└───────────────────────────────┬─────────────────────────────────┘
│
┌─────────────▼─────────────┐
│ シンプルなファイル(MP4、MP3)? │
│ アダプティブストリーミングなし? │
└─────────────┬─────────────┘
│ はい
┌─────▼─────┐
│ URLモードを │
│ 使用 │
│ (シンプル) │
└───────────┘
│ いいえ
┌───────────▼───────────┐
│ アダプティブストリーミング? │
│ (HLS、DASH、ライブTV) │
└───────────┬───────────┘
│ はい
▼
「MSEプレーヤーの選択」を参照
MSEプレーヤーの選択(必要な場合)
アダプティブストリーミングコンテンツの場合、適切なJavaScriptプレーヤーを選択する必要があります。ストリーミングタイプ(HLS、DASH、その両方)、DRM、ライブ配信コンテンツ、分析、オープンソースか商用かなどの要素を考慮してください。このガイドでは、Shaka Playerを使用してさまざまなコンテンツタイプとシナリオを処理します。ただし、特定の要件に基づいて、MSE互換の代替プレーヤー(HLS.js、Dash.js、商用プレーヤーなど)を選択することもできます。
サポート対象プレーヤーの一覧については、「サポート対象のライブラリとサービス」のVega互換メディアプレーヤーを参照してください。
関連トピック
必読:
- メディアプレーヤーAPIリファレンス - 完全なAPIリファレンスとメソッドに関するドキュメント
- メディアプレーヤーセットアップガイド - 詳細なセットアップ手順
- Shaka Playerの統合 - 完全なShakaのセットアップ手順
- メディアプレーヤーチュートリアル - 作業例
高度なトピック:
- DRMの実装 - コンテンツ保護
- パフォーマンスの最適化 - スピードチューニング
- ベVegaメディアコントロール - システム統合
参考資料:
- メディアプレーヤーAPIリファレンス - HTMLMediaElement、VideoPlayer、コンポーネントAPI
- 要件ガイド - 技術仕様
- よくある質問(FAQ) - 一般的な質問と解決策
Last updated: 2025年10月1日

