Webカメラでインターバル撮影
Webカメラでインターバル撮影を行ってみました。
最初は一眼レフのインターバル機能で撮影をしていたのですが、そういえば、linuxであればcronとWebカメラを使えば同様のことができるのでは? ってことでやってみました。
最終的にこんな感じの動画を作ることができます。www.youtube.com
#1日中撮影すると結構おもしろいかも
静止画撮影もできる fswebcam のインストール
$ sudo apt-get install fswebcam
作業ディレクトの作成とキャプチャー用シェルの新規作成
$ mkdir /var/www/captureImage $ sudo chmod 777 /var/www/captureImage $ sudo emacs /var/www/captureImage/captureImage.sh
記述する内容はこちら
出力するファイル名あたりはお好みで
#!/bin/bash DATE=$(date +"%Y%m%d%H%M%S") fswebcam -r 640x480 --no-title --no-banner --no-shadow /var/www/captureImage/$DATE.jpg
実行権限の付加
$ sudo chmod +x /var/www/captureImage/captureImage.sh
クローンで定期実行(1分ごとに)
$ crontab -e
*/1 * * * * /var/www/captureImage/captureImage.sh
#emacs派な自分にはviが立ち上がるので面倒ですが、そこは気合で
これで1分ごとにカメラからの静止画が /var/www/captureImage/ ディレクトリに追加されていきます。
あとは convert や ffmpeg などで動画化してあげれば変化の様子が分かるかと思います。
ffmpegのインストールと静止画から動画
通常通りインストールすると面倒らしいので motion からffmpegをインストール
$ sudo apt-get -y install motion
ffmpeg用にキャプチャーした画像ファイルのリンクを連番で作成(これめんどい)
$ c=1 ; for i in ??????????????.jpg ; do ln $i `printf %d $c`.jpg ; c=$((c+1)) ; done
静止画から動画に変換
$ sudo ffmpeg -f image2 -r 15 -i %d.jpg -r 15 -an -vcodec libx264 -pix_fmt yuv420p video.mp4