再生前にプロモーション広告を流してマネタイズする為のメモ書きです。みたく視聴は無料だけどたまに広告が流れるとかそんな奴です。形式のサービスだとその動画も使ってマネタイズしないと中々難しそうです。どのように実装していくかを検証します。現在の再生位置を取得スポンサーリンクVideo.jsで検知したいイベント動画の再生中に何かアクションを起こすには、その動画が現在どんな状態であるかを把握する必要があります。用意されているのでこれを使います。それぞれの動画の状態を検知するにはこんな方法となります。player.seeking()これで大体の状態判定が可能となりますが、「最初に再生された時」や、「一時停止した後にまた再生された時」という複雑な判定はこれだけでは無理なので、上記3つの方法を組み合わせて独自に判定するようにしてみます。"unknown";}return;}})(jQuery);最初の再生を判定するにはその直前の状態を知っておく必要があるので、現在と直前のステータスを変数に入れて管理します。このような機能があるのでそれを真似てみました。Video.jsの状態判定デモ上記の判定スクリプトを利用したデモが下記になります。動画の左上に現在の状態と、その直前の状態を表示するようにしてみました。状態を吐き出しているので、ウェブコンソールを使えば詳細が見られると思いますが、シーク時は一度で下記の状態変化を経ているようです。判定してシーク時はそのどちらにもに引っかからないようにしています。Video.jsでプロモーション動画を差し込む上記スクリプトで細かい状態が判定出来るようになったので、これを使って本編の前にプロモーション動画を差し込んでみます。したものを使い下記デモを作ってみました。プロモーション動画のデモ最初にプロモーション動画が流れ、5秒後にスキップボタンを表示するようにしています。本編の動画はスキップボタンを押すか、プロモーション動画が終われば配信される仕組みです。Video.jsにプロモーション動画を実装するコードこのプロモーション動画はこのように実装しています。