Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

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での実装

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away