QuickTimeの画面収録の範囲をAppleScriptで自動指定する

f:id:syonx:20140831005125p:plain http://hybridworks.jp/

HYBRIDWORKS 補完計画

一番大好きなWebサイト「HYBRIDWORKS」の制作者である星野正樹さんが、久しぶりにこんなことをつぶやかれていました。 フルFlashのこのサイトも、じきにリニューアルされる時が来るのだろう……そんな予感がしていた矢先のことでした。

果たして “どうにかします” が何をどこまでを指しているかはわかりませんが、可能性として、iOSバイスで表示できない現状をどうにかする、つまり近々HTML5ベースのサイトにリニューアルされるのではないかと睨んでいます。

f:id:syonx:20140831014132p:plain

なので、大変長くお世話になったこのサイトをなんとかして補完できないかと考え、スクリーンキャスト(録画)を行うことを検討しました(※あくまで個人用途)。一般的な、静止しているコンテンツのWebサイトであればキャプチャを撮って保存すればよいのですが、細やかなアニメーションと心地良い効果音を確実に残すには動画しかないと判断しました。

QuickTime Player の「画面収録」機能を使う

Macの録画は少し調べたら QuickTime Player で可能とのことだったので、試してみました。しかし録画範囲がドラッグによる指定なため、いくつかに分けて録画しようと思っていたものの、毎回位置やサイズが微妙にバラバラになり兼ねないことが危惧されました。 他のスクリーンキャストアプリ「QuickCast」というものも試してみたのですが、どうもFPSが低い気がして、納得いきませんでした。 やはり QuickTime Player で撮ったものがクオリティも高く、純正ならではの安心感があるのでなんとかしようと考えました。

AppleScriptマウスポインタのドラッグ&ドロップ

さすが、こういったことを調べると必ず行き着くことで定評のあるザリガニ先輩のブログ。 AppleScript はまだちゃんと扱ったことがないのでよくわからないや。。でも、ご丁寧なことに「以下コードをAppleScript エディタで開く」なんていうリンクまで用意していただいており、これを活用することに。そのまま実行しても関数定義が読み込まれるだけなので、サンプルコードをコメントから出して実行してみるとエラー。動作には RubyCocoa が前提のようなのでインストールして動作確認し、下記のコードを書きました。

delay 5
left_drag(1000, 200, 2280, 920)

動画サイズは 1280 x 720 で、この範囲指定にうまく入るようにウィンドウ位置をセットしました。
delay 5スクリプトを開始して画面収録開始ボタンを押し、範囲指定待機状態になるまでの時間です。

できた!!

f:id:syonx:20140831020009p:plain

大きさピッタリ 1280 x 720 です。