SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
ストリーミング視聴解析の
基礎セミナー(続き)
2018年7月18日
鍋島 公章
1Copyright (c) kosho.org
第1部:ビデオプレイヤーの内部イベント
• 再生開始、再生中、終了等
第2部:プレイヤーから解析系へのビーコン送信
• ビーコン型解析
• イベントのフック
• 汎用IoTプロトコル:MQTT(双方向通信)
• ブローカー:Azure IoT Hub
第3部:汎用解析系での解析/Azure
• データ表示:Device Explorer、Time Series Insight
• リアルタイム解析:SAQL
• ビジネスインテリジェンス:Power BI
前回おさらい:前回アウトライン
2
Copyright (c) kosho.org
• HTML 5 Video
前回おさらい:ビデオプレイヤーの内部イベント
分類 イベント 概要 分類 イベント 概要
再生状況
play 再生開始(キック)
準備状況
emptied メディアバッファが空
waiting 再生可能を待つ resize 画面サイズ取得済
playing 再生開始(実効) durationchange コンテンツ長取得済
timeupdate 再生位置変更(再生中) loadedmetadata メタ情報取得済
seeking シーク中 loadstart 読み込みを開始
seeked シーク終了 progress メディアダウンロード中
pause 停止 suspend メディアダウンロードがアイドル
ended 再生終了 loadeddata 再生可能(次のフレーム)
ratechange 再生速度(倍速再生等)変更 canplay 再生可能(先送り可能)
volumechange 音量変更 canplaythrough 再生可能(バッファリングなし連続)
エラー
abort ダウンロード失敗(取得中止)
stalled ダウンロードできない(取得継続)
error エラー発生
3
Copyright (c) kosho.org
• Video.js拡張
Copyright (c) kosho.org
4
前回おさらい:ビデオプレイヤーの内部イベント
分類 イベント 概要 分類 イベント 概要
再生状況
ready プレイヤー準備が完了
準備状況
beforepluginsetup プラグイン設定の直前
dispose プレイヤー削除が完了 pluginsetup プラグイン設定が完了
firstplay 1回目の再生
usingcustomcontrols,
usingnativecontrols
カスタムもしくはネイティブコ
ントロールが使用された
playerresize プレイヤーのリサイズ完了
controlsdisabled,
controlsenabled
コントロールが有効化・無効
化された
componentresize コンポーネントのリサイズ完了 tap コンポーネント追加が完了
enterFullWindow,
exitFullWindow
フルスクリーンに入る・出る posterchange ポスター画像が変化
fullscreenchange フルスクリーンが変化 textdata テキスト取得
useractive,
userinactive
ユーザアクティブが変化 texttrackchange テキストが変化
• ブラウザ・ビデオプレイヤーの状況把握について追加
• ダウンロード速度、使用プロトコル
• W3C Web Performance Timing API
• Resource Timing API
• 再生品質
• Media Source Extensions (MSE)
• VideoPlaybackQuality
• CDNキャッシュヒット
• HTTPヘッダ情報(x-cache)
Copyright (c) kosho.org
5
今回の目的
• W3C Web Performance Timing API
• ブラウザのパフォーマンス計測用API
• W3C Web Performance Working Groupが策定
• APIs
Copyright (c) kosho.org
6
ダウンロード速度計測
API 概要
User Timing API ブラウザ表示に関する時間取得
Resource Timing API リソースのロードに関する時間取得
Frame Timing API フレーム表示に関する時間取得
Server Timing API サーバが送信するヒント情報の取得
High Resolution Time API マイクロ秒単位のタイムスタンプ
• 使い方
• timingList = window.performance.getEntriesByType("resource");
• 取得可能な情報
Copyright (c) kosho.org
7
Resource Timing API
値 概要 例
name URL https://example.jp/a.png
entryType タイプ resouece(固定)
duration
ダウンロード時間
(responseEnd-startTime)
5345.0000000011641
transferTime ダウンロード量(HTTPヘッダ含む) 93315
encodedBodySize コンテンツ長(エンコード後) 92990
decodedBodySize コンテンツ長(本体) 92990
nextHopPrototol プロトコル http/1.1, h2, http/2+quic/39
initiatorType 取得タイプ(HTMLタグ名) link, img, script, css, iframe, xmlhttprequest
<link ...>, <img …>, <script>, <css …>, <iframe …>
その他:xmlhttprequest
• 取得可能な情報(タイミング値)
Copyright (c) kosho.org
8
Resource Timing API
値 概要 例
startTime ダウンロード処理開始 613.7000000016997
redirectStar httpリダイレクト開始 0
redirectEnd httpリダイレクト処理終了 0
fetchStart 実処理開始 613.7000000016997
domainLookupStart DNSルックアップ開始 796.4000000065425
domainLookupEnd DNSルックアップ終了 913.7000000046100
connectStart TCP接続開始 913.7000000046100
secureConnectionStart SSL開始 916.4000000018859
connectEnd TCP接続完了 943.7000000034459
requestStart クエスト送信 945.2000000019325
responseStart レスポンス受信開始 957.8000000037719
responseEnd レスポンス受信完了 5958.7000000028638 単位:マイクロ秒
リダイレクトが発生
しない場合は0
• 注意点1:配列
• timingList=window.performance.getEntriesByType(“resource”)
• ダウンロードしたすべてのファイルに対するタイミング情報が配列として得られる
• timingList[0]
• name: https://example.com/jquery.js
• startTime: 133 …
• timingList[1]
• name: https://example.net/icon.png
• startTime: 135 …
• timingList[2]
• name: https://example.jp/hello00.ts
• startTime: 936 …
• …
Copyright (c) kosho.org
9
Resource Timing API
jsやpngファイルも含む全外部ファイル
サンプル(F12開発者ツール、Console)
Copyright (c) kosho.org
10
Resource Timing API
結果は配列
手入力
• 注意点2:クロスドメイン
• 集計サイトが別にある場合(クロスドメイン)
• デフォルトで取得可能な情報:startTime、responseEnd
• 上記以外は0が返る
• 詳細情報の取得
• Timing-Allow-Origin:*
Copyright (c) kosho.org
11
Resource Timing API
HTML5
Video
Player
視聴解析サイト
video.html
視聴ページ
ブラウザ
メディアサーバ
• Media Source Extensions (MSE)
• ブラウザ用HTTPベース・メディアストリーミングのソースハンドリングAPI
• 実装的な意味合い
• HLSやDASH実装は、メディアチャンクを、MSE経由でブラウザに渡す
• ブラウザは受け取ったメディアチャンクを再生処理
• アダプティブストリーミング等の高度な処理はdash.js等で実装する
Copyright (c) kosho.org
12
Media Source Extensions (MSE)
hls.js
dash.js
ブラウザ内部
MSE API
メディア
サーバ
00.ts
01.ts 02.ts
• インターフェイス
• サンプルプレイヤー
• https://tech.jstream.jp/analytics/mse/mse-sample.html
Copyright (c) kosho.org
13
Media Source Extensions
インターフェイス 概要
MediaSource 再生ソース
SouceBuffer チャンクバッファ
SouceBufferList チャンクバッファのリスト
VideoPlaybackQuality 再生品質
TrackDefault トラック情報
TrackDefaultList トラック情報のリスト
• 取得可能な情報
• 使い方
• var video = document.getElementById('myVideo’);
• videoPlaybackQuality = video.getVideoPlaybackQuality();
• 注意点:実装状況
• Chrome:サポートせず
• Firefox: totalFrameDelayサポートせずCopyright (c) kosho.org
14
VideoPlaybackQuality
値 概要
creationTime 経過時間
totalVideoFrames 総フレーム数
droppedVideoFrames ドロップしたフレーム数
corruptedVideoFrames 壊れたフレームの数
totalFrameDelay フレーム表示の遅れ
• 例 https://tech.jstream.jp/analytics/mse/mse-sample.html
• timeUpdate(約250ms単位)のタイミングでconsole.log表示
• チャンク長:1秒
• 30FPS
Copyright (c) kosho.org
15
VideoPlaybackQuality
creationTime, totalVideoFrames, droppedVideoFrames, corruptedVideoFrames, totalFrameDelay
timeUpdate値
チャンク番号 30FPS ((148-119)/1)
• キャッシュヒット情報が格納されているHTTPヘッダ
• x-cache
• J-Stream CDNext、Cloudfront、EdgeCast、Fastly
• 例
• x-cache: hit
• cf-cache-status
• CloudFlare
• 注意点:クロスドメイン
• Access-Control-Expose-Headers: X-Cache
Copyright (c) kosho.org
16
CDNキャッシュヒット
HTML5
Video
Player
ブラウザ
メディアサーバ
• 内部イベント
• 再生状況、準備状況、エラー
• ダウンロード速度、使用プロトコル
• W3C Web Performance Timing API
• Resource Timing API:ダウンロードの詳細なタイミング、使用したプロトコル
• 再生品質
• Media Source Extensions (MSE)
• VideoPlaybackQuality:ドロップ、破損、遅れ
• Timing-Allow-Origin:*
• CDNキャッシュヒット
• HTTPヘッダ情報(x-cache)
• Access-Control-Expose-Headers
Copyright (c) kosho.org
17
まとめ:ブラウザ・ビデオプレイヤーの状況把握

Weitere ähnliche Inhalte

Was ist angesagt?

GCPでStreamなデータパイプライン作った
GCPでStreamなデータパイプライン作ったGCPでStreamなデータパイプライン作った
GCPでStreamなデータパイプライン作ったShu (shoe116)
 
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクトe-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクトshigeyuki azuchi
 
Differential Privacy Under Fireの攻撃手法の解説
Differential Privacy Under Fireの攻撃手法の解説Differential Privacy Under Fireの攻撃手法の解説
Differential Privacy Under Fireの攻撃手法の解説shimesaba3104
 
neo4jを使ったブロックチェーンデータの解析
neo4jを使ったブロックチェーンデータの解析neo4jを使ったブロックチェーンデータの解析
neo4jを使ったブロックチェーンデータの解析shigeyuki azuchi
 
Kapacitorでネットワークにおける リアルタイムイベント検出
Kapacitorでネットワークにおけるリアルタイムイベント検出Kapacitorでネットワークにおけるリアルタイムイベント検出
Kapacitorでネットワークにおける リアルタイムイベント検出tetsusat
 
福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」
福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」
福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」shigeyuki azuchi
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouchYohei Sasaki
 
Deconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainDeconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainTakahiro Hayashida
 
Landsat-8直接受信・即時公開サービス ((独)産業技術総合研究所情報技術研究部門 岩田 敏彰 様)
Landsat-8直接受信・即時公開サービス ((独)産業技術総合研究所情報技術研究部門 岩田 敏彰 様)Landsat-8直接受信・即時公開サービス ((独)産業技術総合研究所情報技術研究部門 岩田 敏彰 様)
Landsat-8直接受信・即時公開サービス ((独)産業技術総合研究所情報技術研究部門 岩田 敏彰 様)OSgeo Japan
 
シェルスクリプトで簡易ping監視
シェルスクリプトで簡易ping監視シェルスクリプトで簡易ping監視
シェルスクリプトで簡易ping監視Kazuhiro Nishiyama
 
Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Masaru Watanabe
 
Data Center TCP (DCTCP)
Data Center TCP (DCTCP)Data Center TCP (DCTCP)
Data Center TCP (DCTCP)kato_t1988
 
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会Keisuke Takahashi
 
第2回Web技術勉強会 webパフォーマンス改善編
第2回Web技術勉強会 webパフォーマンス改善編第2回Web技術勉強会 webパフォーマンス改善編
第2回Web技術勉強会 webパフォーマンス改善編tzm_freedom
 
OCP Serverを用いた OpenStack Containerの検証
 OCP Serverを用いたOpenStack Containerの検証 OCP Serverを用いたOpenStack Containerの検証
OCP Serverを用いた OpenStack Containerの検証Takashi Sogabe
 
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたOpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたTakashi Sogabe
 

Was ist angesagt? (20)

GCPでStreamなデータパイプライン作った
GCPでStreamなデータパイプライン作ったGCPでStreamなデータパイプライン作った
GCPでStreamなデータパイプライン作った
 
暗認本読書会10
暗認本読書会10暗認本読書会10
暗認本読書会10
 
Dp under fire
Dp under fireDp under fire
Dp under fire
 
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクトe-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
 
Differential Privacy Under Fireの攻撃手法の解説
Differential Privacy Under Fireの攻撃手法の解説Differential Privacy Under Fireの攻撃手法の解説
Differential Privacy Under Fireの攻撃手法の解説
 
neo4jを使ったブロックチェーンデータの解析
neo4jを使ったブロックチェーンデータの解析neo4jを使ったブロックチェーンデータの解析
neo4jを使ったブロックチェーンデータの解析
 
Kapacitorでネットワークにおける リアルタイムイベント検出
Kapacitorでネットワークにおけるリアルタイムイベント検出Kapacitorでネットワークにおけるリアルタイムイベント検出
Kapacitorでネットワークにおける リアルタイムイベント検出
 
福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」
福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」
福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」
 
CouchDB JP & BigCouch
CouchDB JP & BigCouchCouchDB JP & BigCouch
CouchDB JP & BigCouch
 
Deconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainDeconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchain
 
Landsat-8直接受信・即時公開サービス ((独)産業技術総合研究所情報技術研究部門 岩田 敏彰 様)
Landsat-8直接受信・即時公開サービス ((独)産業技術総合研究所情報技術研究部門 岩田 敏彰 様)Landsat-8直接受信・即時公開サービス ((独)産業技術総合研究所情報技術研究部門 岩田 敏彰 様)
Landsat-8直接受信・即時公開サービス ((独)産業技術総合研究所情報技術研究部門 岩田 敏彰 様)
 
シェルスクリプトで簡易ping監視
シェルスクリプトで簡易ping監視シェルスクリプトで簡易ping監視
シェルスクリプトで簡易ping監視
 
P2P型CDN
P2P型CDNP2P型CDN
P2P型CDN
 
Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界Apache Drill で見る Twitter の世界
Apache Drill で見る Twitter の世界
 
Data Center TCP (DCTCP)
Data Center TCP (DCTCP)Data Center TCP (DCTCP)
Data Center TCP (DCTCP)
 
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
 
第2回Web技術勉強会 webパフォーマンス改善編
第2回Web技術勉強会 webパフォーマンス改善編第2回Web技術勉強会 webパフォーマンス改善編
第2回Web技術勉強会 webパフォーマンス改善編
 
OCP Serverを用いた OpenStack Containerの検証
 OCP Serverを用いたOpenStack Containerの検証 OCP Serverを用いたOpenStack Containerの検証
OCP Serverを用いた OpenStack Containerの検証
 
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきましたOpenContrail Users Event at OpenStack Summit Paris 行ってきました
OpenContrail Users Event at OpenStack Summit Paris 行ってきました
 
Mmo game networking_1
Mmo game networking_1Mmo game networking_1
Mmo game networking_1
 

Ähnlich wie ストリーミング視聴解析の基礎セミナー(続き)

シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコシステムズ合同会社
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet ServicesNaoto Gohko
 
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)Photon運営事務局
 
Myfirst cloudfoundry intro_20161201
Myfirst cloudfoundry intro_20161201Myfirst cloudfoundry intro_20161201
Myfirst cloudfoundry intro_20161201Tomohiro Ichimura
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)Shinichiro Isago
 
Spring BootでHello Worldのその先へ
Spring BootでHello Worldのその先へSpring BootでHello Worldのその先へ
Spring BootでHello Worldのその先へMasatoshi Fujino
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングYosuke Mizutani
 
cloudpack負荷職人結果レポート(サンプル)
cloudpack負荷職人結果レポート(サンプル)cloudpack負荷職人結果レポート(サンプル)
cloudpack負荷職人結果レポート(サンプル)iret, Inc.
 
Azure Fabric Service Reliable Collection
Azure Fabric Service Reliable CollectionAzure Fabric Service Reliable Collection
Azure Fabric Service Reliable CollectionTakekazu Omi
 
Firefox OS and Web server
Firefox OS and Web serverFirefox OS and Web server
Firefox OS and Web serverTomoaki Konno
 
HashiCorp Vault 紹介
HashiCorp Vault 紹介HashiCorp Vault 紹介
HashiCorp Vault 紹介hashicorpjp
 
Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUse JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUehara Junji
 
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみようGoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみようHidemasa Togashi
 
LoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンLoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンTomokazu Kizawa
 
HTML5など社内勉強会 Vol.8 - WebSocket
HTML5など社内勉強会 Vol.8 - WebSocketHTML5など社内勉強会 Vol.8 - WebSocket
HTML5など社内勉強会 Vol.8 - WebSocketGeorge Harada
 
Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用Yukio Kumazawa
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月VirtualTech Japan Inc.
 
DockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JPDockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JPGo Chiba
 

Ähnlich wie ストリーミング視聴解析の基礎セミナー(続き) (20)

Video mqtt
Video mqttVideo mqtt
Video mqtt
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
 
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
 
Myfirst cloudfoundry intro_20161201
Myfirst cloudfoundry intro_20161201Myfirst cloudfoundry intro_20161201
Myfirst cloudfoundry intro_20161201
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
 
Spring BootでHello Worldのその先へ
Spring BootでHello Worldのその先へSpring BootでHello Worldのその先へ
Spring BootでHello Worldのその先へ
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
 
cloudpack負荷職人結果レポート(サンプル)
cloudpack負荷職人結果レポート(サンプル)cloudpack負荷職人結果レポート(サンプル)
cloudpack負荷職人結果レポート(サンプル)
 
Azure Fabric Service Reliable Collection
Azure Fabric Service Reliable CollectionAzure Fabric Service Reliable Collection
Azure Fabric Service Reliable Collection
 
Firefox OS and Web server
Firefox OS and Web serverFirefox OS and Web server
Firefox OS and Web server
 
HashiCorp Vault 紹介
HashiCorp Vault 紹介HashiCorp Vault 紹介
HashiCorp Vault 紹介
 
Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUse JWT access-token on Grails REST API
Use JWT access-token on Grails REST API
 
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみようGoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
GoAzure 2015:IoTなどの大量データをStream Analyticsでリアルタイムデータ分析してみよう
 
LoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオンLoRaWANとAzure IoT Hub接続ハンズオン
LoRaWANとAzure IoT Hub接続ハンズオン
 
HTML5など社内勉強会 Vol.8 - WebSocket
HTML5など社内勉強会 Vol.8 - WebSocketHTML5など社内勉強会 Vol.8 - WebSocket
HTML5など社内勉強会 Vol.8 - WebSocket
 
Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用Share pointを支えるsql server2014最新情報 tokyo_公開用
Share pointを支えるsql server2014最新情報 tokyo_公開用
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
 
DockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JPDockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JP
 

Mehr von Masaaki Nabeshima

ストリーミングサービス研究グループ
ストリーミングサービス研究グループストリーミングサービス研究グループ
ストリーミングサービス研究グループMasaaki Nabeshima
 
通信と放送の融合を考えるBoF 5
通信と放送の融合を考えるBoF 5通信と放送の融合を考えるBoF 5
通信と放送の融合を考えるBoF 5Masaaki Nabeshima
 
セキュリティ管理 入門セミナ
セキュリティ管理 入門セミナセキュリティ管理 入門セミナ
セキュリティ管理 入門セミナMasaaki Nabeshima
 
IPv4 IPv6 Multi Protocol Media Player
IPv4 IPv6 Multi  Protocol Media PlayerIPv4 IPv6 Multi  Protocol Media Player
IPv4 IPv6 Multi Protocol Media PlayerMasaaki Nabeshima
 
国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状Masaaki Nabeshima
 
サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察Masaaki Nabeshima
 
海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点Masaaki Nabeshima
 
ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)Masaaki Nabeshima
 
プレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDNプレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDNMasaaki Nabeshima
 
Video analytics seminar 2018
Video analytics seminar 2018Video analytics seminar 2018
Video analytics seminar 2018Masaaki Nabeshima
 
CDNとCDSPビジネスの動向と展望
CDNとCDSPビジネスの動向と展望CDNとCDSPビジネスの動向と展望
CDNとCDSPビジネスの動向と展望Masaaki Nabeshima
 

Mehr von Masaaki Nabeshima (20)

vMVPDの動向について
vMVPDの動向についてvMVPDの動向について
vMVPDの動向について
 
Open Caching Update
Open Caching UpdateOpen Caching Update
Open Caching Update
 
ストリーミングサービス研究グループ
ストリーミングサービス研究グループストリーミングサービス研究グループ
ストリーミングサービス研究グループ
 
通信と放送の融合を考えるBoF 5
通信と放送の融合を考えるBoF 5通信と放送の融合を考えるBoF 5
通信と放送の融合を考えるBoF 5
 
セキュリティ管理 入門セミナ
セキュリティ管理 入門セミナセキュリティ管理 入門セミナ
セキュリティ管理 入門セミナ
 
ATSC 3.0, MMT, Multicast
ATSC 3.0, MMT, MulticastATSC 3.0, MMT, Multicast
ATSC 3.0, MMT, Multicast
 
IPv4 IPv6 Multi Protocol Media Player
IPv4 IPv6 Multi  Protocol Media PlayerIPv4 IPv6 Multi  Protocol Media Player
IPv4 IPv6 Multi Protocol Media Player
 
国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状国内トラフィックエンジニアリングの現状
国内トラフィックエンジニアリングの現状
 
サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察サイマルキャスト コストと可能性についての考察
サイマルキャスト コストと可能性についての考察
 
IPv4 IPv6 Media Player
IPv4 IPv6 Media PlayerIPv4 IPv6 Media Player
IPv4 IPv6 Media Player
 
IPv6 Survey 2019 Dec Update
IPv6 Survey 2019 Dec UpdateIPv6 Survey 2019 Dec Update
IPv6 Survey 2019 Dec Update
 
JP Web Sites IPv6 Survey
JP Web Sites IPv6 SurveyJP Web Sites IPv6 Survey
JP Web Sites IPv6 Survey
 
IPv6 Survey 2019
IPv6 Survey 2019IPv6 Survey 2019
IPv6 Survey 2019
 
海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点海賊版対策:CDN事業者からの視点
海賊版対策:CDN事業者からの視点
 
ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)ストリーミング視聴解析の分類(ドラフト20180718)
ストリーミング視聴解析の分類(ドラフト20180718)
 
ISP CDN draft2
ISP CDN draft2ISP CDN draft2
ISP CDN draft2
 
プレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDNプレイヤーサイド・マルチCDN
プレイヤーサイド・マルチCDN
 
Video analytics seminar 2018
Video analytics seminar 2018Video analytics seminar 2018
Video analytics seminar 2018
 
CDNの必要性と将来性
CDNの必要性と将来性CDNの必要性と将来性
CDNの必要性と将来性
 
CDNとCDSPビジネスの動向と展望
CDNとCDSPビジネスの動向と展望CDNとCDSPビジネスの動向と展望
CDNとCDSPビジネスの動向と展望
 

Kürzlich hochgeladen

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Kürzlich hochgeladen (8)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

ストリーミング視聴解析の基礎セミナー(続き)

  • 2. 第1部:ビデオプレイヤーの内部イベント • 再生開始、再生中、終了等 第2部:プレイヤーから解析系へのビーコン送信 • ビーコン型解析 • イベントのフック • 汎用IoTプロトコル:MQTT(双方向通信) • ブローカー:Azure IoT Hub 第3部:汎用解析系での解析/Azure • データ表示:Device Explorer、Time Series Insight • リアルタイム解析:SAQL • ビジネスインテリジェンス:Power BI 前回おさらい:前回アウトライン 2 Copyright (c) kosho.org
  • 3. • HTML 5 Video 前回おさらい:ビデオプレイヤーの内部イベント 分類 イベント 概要 分類 イベント 概要 再生状況 play 再生開始(キック) 準備状況 emptied メディアバッファが空 waiting 再生可能を待つ resize 画面サイズ取得済 playing 再生開始(実効) durationchange コンテンツ長取得済 timeupdate 再生位置変更(再生中) loadedmetadata メタ情報取得済 seeking シーク中 loadstart 読み込みを開始 seeked シーク終了 progress メディアダウンロード中 pause 停止 suspend メディアダウンロードがアイドル ended 再生終了 loadeddata 再生可能(次のフレーム) ratechange 再生速度(倍速再生等)変更 canplay 再生可能(先送り可能) volumechange 音量変更 canplaythrough 再生可能(バッファリングなし連続) エラー abort ダウンロード失敗(取得中止) stalled ダウンロードできない(取得継続) error エラー発生 3 Copyright (c) kosho.org
  • 4. • Video.js拡張 Copyright (c) kosho.org 4 前回おさらい:ビデオプレイヤーの内部イベント 分類 イベント 概要 分類 イベント 概要 再生状況 ready プレイヤー準備が完了 準備状況 beforepluginsetup プラグイン設定の直前 dispose プレイヤー削除が完了 pluginsetup プラグイン設定が完了 firstplay 1回目の再生 usingcustomcontrols, usingnativecontrols カスタムもしくはネイティブコ ントロールが使用された playerresize プレイヤーのリサイズ完了 controlsdisabled, controlsenabled コントロールが有効化・無効 化された componentresize コンポーネントのリサイズ完了 tap コンポーネント追加が完了 enterFullWindow, exitFullWindow フルスクリーンに入る・出る posterchange ポスター画像が変化 fullscreenchange フルスクリーンが変化 textdata テキスト取得 useractive, userinactive ユーザアクティブが変化 texttrackchange テキストが変化
  • 5. • ブラウザ・ビデオプレイヤーの状況把握について追加 • ダウンロード速度、使用プロトコル • W3C Web Performance Timing API • Resource Timing API • 再生品質 • Media Source Extensions (MSE) • VideoPlaybackQuality • CDNキャッシュヒット • HTTPヘッダ情報(x-cache) Copyright (c) kosho.org 5 今回の目的
  • 6. • W3C Web Performance Timing API • ブラウザのパフォーマンス計測用API • W3C Web Performance Working Groupが策定 • APIs Copyright (c) kosho.org 6 ダウンロード速度計測 API 概要 User Timing API ブラウザ表示に関する時間取得 Resource Timing API リソースのロードに関する時間取得 Frame Timing API フレーム表示に関する時間取得 Server Timing API サーバが送信するヒント情報の取得 High Resolution Time API マイクロ秒単位のタイムスタンプ
  • 7. • 使い方 • timingList = window.performance.getEntriesByType("resource"); • 取得可能な情報 Copyright (c) kosho.org 7 Resource Timing API 値 概要 例 name URL https://example.jp/a.png entryType タイプ resouece(固定) duration ダウンロード時間 (responseEnd-startTime) 5345.0000000011641 transferTime ダウンロード量(HTTPヘッダ含む) 93315 encodedBodySize コンテンツ長(エンコード後) 92990 decodedBodySize コンテンツ長(本体) 92990 nextHopPrototol プロトコル http/1.1, h2, http/2+quic/39 initiatorType 取得タイプ(HTMLタグ名) link, img, script, css, iframe, xmlhttprequest <link ...>, <img …>, <script>, <css …>, <iframe …> その他:xmlhttprequest
  • 8. • 取得可能な情報(タイミング値) Copyright (c) kosho.org 8 Resource Timing API 値 概要 例 startTime ダウンロード処理開始 613.7000000016997 redirectStar httpリダイレクト開始 0 redirectEnd httpリダイレクト処理終了 0 fetchStart 実処理開始 613.7000000016997 domainLookupStart DNSルックアップ開始 796.4000000065425 domainLookupEnd DNSルックアップ終了 913.7000000046100 connectStart TCP接続開始 913.7000000046100 secureConnectionStart SSL開始 916.4000000018859 connectEnd TCP接続完了 943.7000000034459 requestStart クエスト送信 945.2000000019325 responseStart レスポンス受信開始 957.8000000037719 responseEnd レスポンス受信完了 5958.7000000028638 単位:マイクロ秒 リダイレクトが発生 しない場合は0
  • 9. • 注意点1:配列 • timingList=window.performance.getEntriesByType(“resource”) • ダウンロードしたすべてのファイルに対するタイミング情報が配列として得られる • timingList[0] • name: https://example.com/jquery.js • startTime: 133 … • timingList[1] • name: https://example.net/icon.png • startTime: 135 … • timingList[2] • name: https://example.jp/hello00.ts • startTime: 936 … • … Copyright (c) kosho.org 9 Resource Timing API jsやpngファイルも含む全外部ファイル
  • 11. • 注意点2:クロスドメイン • 集計サイトが別にある場合(クロスドメイン) • デフォルトで取得可能な情報:startTime、responseEnd • 上記以外は0が返る • 詳細情報の取得 • Timing-Allow-Origin:* Copyright (c) kosho.org 11 Resource Timing API HTML5 Video Player 視聴解析サイト video.html 視聴ページ ブラウザ メディアサーバ
  • 12. • Media Source Extensions (MSE) • ブラウザ用HTTPベース・メディアストリーミングのソースハンドリングAPI • 実装的な意味合い • HLSやDASH実装は、メディアチャンクを、MSE経由でブラウザに渡す • ブラウザは受け取ったメディアチャンクを再生処理 • アダプティブストリーミング等の高度な処理はdash.js等で実装する Copyright (c) kosho.org 12 Media Source Extensions (MSE) hls.js dash.js ブラウザ内部 MSE API メディア サーバ 00.ts 01.ts 02.ts
  • 13. • インターフェイス • サンプルプレイヤー • https://tech.jstream.jp/analytics/mse/mse-sample.html Copyright (c) kosho.org 13 Media Source Extensions インターフェイス 概要 MediaSource 再生ソース SouceBuffer チャンクバッファ SouceBufferList チャンクバッファのリスト VideoPlaybackQuality 再生品質 TrackDefault トラック情報 TrackDefaultList トラック情報のリスト
  • 14. • 取得可能な情報 • 使い方 • var video = document.getElementById('myVideo’); • videoPlaybackQuality = video.getVideoPlaybackQuality(); • 注意点:実装状況 • Chrome:サポートせず • Firefox: totalFrameDelayサポートせずCopyright (c) kosho.org 14 VideoPlaybackQuality 値 概要 creationTime 経過時間 totalVideoFrames 総フレーム数 droppedVideoFrames ドロップしたフレーム数 corruptedVideoFrames 壊れたフレームの数 totalFrameDelay フレーム表示の遅れ
  • 15. • 例 https://tech.jstream.jp/analytics/mse/mse-sample.html • timeUpdate(約250ms単位)のタイミングでconsole.log表示 • チャンク長:1秒 • 30FPS Copyright (c) kosho.org 15 VideoPlaybackQuality creationTime, totalVideoFrames, droppedVideoFrames, corruptedVideoFrames, totalFrameDelay timeUpdate値 チャンク番号 30FPS ((148-119)/1)
  • 16. • キャッシュヒット情報が格納されているHTTPヘッダ • x-cache • J-Stream CDNext、Cloudfront、EdgeCast、Fastly • 例 • x-cache: hit • cf-cache-status • CloudFlare • 注意点:クロスドメイン • Access-Control-Expose-Headers: X-Cache Copyright (c) kosho.org 16 CDNキャッシュヒット HTML5 Video Player ブラウザ メディアサーバ
  • 17. • 内部イベント • 再生状況、準備状況、エラー • ダウンロード速度、使用プロトコル • W3C Web Performance Timing API • Resource Timing API:ダウンロードの詳細なタイミング、使用したプロトコル • 再生品質 • Media Source Extensions (MSE) • VideoPlaybackQuality:ドロップ、破損、遅れ • Timing-Allow-Origin:* • CDNキャッシュヒット • HTTPヘッダ情報(x-cache) • Access-Control-Expose-Headers Copyright (c) kosho.org 17 まとめ:ブラウザ・ビデオプレイヤーの状況把握