2017/03/21
googleフォトアップロード用に動画ファイルの変更日を作成日にあわせる
紙に書かず、心に書きとどむべし。アンティステネス 「断片」
最近写真や動画の管理とバックアップはGoogleフォトに頼っているのですが、なかなか面倒なのがムービーで録画したAVCHD形式の動画。
当初、AVCHDをフォルダ毎HDDにコピーした先をGoogleフォトの同期先に指定して、アップロードするようにしていたのですが、MTSのままだとPCだとやっぱり使いづらい。
やっぱりmp4やmovに変換した方がいいのかなと思って、以下記事にあたりました。iMovieでかんたんにmov変換できるのですね。全然知りませんでした。
試しにSDカード上のAVCHDを取り込んでみると、たしかに変換される!名前がClip #1.movとかになるのはイマイチですが問題はないです。変更日は、取り込んだ日になっていますが、作成日もちゃんと引き継がれている。これはいい!
と、いうことで、早速いくつかたまっていたAVCHDをmovに変換しつつ取り込んだ後、Googleフォトのアップロードフォルダにコピー。これで完璧!!
と思ったのですが・・・
「日付が今日になってる。。。」
どうも、Googleフォトは作成日ではなく変更日をベースに日付を決定するようです。。そこは作成日じゃないのか、と言いたいところですが、そうはいってもむなしいだけなので対策を調べます。
結論としては、特に設定等はなさそうなので、Googleフォト上でアップロード後に手で日付修正するか、アップロード前に変更日を修正するしかなさそうです。
さすがに手で一つづつ作成日をコピーするのもバカバカしいので、shell scriptを用意しました。
#!/bin/sh for i in `seq 1 $#` do CREATED=`GetFileInfo -d "$1"` echo $1 ":" $CREATED SetFile -m "$CREATED" "$1" shift doneこれをchdate.shとかいう名前を実行パスの通ったところにでも保存して、変換後の動画の入ったディレクトリ上で、
$ chdate.sh *.movとかすれば完了です。
なお、これはmov変換時に変更日がかわったことによる対策ですが、MTSのままバックアップ取る場合は、mvコマンドやcp -pとかで日付が保存されるような形でバックアップとればもとの日付が保存されます。但し、SD上のデータが既に内部HDDからのコピーだったりすると、既に日付がコピー時のものなので、やっぱり今回のような対策は必要です。
そもそも、作成日を見てくれていれば話は早いのですが、まぁ無料でこれだけのサービスがある事自体がすごいわけで、わがままは言えないですね :-)
【関連書籍】
・「シェル芸」に効く!AWK処方箋 斉藤 博文
・[改訂第3版]シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでできる (WEB+DB PRESS plus) 山森 丈範
コメント