○「application-mode_opener + youtube-embedded-player_opener」「video_filter_saturate().css」version 20230511

author : ROM
https://hp.vector.co.jp/authors/VA038316/





○ README(取扱説明書)





●「application-mode_opener + youtube-embedded-player_opener」って何?

[ Google Chrome / Microsoft Edge 用 ] : コピペ(clipboard)にコピーしたURLアドレスを、タブバーやURLアドレス/ツールバーを表示しないアプリケーションモードとして開きます。
(ウィンドウ上部が省スペース(macOSネイティブのタイトルバー1行のみ)になるため、スポーツの試合など複数の動画を同時視聴したい時に重宝します)

URLアドレスがYouTubeの場合には、動画以外の部分は表示しないYouTube 埋め込みプレーヤーとして開きます。
(動画作成者がYouTube 埋め込みプレーヤーでの視聴を拒否している場合もありますが、URLアドレスの「https://」部分を「http://」にすると標準状態のUIのまま開きます)



・「application-mode_opener + youtube-embedded-player_opener」の使用方法

ダウンロードファイルを解凍すると、「application-mode_opener+」フォルダ内に6個のスクリプトファイル(.scpt形式)が入っています(※)。
スクリプトファイル(.scpt形式)はmacOSのネイティブなサービスを有効にする事でそのまま実行させることもできますし、アプリケーションファイル(.app形式)に書き出す事でサービスを有効にする事なく単体で実行させることもできます。
具体的な方法については、姉妹品?の「 input_transfer / clipboard_transfer 」に同梱のREAME(adb-install.htm)を読んで下さい。
https://hp.vector.co.jp/authors/VA038316/

※ 同梱のスクリプトファイル(.scpt形式)はソースコードそのもののであり全開示しているので、安全性は各自確認していただけます。
(スクリプトによる「外部への通信」や「ファイルの書き込み」などの“怪しい処理”は一切しません)



・「application-mode_opener + youtube-embedded-player_opener」の種類

「chrome_application-mode_opener+」(.scpt)(.app) : Google Chrome のアプリケーションモードとして「既存のProfileの通常ウィンドウ」を開きます。
「chrome_application-mode_opener+(incognito)」(.scpt)(.app) : Google Chrome のアプリケーションモードとして「既存のProfileのシークレットウィンドウ」を開きます。
「chrome_application-mode_opener+(guest)」(.scpt)(.app) : Google Chrome のアプリケーションモードとして「ゲストProfileのウィンドウ」を開きます。

「edge_application-mode_opener+」(.scpt)(.app) : Microsoft Edgee のアプリケーションモードとして「既存のProfileの通常ウィンドウ」を開きます。
「edge_application-mode_opener+(inprivate)」(.scpt)(.app) : Microsoft Edge のアプリケーションモードとして「既存のProfileのシークレットウィンドウ」を開きます。
「edge_application-mode_opener+(guest)」(.scpt)(.app) : Microsoft Edge のアプリケーションモードとして「ゲストProfileのウィンドウ」を開きます。

※ 「Google Chrome」や「Microsoft Edge」は、macOSの既定のアプリケーションフォルダ(/Applications/)にインストールされている事を前提としてスクリプトを記述しているので、インストール場所を既定の場所から変更している場合にはスクリプトを記述内容を各自でカスタマイズしてください。

※ 「Mozilla Firefox」でもタブバーやURLアドレス/ツールバーを表示しない“Site Specific Browser” (SSB) Modeという同等機能がかつてはあったので一緒にサポートしようかと思っていたものの、調べてみたら2021年2月リリースのFirefox 86から代替機能?が実装されため廃止されていた模様・・・さらに2023年5月リリースのFirefox 113からはその代替機能?がさらに使いやすく進化した様子・・・
(おそらく、「Mozilla Firefox」の“Site Specific Browser” (SSB) Mode は結局みんな動画多画面同時視聴専用としてしか利用していなかった！だったら・・・、という事なのでしょう)
https://www.mozilla.org/en-US/firefox/86.0/releasenotes/
https://www.mozilla.org/en-US/firefox/113.0/releasenotes/



・「ゲストProfile」機能の注意点

 「Google Chrome」や「Microsoft Edge」の「ゲストProfile」機能は、今まで「ゲストProfile」機能を利用した事がない人にとっては分かりづらい挙動をするので注意が必要かも知れません・・・個人的には10分ちょいほどハマりました・・・。
 (「Google Chrome」や「Microsoft Edge」での「既存のProfileのウィンドウ」が開かれていない状態で「ゲストProfileのウィンドウ」を開くと、アプリのUI上で「ゲストProfile」を終了しても実際には終了せず、メニューバーの「ファイル」→「新規ウィンドウ」などでウィンドウを開いても「ゲストProfile」のウィンドウが開く)
 
「ゲストProfile」を終了するには、メニューバーの「プロファイル」(※)→「(👤 既存のProfile)」をクリックして「既存のProfileの通常ウィンドウ」をまず開きます・・・すると、メニューバーの「プロフィール」→「✔︎(👤 既存のProfile)」にチェックマークが付くのでその状態で「ゲストProfile」の全てのウィンドウを閉じます。
(「Google Chrome」の「ゲストProfile」状態でアプリを終了すると、次回起動時に「Profile選択画面」(※※)が開きます)
(「Microsoft Edge」の「ゲストProfile」状態でアプリを終了すると、次回起動時は「既存のProfileの通常ウィンドウ」が開きます)

※ 「Google Chrome」の version 〜108 の日本語環境下では「プロフィール」で統一されていた表記が、2023年1月中旬にリリースされた version 109 からはメニューバー内のみ「プロファイル」に表記変更されました

※※ 「Google Chrome」の 「Profile選択画面」内で「プロファイル」に表記変更されたのは、2023年2月上旬にリリースされた version 110 からだったような・・・しかし設定画面内やツールバー領域の「👤」ボタン画面内の表記は version 110 の時点ではまだ全て「プロフィール」のまま。
(「Microsoft Edge」や「Mozilla Firefox」では昔から全て「プロファイル」と表記)



・「アプリケーションモード」の注意点

URLアドレスを表示しないという点で、セキュリティー面での危険性があります。
(怪しいサイトでは利用しない、安全性を確認したサイトでも外部サイトへのリンクをクリックしない、などの注意が必要)
(メニューバーの「ウィンドウ」→「ウィンドウに名前を付ける...」(Chrome)「名前とウィンドウ...」(Edge)をクリックすると、macOSネイティブのタイトルバーの表示文字列を書き換える事ができるので、そこにURLアドレスや判別しやすい文章を自分で書き込むなどの工夫をするのも良いかも知れません・・・)

リンクをついクリックしてしまってうっかり外部サイトに移動してしまった！という場合などには、即座に「アプリケーションモード」を終了してURLアドレスを表示させしょう。
また、「アプリケーションモード」のままではそのWebページをブックマークに追加することができないので、ブックマークに追加したいなど場合でもアプリケーションモード」を終了して通常状態に戻しましょう。
(メニューバーの「ウィンドウ」→「タブで表示」(Chrome)「タブとして表示」(Edge)をクリックすると、ウィンドウ上部にタブバーやURLアドレス/ツールバーが表示されて通常状態に戻ります)



・「YouTube 埋め込みプレーヤー」の注意点

一部の動画では「この動画は YouTube でご覧ください。他のウェブサイトでの再生は、動画の所有者によって無効にされています。」などと表示される場合もありますが、URLアドレスの「https://」部分を「http://」にすると標準状態のUIのまま開きます
(YouTube 埋め込みプレーヤーでの視聴を無効にされている場合、「この動画は YouTube でご覧ください。」などの部分がリンク文字として表示されてそのリンク先が現状では「http://」になっているため、そのリンクのURLアドレスのそのままコピペ(clipboard)にコピーして標準状態のUIを開きましょう・・・ただし将来的にはそのリンクも「https://」に変更されるものと思われるので、その時には手動で「s」を一文字削除しましょう)

また、動画の再生開始位置を先頭からの秒数で指定するパラメーター「?t=秒数」「&t=秒数」「&t=秒数s」に「https://」の場合だけ完全対応、それ以外のYouTubeのパラメーターは「https://」の場合にのみ全て削除します
(「https://www.youtube.com」「https://youtu.be」以外のURLアドレスはそのまま素通し)

※ 公式サポートページに方法が記述されている再生リスト(Play List)については、今後対応予定








●「video_filter_saturate().css」って何?

[ ユーザーCSS(Cascading Style Sheets)ファイル ] : Webサイト上で配信されている動画の色の濃さを調整します (1.1倍から2倍までほぼ0.1倍刻みで12種類)
(Safari ではそのまま利用可能)
(Google Chrome / Microsoft Edge / Mozilla Firefox などでは「ユーザーCSSを利用するための拡張機能」の導入が必要) :



・「video_filter_saturate().css」の使用方法

ダウンロードファイルを解凍すると、「video_filter_saturate」フォルダ内に10個のユーザーCSS(Cascading Style Sheets)ファイル(.css形式)が入っています(※)。

Safari の場合、メニューバーの「Safari」→「環境設定...     ⌘,」をクリックして「詳細」画面を開き、一番右端にある「⚙️ 詳細」タブ?内にある「スタイルシート: 」項目から目的の色の濃さの数値の「video_filter_saturate().css」を選択します。
(元の色の濃さに戻すには、「スタイルシート: 」項目の選択肢内にある「未選択」をクリックします)

Google Chrome / Microsoft Edge / Mozilla Firefox などの場合、お好みの「ユーザーCSSを利用するための拡張機能」を各自で導入してその取扱説明書を読んでください。
(「拡張機能」を導入せずにユーザーCSSを使う方法もありますが、多数のユーザーCSSを切り替えるという使用方法には不向き)

※ 同ユーザーCSS(Cascading Style Sheets)ファイル(.css形式)はソースコードそのもののであり全開示しているので、安全性は各自確認していただけます。
(CSS(Cascading Style Sheets)では「外部への通信」や「ファイルの書き込み」などの“怪しい処理”は一切できません)



・「video_filter_saturate().css」の対応動画種類

「HTML5動画」「MP4埋め込みオブジェクト動画」「FLV埋め込みオブジェクト動画」及び「Flashオブジェクト」(埋め込み動画だけで無くSWF丸ごと全て)の4種類に対応させていました。
(後半2種類はもはや必要ないでしょうが、個人的にユーザーCSSを作ってみた当時のままの状態で公開します・・・邪魔とか無駄だと感じる場合には各自でカスタマイズして削除してください)



・「video_filter_saturate().css」の注意点

非可逆フォーマットの画像や動画をレタッチするのと実質的に同じような処理をする訳なので、当然の事ながら画質劣化します。
しかもテレビ放送やネット配信されている一般的な動画では色差信号のデータを1/4にバッサリ間引く事で動画としてのデータ量を半分に削減する手法(データ量を半分に削った割には見た目の印象は若干画質が劣化した程度で収まる)を用いているため、そこからさらに加工するとなると画質の劣化レベルは画像とは桁違いです。

とは言うものの、調整の要素が一つだけであればほぼ目立たないレベルに収まるため、デメリットよりメリットの方が圧倒的に上回ると個人的には感じます・・・。

また、汎用のCSS(Cascading Style Sheets)なのでmacOSでなくても使用する事はできますが、Windowsで使用する意義は全くありません。
(Winsowsであればグラフィックドライバのユーティリティーで動画部分だけ手軽に調整可能・・・ブラウザソフトで適用できるユーザーCSSは基本的に一つのファイルだけなので、「色の濃さ」の調整をグラフィックドライバのユーティリティーに任せればユーザーCSSでは他の事に使えるようになる)
(グラフィックドライバのユーティリティーで調整すると画質劣化が目立つのは「色の濃さ」や「ガンマ」などついつい複数の要素を同時に調整したくなってしまうからなので、グラフィックドライバのユーティリティーで調整する要素を「色の濃さ」の一つだけに絞れば画質劣化の程度は「video_filter_saturate().css」と全く同一で、調整する要素の数が増えれば増えるほど加速度的に画質劣化が進行します・・・「ガンマ」についてはWindowsでもmacOSでも「ディスプレイプロファイル」を各動画ごと最適なものに選択しましょう)



・「Picture in Picture表示」の注意点

Safari の場合、Picture in Picture画面にはCSS(Cascading Style Sheets)は一切適用されないため動画の色の濃さは何も変わりません。
(UI操作をSafari上でしているだけで、実際にはOSがダイレクトにPicture in Picture表示させている)

Google Chrome / Microsoft Edge / Mozilla Firefox などの場合には、Picture in Picture画面でも動画の色の濃さが調整されます。





● 改訂履歴

・version 20230511
「application-mode_opener 」部分にて、URLアドレスのパラメーター部分などでいわゆる「メタ文字」と呼ばれる文字種のうちの一部が含まれる場合、その該当文字以降の文字列が全て削除されてしまっていた不具合を修正

「youtube-embedded-player_opener」部分で正規表現を用いた記述に全面書き換え

「youtube-embedded-player_opener」部分の「URLアドレスの「https://」部分を「http://」にすると標準状態のUIのまま開きます」という仕様を、正しく実装
(version 20230111 では未実装の古いファイルを間違えてダウンロードファイルに入れてしまっていて全く機能していなかった・・・反省)

「youtube-embedded-player_opener」部分のYouTube動画の再生開始位置を先頭からの秒数で指定するパラメーター「?t=秒数」「&t=秒数」「&t=秒数s」に「https://」の場合だけ完全対応、それ以外のYouTubeのパラメーターは「https://」の場合にのみ全て削除します
(「https://www.youtube.com」「https://youtu.be」以外のURLアドレスの場合はそのまま素通し)
※ 「youtube-embedded-player_opener」部分のプレイリストへの対応については、今後対応予定

README(取扱説明書)での、
「動画の再生開始位置を先頭からの秒数で指定するパラメーター「?t=秒数」には、現状では「YouTube 埋め込みプレーヤー」は対応していません」「「AppleScript」の仕様によって標準状態では正規表現はほぼ使えず」という記述部分を削除
(前者は、Googleの公式サポートページに方法が記述してあるにも関わらず、公式サポートページはきちんと熟読せず分かった気になっていた・・・反省)
(後者については、公式サポートページにも記述が見付からず、ターミナルでは実行可能な正規表現をAppleScript上に単純にコピペしただけでは一部しか動作しない事から、ネット上でもそういう認識が広まっていた・・・なので最近のAppleScript界隈ではスクリプトエディタをJavaScriptモードに切り替えて正規表現なども単純にそのまま利用できるようにするため「ChatGPTにAppleScriptで記述したスクリプトをJavaScriptへ自動変換してもらう方法」が盛り上がっている模様・・・)

README(取扱説明書)での、「Mozilla Firefox 86」「Mozilla Firefox 113」に関する記述を追記
(初版となる version 20230111 を公開してから約3ヶ月後、「 Firefox 86〜」での代替機能?の存在を今更知りました・・・)

・・・など



・version 20230111 (README 〜20230115) : 
README(取扱説明書)での、「video_filter_saturate().css」適用時の Picture in Picture表示を追記 (※)
※ Safari の場合、Picture in Picture画面にはCSS(Cascading Style Sheets)は一切適用されないため動画の色の濃さは何も変わりません。
(UI操作をSafari上でしているだけで、実際にはOSがダイレクトにPicture in Picture表示させている)
※ Google Chrome / Microsoft Edge / Mozilla Firefox などの場合には、Picture in Picture画面でも動画の色の濃さが調整されます

README(取扱説明書)での、Google Chrome 109 の日本語環境下での一部表記変更に対応 (※)
※ version 〜108 の日本語環境下では「プロフィール」で統一されていた表記が、2023年1月前半にリリースされた version 109〜からはメニューバー内のみ「プロファイル」に表記変更されました・・・しかし設定画面内やツールバー領域の「👤」ボタン画面内の表記は version 109 の時点ではまだ全て「プロフィール」のまま

README(取扱説明書)での、Google Chrome  と Microsoft Edge との表記の違いの漏れを追記 (※)
※ メニューバーの「ウィンドウ」→「ウィンドウに名前を付ける...」(Chrome)「名前とウィンドウ...」(Edge)
※ メニューバーの「ウィンドウ」→「タブで表示」(Chrome)「タブとして表示」(Edge)

README(取扱説明書)での、「ROM作成物サポートページ」のURLアドレスを「https://」化 (※)
https://hp.vector.co.jp/authors/VA038316/
※ Google Chrome / Microsoft Edge  109〜からは、「https://」Webページ内の「http://」“混合コンテンツ(Mixed Content)”デフォルトブロック(※※)が「vector.co.jp」ドメインへも適用開始になった模様なので、「ROM作成物サポートページ」にあるダウンロードファイルなど「vector.co.jp」ドメイン内リンク全て「https://」に書き換えました・・・
※※  Impress 窓の杜 - 混合コンテンツはすべてデフォルトブロックへ ～「Google Chrome 79」から段階的に実施
https://forest.watch.impress.co.jp/docs/news/1211349.html

README(取扱説明書)での、セキュリティー/プライバシーの安全性について追記 (※)
※ 同梱のスクリプトファイル(.scpt形式)はソースコードそのもののであり全開示しているので、安全性は各自確認していただけます。
(スクリプトによる「外部への通信」や「ファイルの書き込み」などの“怪しい処理”は一切しません)
※ 同ユーザーCSS(Cascading Style Sheets)ファイル(.css形式)はソースコードそのもののであり全開示しているので、安全性は各自確認していただけます。
(CSS(Cascading Style Sheets)では「外部への通信」や「ファイルの書き込み」などの“怪しい処理”は一切できません)



・version 20230111 : 
初版





● 今後の予定

・「youtube-embedded-player_opener」部分のプレイリストへの対応


※ README(取扱説明書)のHTML化とか及び動画技術に関するコラム?とかは、このユーティリティーの利用者はそんなの必要としてない？と思い直している今日この頃です・・・
(ChatGPTとかに聞いてそれなりに分かった気になれる事を分かりやすく書いてももう価値がほぼない時代になったので)
