Auto hide next up card for Amazon Prime Video v2.17.8 リリース

ツールchat_bubble0

Amazon Prime VideoのNext up等の邪魔な要素を非表示にする「Auto hide next up card for Amazon Prime Video v2.17.8」をリリースしました。

変更点

  • 「動画終了直前に次のエピソードボタンを自動クリックする」機能を追加
  • 「実験的: 自動再生が機能しなかった場合に次のエピソードの再生を試みる」機能を追加
  • Prime Videoの自動再生についてのお知らせを追加(ダイアログ内に表示)
  • 自動再生関連の機能名とツールチップを更新

最近、Prime Videoの自動再生の仕様が変更されました。具体的には、自動再生がオンの場合の「Next upの表示回数」と「非表示ボタンをクリックした時の挙動」が変更されました。

自動再生がオンになっている場合はNext upに非表示ボタンが表示されますが、以前までNext upは「コンテンツごとにタイミングが決められたNext up」と「動画終了数秒前に表示されるNext up」の2つがあり、前者と後者のタイミングが重なっていない限りは、前者を非表示ボタンで非表示にしても、動画終了数秒前に後者が表示されるという仕様でした。また、以前までは後者の非表示ボタンでのみ「自動再生(次のエピソードへの自動的な移動)のキャンセル」が行われていました。自動再生が有効な場合のNext upのタイマーは基本的に5秒なので、Auto hide next up cardでは残り時間が6秒以上であれば非表示ボタンをクリックするという実装にしています(6秒未満ならNext upのタイマーに従って自動再生を動作させたいという意図)。

なお自動再生が無効な場合は、「コンテンツごとにタイミングが決められたNext up」が非表示ボタン無しで表示され続けるという仕様で、これは以前から変わっていないと私は認識しています。

今回の仕様変更では、「動画終了数秒前に表示されるNext up」が廃止されたっぽい?です。つまり「コンテンツごとにタイミングが決められたNext up」のみになり、そちらの非表示ボタンが自動再生のキャンセルを行うようになってしまいました。Next upのタイマーは非表示ボタンをクリックしないと無効化できないので、私の認識では、動画終了に合わせてタイマーを動作させたいパターンを除き、非表示ボタンの自動クリックは必須です。自動再生のキャンセルはPrime Video側の実装によるもので、それはこちらからはどうすることもできないため、v2.17.8では自動再生の代替手段などを増やす方向で対処しました。

「動画終了直前に次のエピソードボタンを自動クリックする」機能は、動画終了の1.5秒前に「次のエピソード」ボタンを自動クリックします。自動再生がオフの場合、Prime Videoは次のエピソードボタンではなくNext upの表示を優先するようであるため、次のエピソードボタンが無くNext upがある場合はNext upを自動クリックします。この機能は動画終了直前の1.5秒を捨てることになるというデメリットが存在します。元々は残り1秒という条件だったのですが、少なくとも私の環境では、残り1.0x秒~1.1秒くらいの時点でプライムビデオ側が動画を閉じるという挙動を確認したので、安定性のために1.5秒にしました。

「実験的: 自動再生が機能しなかった場合に次のエピソードの再生を試みる」機能は、「動画を最後まで再生し、動画が閉じた場合に、動画プレイヤーの状態が次のエピソードのものになるっぽい」というPrime Videoの仕様・挙動を活用した機能です。動画プレイヤーの要素に動画プレイヤーが開いている時と同じclassを付け、その後でvideo要素を再生状態にするという実装です。この機能は、「Next upの非表示ボタンをクリックした後で、動画プレイヤーが閉じた」という条件を設けているため、自動再生はオンにしておく必要があります。Prime Videoがどういった条件でどのように動画プレイヤーの状態を更新するのかというのは私には分からないため、私としてはこの機能で再生されるコンテンツが必ずしも次のエピソードになるとは限らないのではないかという認識です。とは言っても、私の環境では期待通りに動作しているように見えます。

先述の2つの機能の実装に合わせて、v2.17.7までは「実験的: 動画終了時に自動的に閉じた場合に次のエピソードを再生する」という名称だった機能を「実験的: 動画が自動的に閉じた場合に次のエピソードの再生を試みる」に変更しました。こちらの機能は次のエピソードのIDを取得する目的でPrime Videoの通信を監視するため、広告ブロック系の拡張機能とは相性が悪い可能性があります。それがこの機能の注意点で、だからこそ今回は自動再生の代替手段などを増やすという形を取りました。

v2.17.8のインストール後、Prime Videoを開くと、「Next upを非表示にする」を無効にしていない限りは、以下の画像のように「お知らせ」を表示したダイアログが自動的に開くと思います。自動再生の代替手段となる機能はいずれもデフォルトでは無効にしているため、機能の周知のためにこれを表示することにしました。「このお知らせを今後表示しない」をクリックすると、このお知らせは非表示になり、以降はダイアログが自動で開くことはないと思います。

私に届けられる感想であったり、レビューであったり、Xでの投稿であったりを見るに、この拡張機能が「自動再生の理想的な挙動」を実現するものとして評価されている側面は間違いなくあると思っています。だからこそデフォルトの状態でそれを維持したかったのですが、今のところデメリットや注意点などが無い方法を発見・実現できていないため、3つの機能はいずれもデフォルトでは無効の状態で提供することにしました。私としては、まず「実験的」と付けている2つの機能を試し、それらに問題がある場合に「動画終了直前に次のエピソードボタンを自動クリックする」を試すことを推奨します。実験的と付けているのは、安定性・確実性が保証できないからで、何か危険があるわけではありません。動画終了直前の1.5秒を捨てる選択は、最後の手段にすべきだと私は思います。

ちなみに、ページ上のエピソードの一覧であったり、DOM上に存在するjsonを参照して次のエピソードの再生に繋げる、というのは可能だろうと以前から考えてはいるものの、やるなら「再生を開始するページ」「設定言語」「ドメイン」などが違っても動作することを保証したいという思いがあり、億劫で調査はほとんどしていません。Prime Video関連の拡張機能やユーザースクリプトなどを調べる限り、動画プレイヤーのみを参照・操作したり、通信を傍受する分には、Prime Videoのドメインが違っても仕様が共通していることがほとんどなので、その範囲で済ませたいという思いがあります。現状はあまり動画プレイヤーの外まで見る気はないのですが、今後気が向いたら調査するかもしれません。

ブラウザ拡張機能,自作ツール

藤乃音りょう