LoginSignup
1
1

More than 3 years have passed since last update.

動画配信を録画するAppleScript(JXA)

Last updated at Posted at 2020-11-06

QuickTimeの画面収録機能でYoutubeなどの動画配信を自動で保存するAppleScriptを書いてみました。
AppleScriptを書くのはは初めてで、しかもJXA(Javascript)なので間違っている所があったらご指摘いただければ嬉しいです。

※ちなみにこのスクリプトが有効なのはmacOS HighSierraまでです。
Mojaveからは画面収録の仕様が変わり、動きません。

※全画面表示のショートカットが「F」キーであることが多いので「F」としましたが、
サイトによって適宜変更してください。

やりたかったこと

1.Cromeで動画配信サイトを表示
2.QTの画面収録で録画
3.自動で保存
4.自動でchromeとQTを終了
5.上記を日時を指定して実行

//chromeで配信動画を全画面再生、QuickTimeで画面収録する
var myLink = "https://www.youtube.com/watch?v=5qap5aO4i9A";//開きたいURL
var myPath = "/Users/ユーザー名/Desktop/movie.mov";//保存したいディレクトリ
var Rectime = 3 ;//録画時間を秒で指定1時間なら3600
var chrome = Application("Google Chrome");
var win = chrome.Window().make(); 
var window = chrome.windows[0];
var theTab = window.tabs[0];
theTab.url = myLink;
delay(5);//ちゃんと起動するまで5秒待つ
var se = Application("System Events"); //参照を取得
se.keystroke("f");//全画面にする
delay(3);

var QuickTime = Application("QuickTime Player");//QT起動
var doc = QuickTime.newScreenRecording();//画面収録
doc.start();
delay(3);//録画時間(秒)
doc.close({saving: 'yes', savingIn: Path(myPath)});//保存

QuickTime.quit();
chrome.quit();

日時を指定して実行するにはカレンダー.appを使います。
設定の方法はこちらのサイトを参考にしました。
http://gijutsubu.backstage.jp/?eid=87

その他、注意点としてはchromeの設定で「前回開いていたページを開く」がオンになっていると
次回chromeを起動時に裏でフルスクリーンで動画サイトが開いている状態になります。
その都度閉じればいいだけですが。

やりたかったけどできなかったこと

・全画面ではなく範囲を指定して録画
・Catalinaでの実装

私の知識ではどうしてもできませんでした。だれか親切な方・・・

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1