Professional Documents
Culture Documents
~ WindowsServer2008 で次世代の動画配信~
株式会社 Dooga
西村 誠
これまでの動画配信
300kbps
500kbps
1000kbps
2000kbps
自分の帯域幅?
これまでの動画配信
ユーザーに選択??
これまでの動画配信
・帯域幅は変動する
・帯域幅はサーバー側の影響も受ける
・帯域幅は動画閲覧中も変わっていく
ユーザーは自分の帯域幅が
どの動画サイズに合っているか
判断することができない!!
これまでの動画配信
これってクールじゃないですよ
ね・・・
SmoothStreaming!!
閲覧中に動画の配信レート
を
ユーザーの
“その時の帯域幅 ”
に合わせて配信可能
SmoothStreaming!!
・ユーザーの帯域幅に適した
動画配信が可能
・瞬間的にビットレートを変えるこ
とで
シーク時間を短縮できることがで
きる !!
SmoothStreaming!!
クールです
ね !!
パケットから仕組みを眺める
サンプルコードが
見当たらなかったので
パケットを眺めてみました
パケットから仕組みを眺める
クライアント側: Silverlight
↓
WireShark
↓
サーバー側: WindowsServer2008+IIS
ネットワークを流れるデータを見ることが
る
クールなフリーウェア !!
パケットから仕組みを眺める
80 番ポートのみ
( HTTP のポートを変えてみる
と、
配信もそれに合わせて変更されま
した)
パケットから仕組みを眺める
・帯域制御はクライアント側から
GET
47:45:54:20:2f:62:62:62:2f:42:69:67:25:32:30:42:75:63:6b:25:32:30:42:75:6e:6e
:79:2e:69:73:6d:2f:51:75:61:6c:69:74:79:4c:65:76:65:6c:73:28:33:30:30:30:30:3
0:29:2f:46:72:61:67:6d:65:6e:74:73:28:76:69:64:65:6f:3d:30:29:3f:70:61:63:6b:6
5:74:70:61:69:72:3d:36:33:33:38:33:37:30:30:38:31:30:30:35:36:33:38:37:35:20
:48:54:54:50:2f:31:2e:31:0d:0a:41:63:63:65:70:74:3a:20:2a:2f:2a:0d:0a:41:63:6
3:65:70:74:2d:45:6e:63:6f:64:69:6e:67:3a:20:67:7a:69:70:2c:20:64:65:66:6c:61:
74:65:0d:0a:55:73:65:72:2d:41:67:65:6e:74:3a:20:4d:6f:7a:69:6c:6c:61:2f:34:2e:
30:20:28:63:6f:6d:70:61:74:69:62:6c:65:3b:20:4d:53:49:45:20:38:2e:30:3b:20:5
7:69:6e:64:6f:77:73:20:4e:54:20:36:2e:30:3b:20:54:72:69:64:65:6e:74:2f:34:2e:
30:3b:20:53:4c:43:43:31:3b:20:2e:4e:45:54:20:43:4c:52:20:32:2e:30:2e:35:30:3
7:32:37:3b:20:4d:65:64:69:61:20:43:65:6e:74:65:72:20:50:43:20:35:2e:30:3b:20
:2e:4e:45:54:20:43:4c:52:20:33:2e:35:2e:33:30:37:32:39:3b:20:2e:4e:45:54:20:
43:4c:52:20:33:2e:30:2e:33:30:36:31:38:3b:20:49:6e:66:6f:50:61:74:68:2e:31:3
b:20:2e:4e:45:54:20:43:4c:52:20:34:2e:30:2e:32:30:35:30:36:29:0d:0a:48:6f:73:
74:3a:20:31:39:32:2e:31:36:38:2e:31:2e:32:32:3a:33:30:30:38:30:0d:0a:43:6f:6
e:6e:65:63:74:69:6f:6e:3a:20:4b:65:65:70:2d:41:6c:69:76:65:0d:0a:0d:0a
パケットから仕組みを眺める
達人になると
先ほどの文字の羅列が読めるよう
になる
という伝説もありますが、
私は達人どころか素人なので
読めるように変換します
パケットから仕組みを眺める
・帯域制御はクライアント側から
GET
GET
/bbb/Big%20Buck%20Bunny.ism/QualityLevels(300000)/Fragments(video=0)?
packetpair=633837008100563875 HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0;
SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729;
.NET CLR 3.0.30618; InfoPath.1; .NET CLR 4.0.20506)
Host: 192.168.1.22:30080
Connection: Keep-Alive
パケットから仕組みを眺める
・帯域制御はクライアント側から
GET
GET
/bbb/Big%20Buck%20Bunny.ism/QualityLevels(2436000)/Fragments(video=20
000000)?packetpair=633837008102878180 HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0;
SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729;
.NET CLR 3.0.30618; InfoPath.1; .NET CLR 4.0.20506)
Host: 192.168.1.22:30080
Connection: Keep-Alive
パケットから仕組みを眺める
クライアントからの GET
=
Silverlight から配信品質の
コントロールができる
エンジニアにとっては
開発・展開が容易 !!
パケットから仕組みを眺める
断片データの連なりとして
クライアントに配信されていました
まとめ
・帯域制御はクライアント
開発しやすい !!
・ 80 番ポート以外を必要としない
下手なポートを使って帯域制限され
る恐れもない !!
・動画データは断片として配信
細かいシークが可能
まとめ
・ユーザーが帯域を気にする必要がない !
まとめ
・ユーザーが帯域を気にする必要がない !
・ユーザーが帯域を気にする必要がない !
まとめ
これって素晴らしい
ユーザーエクスペリエンスじゃないです
か?
ご清聴ありがとうございました