僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
タイムラプス撮影(1/5s)しながら、ストレージが
不足気味なのでsshfsで一部をPCにmvし、
syncしたりdfしたりする全体をiostatで撮ってみた。
iostat自体の書き込みも多分、その中にあるはず。
$ iostat -y -x 1 -d /dev/mmcblk0p2 | tee iostat
思ってたほどキツい様子は出なかった、かも。
既にあるかもしれないが、探すのも面倒になって、 とてもめんどくさいシェルスクリプトになった。
$ sh two_times.sh 20200926_01.png 20210504_03.png 2020-09-26 10:35:04.774240678 20200926_01.png 2021-05-04 23:58:46.831895095 20210504_03.png 220 日の差があります
とりあえず動くけど、まだおかしな処理があちこちあるはず。
少なくともRasPi3では、撮影時刻がけっこうずれている。
スムースに動いているタイムラプス動画が、時折ガタつくことに
気づいてからは専らPCでやっていた。
久々にPi3で撮って思い出したので、確認。
撮影時刻の吸い出しは、どのくらい待たされてるのか、
それが反映されているのか不明なタイムスタンプでなく
exifから。
カメラの内蔵時計がずれていても、撮影のたびにずれが
大きく変わることは、たぶん無いだろう、という読みで。
$ for file in *.jpg; do exif -m $file | \ grep オリジナル | awk '{print $4}' >> dfile; done
これで撮影時刻一覧が取れた。
#!/bin/sh for id in `cat dfile`; do new=`date --date "$id" "+%s"` if ! [ -z $oid ]; then comp="`echo $new - $oid | bc`" echo 'comp: '$comp >> interval fi oid=$new done
さきほどの 荒い使い方がこたえたのか、 実際のインターバルは、5秒でないのが結構あった。
$ wc -l interval 719 interval $ grep -vc 'comp: 5' interval 140 $ grep -v 'comp: 5' interval | sort | uniq -c | sort 1 comp: 13 1 comp: 25 1 comp: 27 2 comp: 22 2 comp: 23 4 comp: 15 5 comp: 11 5 comp: 14 7 comp: 10 7 comp: 9 8 comp: 1 8 comp: 8 9 comp: 2 10 comp: 12 13 comp: 7 16 comp: 3 17 comp: 6 24 comp: 4
Rのグラフ向けにデータを整える。
$ awk 'BEGIN{print "Time Sec"}{print NR, $2}' interval >total
撮影時刻は年から秒までだったが、シェルスクリプトで
日付と時刻の間のスペースをうまく処理できなかった。
さしあたり同じ日ということで時刻だけにする。
部分拡大すると、遅れを取り戻すために急いでいる、ような 感じにも見えたり。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。