You are on page 1of 23

パケットからみる SmoothStreaming

~ WindowsServer2008 で次世代の動画配信~

株式会社 Dooga
西村 誠
これまでの動画配信

300kbps
500kbps
1000kbps
2000kbps

ユーザーが 自分の帯域幅にあった 映像を


選択
これまでの動画配信

自分の帯域幅?
これまでの動画配信

ユーザーに選択??
これまでの動画配信

・帯域幅は変動する

・帯域幅はサーバー側の影響も受ける

・帯域幅は動画閲覧中も変わっていく

ユーザーは自分の帯域幅が
どの動画サイズに合っているか
判断することができない!!
これまでの動画配信

これってクールじゃないですよ
ね・・・
SmoothStreaming!!

閲覧中に動画の配信レート

ユーザーの

“その時の帯域幅 ”

に合わせて配信可能
SmoothStreaming!!

・ユーザーの帯域幅に適した
 動画配信が可能

・瞬間的にビットレートを変えるこ
とで
 シーク時間を短縮できることがで
きる !!
SmoothStreaming!!

クールです
ね !!
パケットから仕組みを眺める

サンプルコードが

見当たらなかったので

パケットを眺めてみました
パケットから仕組みを眺める

クライアント側: Silverlight

WireShark

サーバー側: WindowsServer2008+IIS

ネットワークを流れるデータを見ることが

クールなフリーウェア !!
パケットから仕組みを眺める

・通信は純粋に HTTP と同様の

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 から配信品質の
コントロールができる

エンジニアにとっては
開発・展開が容易 !!
パケットから仕組みを眺める

動画データは 1460 バイトの

断片データの連なりとして

クライアントに配信されていました
まとめ

・帯域制御はクライアント
  開発しやすい !!

・ 80 番ポート以外を必要としない
  下手なポートを使って帯域制限され
る恐れもない !!

・動画データは断片として配信
  細かいシークが可能
まとめ

・ユーザーが帯域を気にする必要がない !
まとめ

・ユーザーが帯域を気にする必要がない !

・ユーザーが帯域を気にする必要がない !
まとめ

これって素晴らしい
ユーザーエクスペリエンスじゃないです
か?
ご清聴ありがとうございました

You might also like