Timelapse Movie

CHDK & Eye-fi Connect X2 その3

CHDK Eye-Fi Timelapse Movie

Eye-fi Connect X2のエンドレスモードなのですが、今のところ、CHDKではうまく機能してくれないようです。となれば、カードによる処理はあきらめて、CHDKでファイルの削除をすればいいいわけでして、Luaなら可能なあたりまでの調べはついていたんです。
ただ、古いファイルから削除するのがなかなか面倒だな…と放置してしまって、GoProHDなどで遊んでいたら、あっという間に1年…。

で、きっと誰かが何とかしてくれているだろうと思って色々とみていたら、2chに前回の記事へのリンクが…やっぱり、Eye-fiとCHDKという組み合わせのユーザーは少ないのでしょうか。

ということで、自分で何とかしてみるかと、久々にLuaとにらめっこ。

ただ、0からだと大変なので、本家のフォーラムをいろいろと探してみたところ、こんな記事を発見しました。

Eye-Fi – Motion Detect – Auto Delete

なるほどな~ということで、参考にしてMinimalistic Intervalometer改に組み込んでテストを開始。ひとまず、順調に動いているように見えたのですが…2000枚の罠にはまり、スクリプトが停止。テストに使っているA570ISでは、2000枚で次のフォルダへ移動するなんて仕様は気にもしていませんでしたので…。

となると、2000枚以上の撮影を考えるならば、フォルダーも追いかけなければなりません。

Luaを今ひとつ使いこなせていないので、いろいろと適当なことをやりながら、なんとかでっち上げたのが今回のスクリプトです。なので、処理はかなり無理矢理になっています。

また、自分の用途に合わせて作ってあるので、仕様はこんな感じになっています。
使おうという方がもしもいらっしゃるのなら、適当にいじってください。

  • フォーカスは無限遠に固定しています
  • メニューのStock Filesで指定したファイル数を超えると、シャッターを切るごとに一番古いファイルを削除するようにしています。
  • DCIMのディレクトリには、空の「100CANON」がある状態からスタート
  • カメラ側の設定は、フォルダの自動作成はオフ、画像番号はオートリセットで動作を確認しています

また、インターバルの精度が高いMinimalistic Intervalometerをベースにしているため、get_tick_count()によるカメラを起動してからの時間を使った処理を行っています。そのため、長期の撮影では問題が発生する可能性があります。問題が発生するようであれば、精度は犠牲にして、単純にsleepで処理させれば大丈夫だと思いますが。

A570ISを使ったテストは、10秒のインターバルで6000枚を超えるところまでは確認しました。容量としては約24ギガのデータ量ですので、カードの容量を超える撮影はクリアできました。

ディスプレーをオフにできるようにしなければなぁ~と思うものの、それはまたの機会に。


--[[
@title Minimalistic Intervalometer with Auto Delete
@param a Shooting interval, min
@default a 0
@param b ...sec
@default b 5
@param c Delay 1st sequence (min)
@default c 0
@param d Delay 1st sequence (sec)
@default d 5
@param e Stock files
@default e 5
--]]

interval = a*60000 + b*1000
delay = c*60000 +d*1000
count = 0
dircount = 100

-- focas > infinity

set_prop(6,3)
sleep(2000)

set_aflock(1)
sleep(500)

--

function TakePicture()
press("shoot_half")
repeat sleep(50) until get_shooting() == true
press("shoot_full")
release("shoot_full")
repeat sleep(50) until get_shooting() == false
release "shoot_half"
end

-- main

sleep(delay)

repeat
StartTick = get_tick_count()
TakePicture()

count = count + 1
print(count)

if count > e then

while true do

path = "A/DCIM/"..dircount.."CANON"

files, msg = os.listdir(path, false)
if not files[1] then
dircount = dircount + 1
else
break
end

end

os.remove(path.."/"..files[1])

end

sleep(interval - (get_tick_count() - StartTick))

until false

set_aflock(0)
sleep(500)

2011年6月22日 Posted by staff_u | コメント

CHDK & Eye-fi Connect X2 その2

CHDK Eye-Fi Timelapse Movie

天気がいまひとつで、カイトフォトでのテストができないので、エンドレスモードのテストを。

エンドレスモードを設定したうえで、CHDK & Ultra Intervalometerを使ってみましたが、容量いっぱいまで撮影を続けエンドレスモードは機能しません。CHDKをオンにする為にはSDカードをロックしなければならないので、これが引っかかるだろうなと予想はしていたものの、エンドレスモードはカード内部の処理だから…と、ちょっと期待していたのですが…。

ということで、インターバル撮影とエンドレスモードを利用したエンドレス撮影には、カメラ側の機能が必要ですね。
CHDKの場合には、ファイルの削除もスクリプトで処理しなければなりません。

追記:
CHDKに関して、SDカードをロックしないマニュアルブートの存在を忘れていたので、そちらでもテストしてみました。
しかし、これでもエンドレスモードがうまく機能してくれませんでした。この結果は、想像していなかったもので、かなり謎です。
もう少し、テストを繰り返してみなければ…。

2010年5月27日 Posted by staff_u | コメント

雪の中でもテスト

Timelapse Movie

ここ数日の雪ですっかり冬らしくなってしまったここ黒松内ですが、雪の降り始めに黒松内町を望む高台にカメラを設置してのインターバル撮影でのテスト結果です。

途中、結構な吹雪もあったようで、カメラがちょっと揺れているのが残念ではありますが、約5時間ほどの撮影も無事完了し、2GのSDカードいっぱいまで撮影してくれました。外部バッテリーに関しても問題なし。
強烈に寒くなってきたら、カイロなどを使ってしのぐことにして、耐久テストはひとまず完了。

カメラを据え付けに行く途中にあった、雪の上に点々とついていた足跡が気になっています。
Motion Detectionで何か撮れないか、ちょっと試してみなくては…。

 

2009年11月21日 Posted by staff_u | コメント

目まぐるしい一日

Timelapse Movie

黒松内は天気の安定しないところではありますが、今日の天気のかわりっぷりはちょっとすごすぎました。
冬場の撮影用にタッパーを加工して作成した防水ケースのテストをしていたので、最高のテスト環境でしたが…なかなか面白い空模様が撮影できました。

カメラ前のアクリル板についた水滴が面白くもあり、邪魔でもあり、その対策は悩みどころですね。
車用の撥水剤を利用すれば、何とかなりそうではありますが…。

ひとまず、雨の影響は全くなく、カメラは問題なく撮影を続けてくれました。
後は氷点下の環境でのテストが必要かなといった感じです。

今年の冬は、なかなか面白そうな画が撮影できそうです。

2009年11月15日 Posted by staff_u | コメント(2)

Timelapse Movie その2

CHDK Timelapse Movie

インターバル撮影用の電源のテストをかねて、月越峠からの眺めを撮影してみました。
5000コマ程度は撮影したかったのですが、ところが、2時間ほど撮影したところで雷雲襲来!
1159コマしか撮影できず、コンパクトなムービーとなってしまいました。

雲がどんどん増えてきます。

 

2009年10月13日 Posted by staff_u | コメント(2)