動画の視聴解析については、クラウドの一般化とともに、結構簡単に実装できるようになっています。今回は、システムイメージを理解してもらうために、クラウド(AWS)を利用したビーコン型視聴解析のサンプル実装を解説します。
基本構成
今回実装するシステムは以下の構成になります
- プレイヤー(Video.js)
- ビデオ再生前に、ビーコンAPIからUID・SIDを受け取る
- ビーコンAPIに対し定期的に視聴状況を送信する
- ビーコンAPI(php)
- プレイヤーに対し、UID・SIDを割り振る
- 受け取ったビーコンに対し以下の情報を追加し、バッファ(Kinesis)に送信する
- 受信時刻
- クライアントのIPアドレス
- バッファ(Kinesis)
- 入力ビーコンをバッファリングし、リアルタイム処理系(Spark)に引き渡す(正確にはSparkがKinesisからデータを消費する)
- リアルタイム処理(Spark)
- 入力ビーコンに対し、リアルタイムに処理を行い、データベースに格納する
- データベース(Mongodb)
- Sparkで処理されたデータを格納する
- 表示
- データベースから同時接続数等をグラフ表示する