Hasplayer + MPEG-DASH WideVine DRM + HLS + Smooth Streaming の使用法
Hasplayer + MPEG-DASH WideVine DRM + HLS + Smooth Streaming の使用法:
こんにちは streampack チームのメディです。
https://cloudpack.jp/service/option/streampack.html
In my opinion hasplayer is a really interesting player and I would like to show you common use cases.
hasplayer は興味深いプレイヤーなので、一般的な使用法を説明します。
Sintel
© copyright Blender Foundation | www.sintel.org
Tears of Steel
© copyright Blender Foundation | https://mango.blender.org/
Big Buck Bunny
© copyright 2008, Blender Foundation | www.bigbuckbunny.org
From the official webpage:
Widevine DRM system is compatible with Chrome, Firefox and Android.
Widevine DRMシステムは、Chrome、Firefox、Androidと互換性があります。
Data are passed to the license server through a custom header.
In this example the custom header name is X-AxDRM-Message.
The custom header name depends on your DRM provider.
データは、カスタムヘッダーを介してライセンスサーバーに渡されます。
この例では、カスタムヘッダー名はX-AxDRM-Messageです。
カスタムヘッダ名はDRMプロバイダによって異なります。
HLS playback works better when using version 1.14.1.
バージョン1.14.1を使用すると、HLS再生がうまく機能します。
https://github.com/Orange-OpenSource/hasplayer.js
http://orange-opensource.github.io/hasplayer.js/development/doc/jsdoc/index.html
http://playready.directtaps.net/smoothstreaming/
http://rdmedia.bbc.co.uk/dash/ondemand/bbb/
https://github.com/Axinom/drm-quick-start
はじめに
こんにちは streampack チームのメディです。https://cloudpack.jp/service/option/streampack.html
In my opinion hasplayer is a really interesting player and I would like to show you common use cases.
hasplayer は興味深いプレイヤーなので、一般的な使用法を説明します。
Copyrights of videos
Sintel© copyright Blender Foundation | www.sintel.org
Tears of Steel
© copyright Blender Foundation | https://mango.blender.org/
Big Buck Bunny
© copyright 2008, Blender Foundation | www.bigbuckbunny.org
What is hasplayer
From the official webpage:hasplayer.js is a javascript implementation of a video player based on the W3C premium extensions, i.e. MSE and EME.公式ウェブページから:
hasplayer.js is an extension of the dash.js project with the aim of supporting additional http adaptive streaming protocols such as Microsoft Smooth Streaming protocol and Apple Http Live Streaming.
hasplayer.jsは、W3Cのプレミアムエクステンション、つまりMSEとEMEに基づいた動画プレーヤーのJavaScript実装です。
hasplayer.jsは、Microsoft Smooth StreamingプロトコルやApple Http Live Streamingなどの追加のHTTPアダプティブストリーミングプロトコルをサポートする目的で、dash.jsプロジェクトの拡張です。
MPEG-DASH
<!doctype html> <html> <head> <title>Hasplayer.js DASH</title> </head> <body> <div> <video id="videoPlayer" controls="true" width="640" height="360"></video> </div> <script src="//orange-opensource.github.io/hasplayer.js/1.15.0/dist/hasplayer.js"></script> <script> (function() { var stream = { url: "//rdmedia.bbc.co.uk/dash/ondemand/bbb/2/client_manifest-common_init.mpd" }; var mediaPlayer = new MediaPlayer(); mediaPlayer.init(document.querySelector("#videoPlayer")); mediaPlayer.load(stream); mediaPlayer.setDebug(true); mediaPlayer.setMute(true); })(); </script> </body> </html>
MPEG-DASH + Widevine DRM
Widevine DRM system is compatible with Chrome, Firefox and Android.
Widevine DRMシステムは、Chrome、Firefox、Androidと互換性があります。
Data are passed to the license server through a custom header.
In this example the custom header name is X-AxDRM-Message.
The custom header name depends on your DRM provider.
データは、カスタムヘッダーを介してライセンスサーバーに渡されます。
この例では、カスタムヘッダー名はX-AxDRM-Messageです。
カスタムヘッダ名はDRMプロバイダによって異なります。
<!doctype html> <html> <head> <title>Hasplayer.js DASH + WideVine DRM</title> </head> <body> <div> <video id="videoPlayer" controls="true" width="640" height="360"></video> </div> <script src="//orange-opensource.github.io/hasplayer.js/1.15.0/dist/hasplayer.js"></script> <script> (function() { var stream = { url: "//media.axprod.net/TestVectors/v6.1-MultiDRM/Manifest_1080p.mpd", protData: { 'com.widevine.alpha': { laURL: "https://drm-widevine-licensing.axtest.net/AcquireLicense", "httpRequestHeaders": { "X-AxDRM-Message": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2ZXJzaW9uIjoxLCJjb21fa2V5X2lkIjoiNjllNTQwODgtZTllMC00NTMwLThjMWEtMWViNmRjZDBkMTRlIiwibWVzc2FnZSI6eyJ0eXBlIjoiZW50aXRsZW1lbnRfbWVzc2FnZSIsImtleXMiOlt7ImlkIjoiNmU1YTFkMjYtMjc1Ny00N2Q3LTgwNDYtZWFhNWQxZDM0YjVhIn1dfX0.yF7PflOPv9qHnu3ZWJNZ12jgkqTabmwXbDWk_47tLNE" } } } }; var mediaPlayer = new MediaPlayer(); mediaPlayer.init(document.querySelector("#videoPlayer")); mediaPlayer.load(stream); mediaPlayer.setDebug(true); mediaPlayer.setMute(true); })(); </script> </body> </html>
Microsoft Smooth Streaming
<!doctype html> <html> <head> <title>Hasplayer.js Microsoft Smooth Streaming</title> </head> <body> <div> <video id="videoPlayer" controls="true" width="640" height="360"></video> </div> <script src="//orange-opensource.github.io/hasplayer.js/1.15.0/dist/hasplayer.js"></script> <script> (function() { var stream = { url: "http://playready.directtaps.net/smoothstreaming/SSWSS720H264/SuperSpeedway_720.ism/Manifest" }; var mediaPlayer = new MediaPlayer(); mediaPlayer.init(document.querySelector("#videoPlayer")); mediaPlayer.load(stream); mediaPlayer.setDebug(true); mediaPlayer.setMute(true); })(); </script> </body> </html>
Apple HLS
HLS playback works better when using version 1.14.1.
バージョン1.14.1を使用すると、HLS再生がうまく機能します。
<!doctype html> <html> <head> <title>Hasplayer.js DEMO HLS</title> </head> <body> <div> <video id="videoPlayer" controls="true" width="640" height="360"></video> </div> <script src="//orange-opensource.github.io/hasplayer.js/1.14.1/dist/hasplayer.js"></script> <script> (function () { var stream = { url: "//bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8", protocol: 'HLS' //to activate native support on Safari/OSx }; var mediaPlayer = new MediaPlayer(); mediaPlayer.init(document.querySelector("#videoPlayer")); mediaPlayer.load(stream); mediaPlayer.setDebug(true); mediaPlayer.setMute(true); })(); </script> </body> </html>
Information sources ・ 情報源
hasplayer homepage
https://github.com/Orange-OpenSource/hasplayer.js
hasplayer API
http://orange-opensource.github.io/hasplayer.js/development/doc/jsdoc/index.html
Media files & streams
http://playready.directtaps.net/smoothstreaming/http://rdmedia.bbc.co.uk/dash/ondemand/bbb/
https://github.com/Axinom/drm-quick-start
コメント
コメントを投稿