KEMBAR78
Daftar
Login
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる | PDF
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Gaprot
PDF, PPTX
25,221 views
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
動画配信界隈で話題のMPEFG-DASHとは一体どういう技術なのか?どうやって再生させるか?等について紹介します。
Technology
◦
Read more
21
Save
Share
Embed
Download
Download as PDF, PPTX
1
/ 42
2
/ 42
3
/ 42
4
/ 42
5
/ 42
6
/ 42
7
/ 42
8
/ 42
9
/ 42
10
/ 42
11
/ 42
12
/ 42
Most read
13
/ 42
14
/ 42
15
/ 42
16
/ 42
17
/ 42
18
/ 42
19
/ 42
20
/ 42
21
/ 42
22
/ 42
23
/ 42
24
/ 42
25
/ 42
26
/ 42
27
/ 42
28
/ 42
29
/ 42
Most read
30
/ 42
31
/ 42
32
/ 42
Most read
33
/ 42
34
/ 42
35
/ 42
36
/ 42
37
/ 42
38
/ 42
39
/ 42
40
/ 42
41
/ 42
42
/ 42
More Related Content
PDF
Web ブラウザで DRM
by
Yusuke Goto
PDF
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
by
Amazon Web Services Japan
PDF
AbemaTVの動画配信を支えるサーバーサイドシステム
by
yuichiro nakazawa
PDF
HTML5時代のネット動画技術〜良い子悪い子普通の子(増補改訂版)
by
Teiichi Ota
PDF
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
PDF
NetflixにおけるPresto/Spark活用事例
by
Amazon Web Services Japan
PDF
これからはじめるインフラエンジニア
by
外道 父
Web ブラウザで DRM
by
Yusuke Goto
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
by
Amazon Web Services Japan
AbemaTVの動画配信を支えるサーバーサイドシステム
by
yuichiro nakazawa
HTML5時代のネット動画技術〜良い子悪い子普通の子(増補改訂版)
by
Teiichi Ota
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
NetflixにおけるPresto/Spark活用事例
by
Amazon Web Services Japan
これからはじめるインフラエンジニア
by
外道 父
What's hot
PDF
Hadoop入門
by
Preferred Networks
PPTX
分散システムについて語らせてくれ
by
Kumazaki Hiroki
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
PPTX
[社内勉強会]ELBとALBと数万スパイク負荷テスト
by
Takahiro Moteki
PDF
CloudFrontのリアルタイムログをKibanaで可視化しよう
by
Eiji KOMINAMI
PDF
本当は楽しいインターネット
by
Yuya Rin
PDF
Apache Arrow - データ処理ツールの次世代プラットフォーム
by
Kouhei Sutou
PDF
DeNAの大規模ライブ配信基盤を支える技術
by
DeNA
PDF
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
by
Yahoo!デベロッパーネットワーク
PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2017 Amazon Kinesis
by
Amazon Web Services Japan
PDF
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送
by
Google Cloud Platform - Japan
PPTX
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
by
NTT DATA Technology & Innovation
PDF
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
by
Amazon Web Services Japan
PDF
WebSocket / WebRTCの技術紹介
by
Yasuhiro Mawarimichi
PDF
AWS Black Belt Techシリーズ AWS Direct Connect
by
Amazon Web Services Japan
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
PDF
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
by
NTT DATA Technology & Innovation
PDF
KafkaとAWS Kinesisの比較
by
Yoshiyasu SAEKI
Hadoop入門
by
Preferred Networks
分散システムについて語らせてくれ
by
Kumazaki Hiroki
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
[社内勉強会]ELBとALBと数万スパイク負荷テスト
by
Takahiro Moteki
CloudFrontのリアルタイムログをKibanaで可視化しよう
by
Eiji KOMINAMI
本当は楽しいインターネット
by
Yuya Rin
Apache Arrow - データ処理ツールの次世代プラットフォーム
by
Kouhei Sutou
DeNAの大規模ライブ配信基盤を支える技術
by
DeNA
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
by
Yahoo!デベロッパーネットワーク
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 Amazon Kinesis
by
Amazon Web Services Japan
[Cloud OnAir] Bigtable に迫る!基本機能も含めユースケースまで丸ごと紹介 2018年8月30日 放送
by
Google Cloud Platform - Japan
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
by
NTT DATA Technology & Innovation
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
by
Amazon Web Services Japan
WebSocket / WebRTCの技術紹介
by
Yasuhiro Mawarimichi
AWS Black Belt Techシリーズ AWS Direct Connect
by
Amazon Web Services Japan
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
by
NTT DATA Technology & Innovation
KafkaとAWS Kinesisの比較
by
Yoshiyasu SAEKI
More from Gaprot
PDF
AR開発高速化!「CFA」作りました!
by
Gaprot
PDF
Unity + iOS/Android VR ことはじめ
by
Gaprot
PDF
1201 ギャップロ軍団企画書
by
Gaprot
PDF
Speech Framework
by
Gaprot
PDF
SiriKit iOS10
by
Gaprot
PDF
Proactive Suggestions
by
Gaprot
PDF
New Notification API in iOS 10
by
Gaprot
PDF
iOS 10 new Camera
by
Gaprot
PDF
Aiマッシュアップ委員会 仕様説明資料
by
Gaprot
PDF
GoF のデザインパターンじゃないけど、よくあるパターン
by
Gaprot
PDF
Java の Collection 関連について整理してみました
by
Gaprot
PDF
Salmon Hunt
by
Gaprot
PDF
SONY Camera Remote API
by
Gaprot
PDF
「バグあるある」と「仕様変更あるある」一挙大放出SP!
by
Gaprot
AR開発高速化!「CFA」作りました!
by
Gaprot
Unity + iOS/Android VR ことはじめ
by
Gaprot
1201 ギャップロ軍団企画書
by
Gaprot
Speech Framework
by
Gaprot
SiriKit iOS10
by
Gaprot
Proactive Suggestions
by
Gaprot
New Notification API in iOS 10
by
Gaprot
iOS 10 new Camera
by
Gaprot
Aiマッシュアップ委員会 仕様説明資料
by
Gaprot
GoF のデザインパターンじゃないけど、よくあるパターン
by
Gaprot
Java の Collection 関連について整理してみました
by
Gaprot
Salmon Hunt
by
Gaprot
SONY Camera Remote API
by
Gaprot
「バグあるある」と「仕様変更あるある」一挙大放出SP!
by
Gaprot
Recently uploaded
PDF
「似ているようで微妙に違う言葉」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
PDF
FOSS4G Hokkaido - QFieldをランナーのために活用した - QField for runners
by
Raymond Lay
PPTX
How to buy a used computer and use it with Windows 11
by
Atomu Hidaka
PDF
FOSS4G Japan 2024 ハザードマップゲームの作り方 Hazard Map Game QGIS Plugin
by
Raymond Lay
PDF
DX人材育成 サービスデザインで実現する「巻き込み力」の育て方 by Graat
by
Graat(グラーツ)
PPTX
「Drupal SDCについて紹介」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
PPTX
FOSS4G Japan 2025 - QGISでスムーズに地図を比較 - QMapCompareプラグインの紹介
by
Raymond Lay
PDF
技育祭2025秋 サボろうとする生成AIの傾向と対策 登壇資料(フューチャー渋川)
by
Yoshiki Shibukawa
「似ているようで微妙に違う言葉」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
FOSS4G Hokkaido - QFieldをランナーのために活用した - QField for runners
by
Raymond Lay
How to buy a used computer and use it with Windows 11
by
Atomu Hidaka
FOSS4G Japan 2024 ハザードマップゲームの作り方 Hazard Map Game QGIS Plugin
by
Raymond Lay
DX人材育成 サービスデザインで実現する「巻き込み力」の育て方 by Graat
by
Graat(グラーツ)
「Drupal SDCについて紹介」2025/10/17の勉強会で発表されたものです。
by
iPride Co., Ltd.
FOSS4G Japan 2025 - QGISでスムーズに地図を比較 - QMapCompareプラグインの紹介
by
Raymond Lay
技育祭2025秋 サボろうとする生成AIの傾向と対策 登壇資料(フューチャー渋川)
by
Yoshiki Shibukawa
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
1.
HTML5 + JavaScriptで DRMつきMPEG-DASHを再生させる
2.
何の話? ・動画配信界隈で話題の MPEG-DASHとは何なのか?どういう技術なのか? → 万人向け ・どうやって再生させるのか → エンジニア向け
3.
目次 1. MPEG-DASHって何 2. DASH再生を行う 3.
DRMつきコンテンツを再生する 4. DRMつきMPEG-DASHを再生する 5. 関連ライブラリ
4.
1.MPEG-DASHって何
5.
MPEG-DASHとは ・MPEG ・・・ ご存知エムペグ ・DASH ・・・ Dynamic
Adaptive Streaming over HTTP 回線の速度に合わせて動的にコンテンツのビットレートを変える技術 ✳ 遅い回線では低画質、速い回線では高画質
6.
MPEG-DASHの利点 回線速い→高画質 回線遅い→低画質 ストリーミング中の回線ビットレート低下による動画停止などを軽減できる 単なるHTTPサーバで実装できる 再生用コンテンツURLが一つ
7.
2.DASH再生を行う
8.
通常のvideo再生 video要素の src に動画のパスを設定 <video
src="sample.mp4"></video> 単純な一本の動画ならこれでOK
9.
MPEG-DASHの場合 エンコード済みの動画ファイルがビットレートごとに存在する! sample_512.mp4 : 低ビットレート sample_1024.mp4 : 中 sample_2048.mp4 : 高 これら三つを、ご家庭のインターネットの回線状況にあわせて 動的に切り替えながら再生する(JavaScript)
10.
どうやって?
11.
イメージ図:普通の再生(固定ビットレート) ブラウザから動画に直アクセスしてvideo要素に表示 mp4
12.
イメージ図:DASH再生 video要素と動画の間にバッファをかませる mp4 mp4 mp4 DASH再生用 のバッファ
13.
イメージ図:DASH(可変ビットレート) mp4 mp4 mp4 DASH再生用 のバッファ 回線状況に応じて、バッファに入れる動画を変える
14.
イメージ図:DASH(可変ビットレート) mp4 mp4 mp4 DASH再生用 のバッファ この制御をJavaScriptで行う!
15.
すごく便利なDASH用バッファ mp4 mp4 mp4 DASH再生用 のバッファ ・バイナリファイルを突っ込むだけで 再生可能にしてくれる ・同じ再生時刻の違うビットレートの バイナリを入れても問題なし ここらへんの仕組み=MSE (Media Source
Extensions) 名前:SourceBuffer
16.
MSE制御 mp4 mp4 mp4 一本の可変ビットレート動画であるかのように再生できる mp4
17.
MSE制御サンプルコード(JavaScript) ①HTTPリクエストでmp4ファイル取得 ②バッファオブジェクトのメソッド呼び出してバイナリを読み込ませる var xhr =
new XMLHttpRequest(); xhr.open("GET", url, true); xhr.responseType = "arraybuffer"; xhr.setRequestHeader("Range", “bytes=" + rangeStart + "-" + rangeEnd); xhr.send(null); sourceBuffer.append(new Uint8Array(response));
18.
3.DRMつきコンテンツを再生する
19.
暗号化されたコンテンツを復号する手段が必要 DRMつきmp4 HTML単体では DRMコンテンツを再生できない ?
20.
DRMつきmp4 HTML単体では DRMコンテンツを再生できない CDM (コンテンツ暗号解除モジュール) を使えば復号できる CDM
21.
いろいろあるCDM PlayReady用CDM CDMはDRMの種類によって中身が違う ・PlayReady ・Widevine ・Adobe Primetime Widevine用CDM Primetime用CDM
22.
いろいろあるCDM PlayReady用CDM Widevine用CDM Primetime用CDM 全部同じように使うためのAPI仕様 → EME
23.
CDMとEME PlayReady用CDM EMEのおかげでDRMの種類によらず復号処理ができる Widevine用CDM Primetime用CDM EME EME EME
24.
どのように実装するのか
25.
DRMつきmp4 EMEでのライセンス解決 CDM(EME)を使ってライセンスサーバから復号用の鍵を取得 PlayReady用CDM EME ライセンスサーバ ① ② ③ ④ ⑤
26.
DRMつきmp4 EMEでのライセンス解決 CDM(EME)を使ってライセンスサーバから復号用の鍵を取得 PlayReady用CDM EME ライセンスサーバ ここの制御をJavaScriptで行う!① ② ③ ④ ⑤
27.
EME制御(長いのでコードは省略) ①DRM動画を読み込むと、EME処理開始のイベントが発生 ②EMEの鍵リクエストAPIを呼ぶ ③EMEのイベントでライセンスサーバへのリクエスト内容が通知される ④HTTPリクエストで③の内容をライセンスサーバへ送る ⑤サーバから受け取ったライセンスをEMEのAPIに渡す
28.
4.DRMつきMPEG-DASHを再生させる
29.
DRMつきMPEG-DASH PlayReady用CDM EME ライセンスサーバ mp4 mp4 mp4 DASH再生用 のバッファ MSEとEMEを組み合わせるだけ
30.
DRMつきMPEG-DASH PlayReady用CDM EME ライセンスサーバ mp4 mp4 mp4 DASH再生用 のバッファ 赤枠部分をJSで制御! MSE EME
31.
MPDファイルの実態
32.
構成 MPD対応プレーヤー MPD マニフェスト MP4 MP4 MP4 サーバ
33.
構成 MPD対応プレーヤー MPD マニフェスト MP4 MP4 MP4 サーバ HTML5 プレーヤから アクセスされるもの コンテンツの実体 HTTP
34.
MPEG-DASHの実体 → XMLファイル <?xml version="1.0" encoding="utf-8"?> <MPD> <Period> <AdaptationSet> <Representation> <BaseURL>audio_1.mp4</BaseURL> </Representation> <Representation> <BaseURL>audio_2.mp4</BaseURL> </Representation> <Representation> <BaseURL>audio_3.mp4</BaseURL> </Representation> </AdaptationSet> <AdaptationSet> <Representation>
35.
それぞれのタグの意味 ・Period トップレベル要素 開始時間 動画の長さ シーン、チャプター、広告を分ける <?xml version="1.0" encoding="utf-8"?> <MPD> <Period> <AdaptationSet> <Representation> <BaseURL>audio_1.mp4</BaseURL> </Representation> <Representation> <BaseURL>audio_2.mp4</BaseURL> </Representation> <Representation> <BaseURL>audio_3.mp4</BaseURL> </Representation> </AdaptationSet> <AdaptationSet> <Representation>
36.
それぞれのタグの意味 ・AdaptationSet 音声 or 映像 <?xml
version="1.0" encoding="utf-8"?> <MPD> <Period> <AdaptationSet> <Representation> <BaseURL>audio_1.mp4</BaseURL> </Representation> <Representation> <BaseURL>audio_2.mp4</BaseURL> </Representation> <Representation> <BaseURL>audio_3.mp4</BaseURL> </Representation> </AdaptationSet> <AdaptationSet> <Representation>
37.
それぞれのタグの意味 ・Representation 同じコンテンツを違うエンコードされたもの スクリーンサイズ 動画ビットレート コーデック 回線速度で切り替えるのはココ <?xml version="1.0" encoding="utf-8"?> <MPD> <Period> <AdaptationSet> <Representation> <BaseURL>audio_1.mp4</BaseURL> </Representation> <Representation> <BaseURL>audio_2.mp4</BaseURL> </Representation> <Representation> <BaseURL>audio_3.mp4</BaseURL> </Representation> </AdaptationSet> <AdaptationSet> <Representation>
38.
関連ライブラリ
39.
ライブラリ ・dash.js … https://github.com/Dash-Industry-Forum/dash.js/wiki 一番有名なMPEG-DASH再生ライブラリ これを入れて素直に動いたら最高! ・bitdash … http://www.dash-player.com/ 有償
40.
注意点 ・MSE、EMEはバージョンがいくつもありバージョンごとにAPIの仕様が結構違う ブラウザに実装されているバージョンに注意しましょう 例)MSE(2012年ころ)のappendメソッド → 最近のバージョンでは appendBufferメソッドになってる
41.
まとめ ・JavaScriptをがんばって粘り強く実装する ・アダプティブストリーミングをする仕組みがMSE … バッファにつっこむ ・DRM処理をするAPIがEME … ライセンスサーバとのやりとり ・MSE + EME
でDRMつきMPEG-DASH再生
42.
参考資料 W3C MSE (latest)
… http://www.w3.org/TR/media-source/ W3C EME (latest) … http://www.w3.org/TR/encrypted-media/ MS公式サイトPlayReady + EME 処理例 … https://msdn.microsoft.com/en- us/library/windows/apps/dn468979.aspx
Download