
Shaka Player は、アダプティブ メディア用のオープンソース JavaScript ライブラリです。プラグインや Flash を使用せずに、ブラウザーでアダプティブ メディア フォーマット (DASH、HLS、MSS など) を再生します。代わりに、Shaka Player はオープン Web 標準 MediaSource Extensions と Encrypted Media Extensions を使用します。
Shaka Player は、IndexedDB を使用したメディアのオフライン ストレージと再生もサポートしています。コンテンツは任意のブラウザに保存できます。ライセンスの保存はブラウザのサポートによって異なります。
私たちの主な目標は、最新のブラウザー テクノロジーを使用して、アダプティブ ビットレートのビデオとオーディオをできるだけ簡単にストリーミングできるようにすることです。私たちはライブラリを軽く、シンプルにし、サードパーティの依存関係を持たないよう努めています。ビルドとデプロイに必要なものはすべてソース内にあります。
今後の予定について詳しくは、開発ロードマップをご覧ください。
Shaka Player の維持されているブランチの最新リストについては、maintained-branches.md を参照してください。
| ブラウザ | 窓 | マック | Linux | アンドロイド | iOS >= 9 | iOS >= 17.1 | iPadOS 13 以上 | ChromeOS | 他の |
|---|---|---|---|---|---|---|---|---|---|
| クロム¹ | Y | Y | Y | Y | ネイティブ | ネイティブ | ネイティブ | Y | - |
| Firefox¹ | Y | Y | Y | 未テスト⁵ | ネイティブ | ネイティブ | ネイティブ | - | - |
| エッジ¹ | Y | - | - | - | - | - | - | - | - |
| エッジクロム | Y | Y | Y | 未テスト⁵ | ネイティブ | ネイティブ | ネイティブ | - | - |
| IE | N | - | - | - | - | - | - | - | - |
| サファリ¹ | - | Y | - | - | ネイティブ | Y | Y | - | - |
| オペラ¹ | Y | Y | Y | 未テスト⁵ | ネイティブ | - | - | - | - |
| Chromecast²。 | - | - | - | - | - | - | - | - | Y |
| Tizen TV3 | - | - | - | - | - | - | - | - | Y |
| WebOS⁶ | - | - | - | - | - | - | - | - | Y |
| ハイセンス⁷ | - | - | - | - | - | - | - | - | Y |
| Xbox ワン | - | - | - | - | - | - | - | - | Y |
| プレイステーション 4⁷ | - | - | - | - | - | - | - | - | Y |
| プレイステーション 5⁷ | - | - | - | - | - | - | - | - | Y |
注:
iOS および iPadOS の注意:
src要素をマニフェスト/メディアに設定するだけです。したがって、マニフェストをサポートするブラウザに依存します。| 形式 | ビデオオンデマンド | ライブ | イベント | 録音中 |
|---|---|---|---|---|
| ダッシュ | Y | Y | - | Y |
| HLS | Y | Y | Y | - |
| MSS | Y | - | - | - |
カスタム マニフェスト形式をサポートするマニフェスト パーサー プラグインを作成することもできます。
サポートされている DASH 機能:
DASH 機能はサポートされていません:
サポートされている HLS 機能:
HLS 機能はサポートされていません:
HLS 形式とこれらのタグの意味の詳細については、https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis を参照してください。
#EXT-X-STREAM-INF:<attribute-list> <URI>#EXT-X-MEDIA:<attribute-list>#EXT-X-IMAGE-STREAM-INF:<attribute-list>#EXT-XI-FRAME-STREAM-INF:<attribute-list>#EXT-X-SESSION-DATA:<attribute-list>#EXT-X-SESSION-KEY:<attribute-list> EME キー システムの選択とプリロード#EXT-X-START:TIME-OFFSET=<n>#EXT-X-CONTENT-STEERING:<attribute-list>コンテンツ ステアリング#EXT-X-DEFINE:<attribute-list>変数置換 ( NAME,VALUE,QUERYPARAM属性) #EXTM3U#EXTINF:<duration>,[<title>]#EXT-X-PLAYLIST-TYPE:<type#EXT-X-ENDLIST#EXT-X-MEDIA-SEQUENCE=<n>#EXT-X-TARGETDURATION=<n>#EXT-X-DISCONTINUITY#EXT-X-DISCONTINUITY-SEQUENCE=<n>#EXT-X-BYTERANGE=<n>[@<o>]#EXT-X-MAP:<attribute-list>#EXT-X-KEY:<attribute-list> ( KEYFORMAT="identity",METHOD=SAMPLE-AESは MP4 セグメントでのみサポートされます)#EXT-X-PROGRAM-DATE-TIME:<attribute-list>#EXT-X-START:TIME-OFFSET=<n>#EXT-X-SERVER-CONTROL:<attribute-list>#EXT-X-PART-INF:PART-TARGET=<n>#EXT-X-PART:<attribute-list>#EXT-X-SKIP:<attribute-list>デルタプレイリスト#EXT-X-DATERANGE:<attribute-list>メタデータ#EXT-X-DEFINE:<attribute-list>変数のインポートと置換 ( NAME,VALUE,IMPORT,QUERYPARAM属性)#EXT-X-GAP#EXT-X-PRELOAD-HINT:<attribute-list>#EXT-X-BITRATEメディア ソース拡張機能の SourceBuffer サポートを備えたブラウザでのみサポートされます
MPEG-5 Part2 LCEVC デコードのサポート (lcevc_dec.js によって提供されるデコードを別途含める必要があります)
統合ドキュメント: ドキュメント
MPEG-5 Part2 LCEVC の詳細
サポートされている MSS 機能:
MSS 機能はサポートされていません:
| ブラウザ | ワイドバイン | プレイレディ | フェアプレー | クリアキー⁶ |
|---|---|---|---|---|
| クロム¹ | Y | - | - | Y |
| Firefox² | Y | - | - | Y |
| エッジ3 | - | Y | - | - |
| エッジクロム | Y | Y | - | Y |
| サファリ | - | - | Y | - |
| オペラ | Y | - | - | Y |
| クロムキャスト | Y | Y | - | Y |
| ティゼンテレビ | Y | Y | - | Y |
| WebOS⁷ | 未テスト⁷ | 未テスト⁷ | - | 未テスト⁷ |
| ハイセンス⁷ | 未テスト⁷ | 未テスト⁷ | - | 未テスト⁷ |
| Xbox ワン | - | Y | - | - |
| プレイステーション 4⁷ | - | 未テスト⁷ | - | 未テスト⁷ |
| プレイステーション 5⁷ | - | 未テスト⁷ | - | 未テスト⁷ |
他の DRM システムは、相互運用可能で EME 仕様に準拠していれば、そのままで動作します。
注:
| マニフェスト | ワイドバイン | プレイレディ | フェアプレー | クリアキー |
|---|---|---|---|---|
| ダッシュ | Y | Y | - | Y |
| HLS | Y | Y | Y¹ | - |
| MSS | - | Y | - | - |
注:
streaming.useNativeHlsForFairPlay 」構成値を参照してください。 Shaka プレーヤーは以下をサポートしています:
デフォルトでは、字幕はブラウザによって表示されます。アプリケーションは、ブラウザーでサポートされる属性を超えるカスタマー レンダリング用のテキスト表示プラグインを作成できます。
Shaka プレーヤーは以下をサポートしています:
Shaka プレーヤーは以下をサポートしています:
Shaka プレーヤーは以下をサポートしています:
Shaka Player は、DASH および HLS のコンテンツ ステアリング (v1) をサポートしています。
サポートされているコンテンツ ステアリング機能:
コンテンツ ステアリング機能はサポートされていません:
Shaka Player は次の場合に VR をサポートします。
prjiボックスとhfovボックスが含まれていますサポートされている VR モード:
注:
一般的なヘルプについて、またバグを報告する前に、FAQ をお読みください。
改善点や修正点がございましたら、ぜひご貢献いただければ幸いです。貢献者に求められるプロセスの詳細については、CONTRIBUTING.md をお読みください。
Shaka チームには、Shaka Player を特定のフレームワークと統合するためのガイダンスとサポートを提供するための帯域幅と経験がありませんが、一部のユーザーはそれを成功させ、他の初心者を支援するチュートリアルを作成しました。
Shaka + ReactJS ライブラリ
Shaka + ReactJS の統合:
Shaka + Next.js の統合:
Shaka + Vue.js の統合:
Shaka + Nuxt.js の統合:
Shaka + video.js の統合:
Shaka + Angular の統合:
Shaka Integration コード/チュートリアルを公開している場合は、お気軽に PR を送信してこのリストに追加してください。喜んで承認します。