今回は、MacとWEBカメラを使って「タイムラプス」を撮影する方法について紹介します。
先日紹介した「3DプリンターにWEBカメラをマウントする方法」の中で触れたように、Macでタイムラプス動画を撮影するアプリはあまりありません。
そこで、VLCというアプリケーションを使って「連番画像」をキャプチャーし、その画像をつなぎ合わせてタイムラプス動画にする方法を試してみました。
AppleScriptを使って自動で画像を保存できるのでチェックしてみてください。
もくじ
はじめに
今回紹介する内容は、MacとWEBカメラを使ってタイムラプス動画を作成する方法です。
まずはこちらをチェックしてください。
こちらは「3Dプリンター」で造形中の映像。
以前紹介したように「カメラマウント」を作成して取り付けてあります。
また、今回使用したWEBカメラはこちら。
私はこのWEBカメラを使用しましたが、基本的に「VLC」というアプリケーションで認識できて、タイムラプス撮影中にカメラがずれないよう固定できればなんでもOKです。
今回使用したアプリ
Macでタイムラプス動画を撮影するためには、いくつかのアプリケーションを組み合わせて作成します。
- VLC
- スクリプトエディタ(AppleScript)
- Quick Camera
- Time Lapse Assembler
連番画像のキャプチャーに「VLC」を使用し、AppleScriptを「スクリプトエディタ」で実行することで自動化が可能になります。
タイムラプス撮影中に動画を見たり、ブログを書いたりもできるのでオススメです。
「Quick Camera」は撮影時の確認用。
VLCでも撮影中の画面を映すことはできるのですが、たまにカクついたりフリーズすることがあったため、軽くて扱いやすいこちらのアプリを使用させていただきました。
造形中の画面を表示する必要がないなら、このアプリは不要。
「Time Lapse Assembler」は連番画像をまとめて1つの動画にするためのものですね。
Time Lapse Assembler | Day of the New Dan
VLCにWEBカメラを追加
VLCを使ってWEBカメラの映像を表示していきましょう。
※注意
今回の方法では、VLCの言語は「英語」のままにしてあります。
日本語にすると、あとで紹介する「AppleScript」がうまく動作しなくなるので注意してください。
VLCを起動すると、こんな感じのウィンドウが表示されました。
上部のメニューから「File > Open Capture Device...(⌘R)」を選択しましょう。
「Open Source」というウィンドウが表示されたと思います。
上部の項目を「Input Devices」にし、「Video」にチェックを入れると撮影するカメラを選択できるようになるので、ここでは「接続したWEBカメラ」を選択しましょう。
私の場合は「papalook FHD Camera」というやつですね。
ちなみに今回は紹介しませんが、「Input Devices」ではなく「Screen」にすればMac内の動画を撮影できるので、お絵かきなどのタイムラプス動画も作れるかもしれませんね。
WEBカメラを選択し「Open」をクリックすると、LIBRARYにデバイスが追加されました。
この時、たまにMacのカメラが表示されることがあったのですが、その場合は、先ほどの手順をもう一度行なってください。
次回以降はここから起動できます。
WEBカメラの画面が表示されていればOK。
画像の保存先を設定する
WEBカメラを使ってキャプチャした画像の保存先を設定しましょう。
今度は「VLC > Preferences... (⌘,)」を選択します。
開いたウィンドウのタブから「Video」を開いてください。
下の方にスクロールしていくと「Video snapshots」という項目があるので、それぞれ設定していきましょう。
- Folder ... 保存するフォルダ
- Prefix ... 画像の名前
- Format ... 画像の拡張子
保存するフォルダは「専用フォルダ」を作っておいた方が良いです。
数が多いからというのもありますが、あとでTime Lapse Assemblerを使ったときに便利なのでオススメです。
また、画像の拡張子は比較的軽い「.jpg」にしました。
アクセシビリティから許可
AppleScriptを使って自動化する場合、アクセシビリティから許可する必要があります。
「システム環境設定 > セキュリティとプライバシー」を開いてください。
左側から「アクセシビリティ」を選択すると、”下のアプリケーションにコンピュータの制御を許可。”という項目が表示されました。
この中に「スクリプトエディタ」を追加しましょう。
グレーになって操作ができない場合は、左下にある「南京錠(鍵マーク)」からロックを解除してください。
AppleScriptを実行する
続いて、AppleScriptを使って、先ほど表示した「VLC」のキャプチャを自動化していきましょう。
Mac標準搭載のアプリケーション「スクリプトエディタ」を開いてください。
上部のメニューから「ファイル > 新規(⌘N)」を選択します。
こんな感じのウィンドウが表示されたら、以下のコードを貼り付けてください。
repeat 5000 times
tell application "System Events" to tell process "VLC"
click menu item "Snapshot" of menu 1 of menu bar item "Video" of menu bar 1
end tell
delay 60
end repeat
基本的にコピペでOK。
コードの内容としては「repeat xxxx times」が実行する最大回数。
「delay xx」はxx秒おきに実行という意味になっており、今回の例だと「60秒に1枚画像を追加する」という感じになっています。
仮に、もう少し画像の数を増やしたい場合は「30」など、各自調整してみてください。
試してみたところ「0.1」のような値も設定できました。
スクリプトを実行する
実際に画像をキャプチャさせるためには、先ほど作成したスクリプトエディタから「再生ボタン」をクリックするだけ。
ウィンドウ下に「実行中...」と表示され、画像が保存され始めたらOKです。
あとは、任意の場所にスクリプトを保存してください。
Time Lapse Assemblerでタイムラプスを作る
最後に、撮影した「連番画像」からタイムラプス動画を作成していきましょう。
TIme Lapse Assemblerを起動するとこんな感じになりました。
「Source Directory」の「Choose...」をクリックすると、タイムラプス動画にする画像を選択できるので、先ほど設定した「専用フォルダ」を選択しましょう。
あとは動画の「フレームレート」や「サイズ」を設定して「Encode」をクリックすれば完了です。
これで、MacとWEBカメラを使った「タイムラプス動画」が作成できました。
まとめ
今回紹介した方法を使うことで、Macでタイムラプス動画を作成することができました。
3Dプリンターの造形中やお絵かきのタイムラプスで使用できて面白いので、興味のある方はぜひチェックしてみてください。
ではまた。