Ubuntuでタイムラプス動画(微速度動画)を撮影

植物工場の生育状況をタイムラプス撮影してみました。タイムラプスとは長時間の現象をギュッと短時間に縮めて早送りのように見せるもので、微速度撮影とか低速度撮影とも呼ばれます。Raspberry Pi を使った次のページを参考にさせていただきました。今回は Ubuntu で実行しました。

ラズパイで植物タイムラプス撮影【こどもちゃれんじ】
この記事ではラズパイRaspberry PiとUSB-Webカメラを使用して植物のタイムラプス動画を撮影する方法がわかります。fswebcamでUSB Webカメラ撮影。cronで10分毎実行。JPEG連番リネーム。ffmpegで連番JPE...

 

画像撮影

まず、Ubuntu をインストールしたパソコンにUSBカメラを接続して、1枚だけ画像撮影します。USBカメラは Logicool C270n を使いました。fswebcam をインストールします。

画像データを保存するための任意のディレクトリを作成します。次のコマンドでは timelapse というディレクトリを作っていますが、名前は適当に付けてください。

ホームディレクトリ /home/(ユーザー名) に撮影用のスクリプトを作ります。編集は vi エディタでも「テキストエディタ」でも何でも構いません。ファイル名は take_photo.sh としました。内容は次のとおりです。先ほど作成したディレクトリをデータの保存場所として指定しています。

このファイルに実行権限を与えます。

ファイルを実行すると、画像データが1枚保存されているはずです。

動画にするには、一定間隔で撮影したデータが多数必要です。例えば10秒の動画には 30fps として300枚の画像データが必要です。1日分を10秒の動画にするには、24時間✕60分/300枚 = 約5分毎に撮影することになります。ここでは、スクリプトが10分毎に実行されるように crontab を編集します。

使用するテキストエディタを選択して、ファイルの最後に次のように追記してください。

 

動画を作る

ffmpeg をインストールします。

ffmpeg を使うにはデータのファイル名が連番になっている必要があります。撮影したデータは日付を含むファイル名になっているのでそれを変更します。画像ファイルが保存されているディレクトリに移動して、次のコマンドを実行すると5桁の連番のファイル名になります。初めのうちは失敗することもあるかもしれませんので、元データはディレクトリごとバックアップしてから実行すると良いです。

次のコマンドで output.mp4 という名前で動画ファイルが出来ます。

インストールされている動画プレーヤで mp4 を再生できなかったら、VLC Player をインストールすると良いです。

 

 

コメント