ラズパイで電子工作

ラズパイの見守りモニタでタイムラプス動画を同時に撮影する

student taro
見習いタロー

作った見守りモニターで何か面白い機能作れないですか?

koala
プロコアラ

じゃあ、タイムラプス動画を撮影できるようにしよう!

この記事を書いた人
koala
プロコアラ@エンジニアブロガー
10年間エンジニアをしており、副業でWebサイトやWebサービスを作っています。
一時期資格取得にハマりTOEIC860点オーバー、応用情報処理は取得。休日はラズパイをいじるコアラ好きです。

 

概要

前回、ラズベリーパイ3にUSBカメラを接続して、MJPG-streamer経由でリアルタイムにカメラの映像をブラウザ上に表示できるようにしました。

MJPG-Streamerで動画を撮影しながらタイムラプス動画が撮影できるようにしましょう。

 

タイムラプスとは?

タイムラプスは静止画を繋ぎ合わせてコマ送り動画のように撮影された動画です。

1秒や1分など、ある一定の間隔で撮影した静止画を繋ぎ合わせることで不思議な映像を作ることができます。

iPhoneでもタイムラプス動画を撮影する機能がついています。

動画はキヤノンのカメラで撮影したものです。ここまで綺麗なものは撮影できませんが、このような動画が作れるようにします。

 

 

使用するもの

ラズパイ

Webカメラ

 

静止画の撮影スクリプト作成

MJPG-streamerのsnapshot機能を使用して静止画を取得します。

 

timelapse.shの中身

で囲むとコマンドの実行結果を取得できます。

前回作成したMJPG-StreamerのDynamic DNSのドメインを指定しています。?action=snapshotで静止画を取得できます

wgetでファイルにします

 

このスクリプトをcronに登録し、自動で撮影するようにします。
下記コマンドは1分おきに撮影するものです。1日おきに撮影しても良いかなと思います。

crontab -e

 

chmodで実行権限を付けておきましょう

 

imgディレクトリに画像が保存されていきます

1分おきの場合はどんどん容量が大きくなってしまうため、時間は調整しましょう

 

crontab -eコマンドで調整します。1時間おきの場合は以下のようになります。

 

 

ファイル名のリネーム

作成した静止画を一気にリネームします。lsで作成したjpgファイル一覧をパイプでawkコマンドに渡します。$0には渡されたjpgファイルが入り、NRが連番になります。

 

awkでmvコマンドを作ります

 

さらにそれをshに渡してコマンドを実行します。

 

タイムラプス動画の作成

ツールのインストール

Raspbian Jessieでは、mencoderがインストールできないため、avconvを使用します。
下記コマンドでインストールできます。

 

動画の作成

下記コマンドを実行します。

 

avconvのオプションを載せておきます

 

 

まとめ

タイムラプス動画を作成しました。

MJPG-streamerでモニタリング中でも静止画を撮影してタイムラプスを作成できるんですね。

赤ちゃんのタイムラプス動画を作ることで、どんくらい動いているか分かりますね。

成長動画を作る場合は、1日に1回撮影くらいでいいかもしれませんね。

その場合は、顔認識を追加してカメラに顔を向けている時に撮影するなど、工夫が必要かもしれませんね。

 

では!(^^)/

ABOUT ME
プロコアラ
プロコアラ
RPAコンサルタントのプロコアラです。長年のエンジニア経験を活かしてして外資系コンサルファームでRPAコンサルしてます。 転職ノウハウ、プログラミング、英語の勉強方法など分かりやすいように解説していきます。