Windowsのスクリーンセーバー抑制用動画の作成

企業の情報システムでは、グループポリシーでスクリーンセーバーが設定されており、 かつその変更が出来ないようにされていることが多い。 また、スクリーンセーバーを解除する時にロックがかかることが多い。

セキュリティ的には、不在時に自動でスクリーンセーバーが起動し、 そのままロックされるので良いのですが・・・

ただ、そのような環境下でも常時画面を表示させておきたいという人も居るので、 管理者権限が無くてもスクリーンセーバーを抑制する方法について備忘録を。

スクリーンセーバーを抑制する方法(管理者権限無し)

グループポリシーで設定されている場合、ADの管理者権限が無いと設定からは変更出来ない。 ローカルの管理者権限がある場合は、レジストリから変更出来るが、 そのようなパターンはほぼ無いと思われる。

なので、管理者権限を一切持たない場合、次の二通りの方法がある。 1. PowerPoint でプレゼンテーションを開始する。 2. Windows Media Player で動画をループ再生する。

1は、PowerPointの仕様として、プレゼンテーション機能を使用しているときは、 スクリーンセーバーが起動しないようになるので、適当なスライドを作って、 ウィンドウモードでプレゼンテーションを開始すれば良い。 ただ、Windows起動時にそれらを手動で行わなければならない、 PowerPointが入ってないといけない、という点がある。

2は、Windows Media Player の設定には、動画再生中はスクリーンセーバーを抑制する、 という設定があることを利用する。 ただ、YouTubeや適当なサイトから動画を持ってきても音声が入っていたり、 動画も最小サイズではないのでアンチスクリーンセーバー用の動画を作成する。

アンチスクリーンセーバー用の動画作成

Ubuntu 18.04 で動画を作成する。 手順は、まずImageMagick を使用して、 2x2 pixel の黒色画像を作成する。 次に ffmpeg を使用して、 1fpsの100秒動画を作成して完了。

ImageMagickで 2x2 pixel の黒画像を100枚作成

どのような動画を作るか次第ですが、 今回は 2x2 pixel で100秒無音黒画面のみの動画を作成します。 2x2 pixel の理由は、ffmpegH.264/MP4 の動画を作成しますがその時、 yuv420p を指定するからです。( 1x1 や 1x2 ではエラーが出来ます。)

bash のブレース展開を使用して、ImageMagick の convert から100個の png を作成

for i in {00..99};do convert -size 2x2 xc:black ${i}.png;done
ffmpeg で 2x2 pixel & 1FPS のH.264/MP4動画を作成

-r でフレームレート -i で入力ファイル

ffmpeg -r 1 -i %2d.png -pix_fmt yuv420p anti_screensaver.mp4