23
パパパパパパパパ パパパパパパパパ SmoothStreaming SmoothStreaming WindowsServer2008 WindowsServer2008 パパパパパパパパパパパパパパパパパパパパパパ パパパパ Dooga Dooga パ パ 西 パ パ 西

Smooth Streaming

Embed Size (px)

Citation preview

Page 1: Smooth Streaming

パケットからみる パケットからみる SmoothStreamingSmoothStreaming

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

株式会社株式会社 DoogaDooga西村 誠西村 誠

Page 2: Smooth Streaming

これまでの動画配信これまでの動画配信

300kbps300kbps500kbps500kbps

1000kbps1000kbps2000kbps2000kbps

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

Page 3: Smooth Streaming

これまでの動画配信これまでの動画配信

自分の帯域幅?自分の帯域幅?

Page 4: Smooth Streaming

これまでの動画配信これまでの動画配信

ユーザーに選択??ユーザーに選択??

Page 5: Smooth Streaming

これまでの動画配信これまでの動画配信

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

・帯域幅は変動する・帯域幅は変動する

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

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

Page 6: Smooth Streaming

これまでの動画配信これまでの動画配信

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

Page 7: Smooth Streaming

SmoothStreaming!!SmoothStreaming!!

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

“その時の帯域幅”“その時の帯域幅”

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

Page 8: Smooth Streaming

SmoothStreaming!!SmoothStreaming!!

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

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

Page 9: Smooth Streaming

SmoothStreaming!!SmoothStreaming!!

クールですクールですねね !!!!

Page 10: Smooth Streaming

パケットから仕組みを眺めるパケットから仕組みを眺める

サンプルコードがサンプルコードが

見当たらなかったので見当たらなかったので

パケットを眺めてみましたパケットを眺めてみました

Page 11: Smooth Streaming

パケットから仕組みを眺めるパケットから仕組みを眺める

クライアント側:クライアント側: SilverlightSilverlight↓↓

WireSharkWireShark↓↓

サーバー側:サーバー側: WindowsServer2008+IISWindowsServer2008+IIS

ネットワークを流れるデータを見ることができるネットワークを流れるデータを見ることができるクールなフリーウェアクールなフリーウェア !!!!

Page 12: Smooth Streaming

パケットから仕組みを眺めるパケットから仕組みを眺める

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

8080番ポートのみ番ポートのみ

(( HTTPHTTPのポートを変えてみると、のポートを変えてみると、配信もそれに合わせて変更されまし配信もそれに合わせて変更されまし

た)た)

Page 13: Smooth Streaming

パケットから仕組みを眺めるパケットから仕組みを眺める

・帯域制御はクライアント側から・帯域制御はクライアント側からGETGET

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:30: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:65: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:63: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:57: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:37: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:3b: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:6e:6e:65:63:74:69:6f:6e:3a:20:4b:65:65:70:2d:41:6c:69:76:65:0d:0a:0d:0a

Page 14: Smooth Streaming

パケットから仕組みを眺めるパケットから仕組みを眺める

達人になると達人になると先ほどの文字の羅列が読めるようにな先ほどの文字の羅列が読めるようにな

るるという伝説もありますが、という伝説もありますが、

私は達人どころか素人なので私は達人どころか素人なので読めるように変換します読めるように変換します

Page 15: Smooth Streaming

パケットから仕組みを眺めるパケットから仕組みを眺める

・帯域制御はクライアント側から・帯域制御はクライアント側からGETGET

GET /bbb/Big%20Buck%20Bunny.ism/QualityLevels(300000)/Fragments(video=0)?packetpair=633837008100563875 HTTP/1.1Accept: */*Accept-Encoding: gzip, deflateUser-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:30080Connection: Keep-Alive

Page 16: Smooth Streaming

パケットから仕組みを眺めるパケットから仕組みを眺める

・帯域制御はクライアント側から・帯域制御はクライアント側からGETGET

GET /bbb/Big%20Buck%20Bunny.ism/QualityLevels(2436000)/Fragments(video=20000000)?packetpair=633837008102878180 HTTP/1.1Accept: */*Accept-Encoding: gzip, deflateUser-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:30080Connection: Keep-Alive

Page 17: Smooth Streaming

パケットから仕組みを眺めるパケットから仕組みを眺める

クライアントからのクライアントからの GETGET==

SilverlightSilverlight から配信品質のから配信品質のコントロールができるコントロールができる

エンジニアにとってはエンジニアにとっては開発・展開が容易開発・展開が容易 !!!!

Page 18: Smooth Streaming

パケットから仕組みを眺めるパケットから仕組みを眺める

動画データは動画データは 14601460バイトのバイトの

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

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

Page 19: Smooth Streaming

まとめまとめ

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

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

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

Page 20: Smooth Streaming

まとめまとめ

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

Page 21: Smooth Streaming

まとめまとめ

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

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

Page 22: Smooth Streaming

まとめまとめ

これって素晴らしいこれって素晴らしいユーザーエクスペリエンスじゃないですか?ユーザーエクスペリエンスじゃないですか?

Page 23: Smooth Streaming

ご清聴ありがとうございましたご清聴ありがとうございました