#azurejp
編集 配信
エンコー
ド
レ
ビデオ
オーディオ
音声 データ♬ ♬
画像 データ
ファイル
サイズ
作成時間
1/4
1/2
映像の長さ (尺) の、
1 – 2倍
解像度
• 画像サイズ
ビットレート
• 総容量
フレームレー
ト
• 動画の
滑らかさ
8K UHD
4320p (7680 x 4320)
4K UHD
2160p (3840 x 2160)
HD
1080i/1080p (1920 x 1080)
SD
480i
(720 x 480)
10分
50MB
200MB
800MB
3.2GB ?
1 Mbps
5 Mbps
1 秒
5 fps
30 fps
1 秒
項目 状態 備考
ビットレート 2 Mbps スマートフォンだと大きめ
映像の尺 (長さ) 30 分
• 1秒間 2M
• 30分
Byte
450 MB
撮影 編集 配信
エンコー
ド
スライド = シーン!
出力 = エンコード!
撮影 編集 配信
エンコー
ド
1.3MB
450MB
撮影 編集 配信
エンコー
ド
(standard) Streaming
3Mbps
Streaming Server
HTTP Progressive Download
RTMP / RTSP / MMS etc
…
3Mbps
Web ServerHTTP Cache
Adaptive bitrate Streaming over HTTP 3Mbps
Streaming
Server
HTTP Cache
1Mbps
512 kbps
256 kbps
2 4 6 8
2 4 6 8
2 4 6 8
2 4 6 8
4
6
8
350.ismv
600.ismv
1450.ismv
1050.ismv
350kbps
600kbps
1050kbps
1450kbps
Smooth Streaming Http Live Streaming Http Dynamic Streaming
Dynamic Adaptive Streaming over
HTTP (DASH)
Smooth Streaming Http Live Streaming Http Dynamic Streaming
リーチ機会の増加
• デバイス個別対応の最小
化
• 新旧のデバイスに対応し
やすく
ベンダーロックイン
からの解放
• 自分のビジネス計画を優
先
• 将来にわたってベンダー
を選べる
開発コスト最小化
• 「ユニバーサル プレイ
ヤー」
• リリース期間の最小化
Live
配信システム
複数ビットレートファイル
ストリーミング コンテンツ保護
MPEG-DASH
Common
Encryption
DRM System
フォーマッ
ト
Player
Smooth
Streaming
PIFF
HLS HDS
DRM
Server
PlayReady
Silverlight
など
MPEG2-TS
(AES256)
QuickTime
など
F4V / MP4
Adobe Access
Flash Player
など
データ構造
フォーマッ
ト
Player
Smooth
Streaming
PIFF
HLS HDS
DRM
Server
PlayReady
Silverlight
など
MPEG2-TS
(AES256)
QuickTime
など
F4V / MP4
Adobe Access
Flash Player
など
データ構造
ISO Based Media File
(MP4) / MPEG2-TS
MPEG-DASH
Common
Encryption +α
HTML5
MSE + EME
<MPD profiles="urn:mpeg:dash:profile:isoff-on-demand:2011“/>
<Period>
<ContentProtection schemeIdUri="urn:mpeg:da…" value="cenc"/>
<AdaptationSet mimeType=“video/mp4”>
<Representation bandwidth="6000000" width="1920" height="1080“>
<BaseURL>movie-high.mp4</BaseURL>
<SegmentBase indexRange=“804-1123”>
<Initialization range=“0-803”>
</SegmentBase>
</Representation>
<Representation bandwidth="2962000" width="1280" height="720“>
<BaseURL>movie-medium.mp4</BaseURL>
<SegmentBase …
</Representation>
<Representation bandwidth="1427000" width=“856" height="480“>
<BaseURL>movie-low.mp4</BaseURL>
<SegmentBase …
</Representation>
</AdaptationSet>
…
<MPD profiles="urn:mpeg:dash:profile:isoff-live:2011“>
<Period>
<ContentProtection schemeIdUri="urn:mpeg:dash…" value="cenc"/>
<AdaptationSet mimeType=“video/mp4”>
<SegmentTemplate
media=“Level($Bandwidth$)/Fragment($Time$)
initialization="Level($Bandwidth$)/Fragments(init)>
<SegmentTimeline>
<S d=3 r=430 />
</SegmentTimeline>
</SegmentTemplate>
<Representation bandwidth="6000000" width="1920" height="1080“/>
<Representation bandwidth="2962000" width="1280" height="720“/>
<Representation bandwidth="1427000" width="856" height="480“/>
</AdaptationSet>
<AdaptationSet mimeType=“audio/mp4”>
<SegmentTemplate …
<Representation bandwidth=“160000”/>
<Representation bandwidth=“64000”/>
<video> MediaSource
SourceBuffer
audio
SourceBuffer
video
src
sourceBuffers
<video> MSMediaKeys MediaKeySession
msKeys
<html>
<head>
<title>HTML5 VIDEO</title>
<script src="dash.all.js"></script>
<script>
// setup the video element and attach it to the Dash player
function setupVideo() {
var url =
"http://wams.edgesuite.net/media/MPTExpressionData02/BigBuckBunny_1080p24_IYUV_2ch.ism/manifest(format=mpd-time-csf)";
var context = new Dash.di.DashContext();
var player = new MediaPlayer(context);
player.startup();
player.attachView(document.querySelector("#videoplayer"));
player.attachSource(url);
}
window.addEventListener("load", setupVideo, false);
</script>
</head>
<body>
<video controls id="videoplayer" width="80%" height="80%"></video>
</body>
</html>
Application
(Player)
• HTML5 with Enhancement
• Native
Authorization
• Video Authorization Profile of IETE OAuth
• IETF Simple Web Discovery
Transport • ISO MPEG Dynamic Adaptive Streaming over HTTP
Media Format
• ISO Based Media File Format
• UltraViolet Common File Format, Common Streaming
Format
Codec
• H.264, HEVC
• AAC
Encryption • ISO MPEG Common Encryption
OSCore
動画配信の基礎知識

動画配信の基礎知識