生きることにこだわりを。魚住惇です。 世間では昨日がクリスマスイブ、今日がクリスマスです。魚住家はどうやって過ごしたのかって?僕は24日は中堅教諭等資質向上研修という研修を受けていました。この研修は教育公務員特例法で決められているもので、愛知県では前期(5年経験者)と後期(10年経験者)に分けて実施しています。小中学校では「中堅前期」や「中堅後期」と呼ばれていて、県立高校では「5年研」や「10年研」と呼ばれています。
もっと言うと僕自身は正規採用を受けてから今年度が10年目で、正確に言うと来年度に受講する予定でした。ただし、弾力化という措置を受けることで、1年早く受講することができるという制度を知り、早く終わらせるのが良いだろうという考えで今年度受けることにしました。今年やっておけば、来年からは平和に暮らせる。そして、今年はリーディングDX事業にも取り組んでいるから、ネタには困らない。これが今年度のモチベーションのすべてです。
直近の予定で言うと
24日:中堅後期研修
25日:愛知県高等学校情報科研究会の役員会
26日:愛知県教育委員会主催のICT教育講演会(個別ブースでの発表)
こんな感じで予定が入っています。仕事納めとか、年末とか、まったくそんな気がしません。目の前に予定があり、少し先には各仕事の締め切りがあり、それに向けてタスクをこなす。時間が過ぎるのなんてあっという間です。
そんな中でもね、個人的には由々しき事態が起こっています。前々回から語り続けている、写真の管理についてです。少しですが、新しい方向への糸口が見えてきた気がします。
今回もちょっとしたこだわりに、お付き合いください。
Macの写真ライブラリの中身
前回お伝えしたとおり、iCloudで写真を管理することからの脱却を進めています。きっかけは、iCloudの容量不足です。そして、iCloudを利用した共有アルバムの作成件数が200件だということ。これが個人的には大問題でした。
ざっくり言うと、妻のゆかさんに告白をし、付き合い始めたときのデートの写真から、次男が立って歩くようになった頃までで、その200まで到達してしまったのです。まさか自分がここまで写真を管理し、行事を記録するようになるとは、付き合い始めた当時は想像できませんでした。
そして写真ライブラリの中には、iPhoneをクラウドでバックアップするようになってからの写真がすべて残っています。これをやっているから、容量がいくらあっても足りないという状況になってしまいました。とはいえクラウドストレージを思い切って契約したその頃は、これからもどんどん契約できる容量が無限に増えていくだろうなと思っていたのです。
しかしこの考え方が誤ったものとなったのは、Googleフォトが無料で容量無制限というサービスを終了することになってからです。
Googleフォト 「無料で容量無制限」終了でどうする? - 日本経済新聞
それまでは良かったんですよ。ネット上に自分のデータを無制限に保存することができていて、画質の制限さえ受け入れさえすれば永久に使える。大多数の人にとってはそれで良かったんです。
この無制限が破綻したのは、パケット通信料にも同じことが言えるのではないでしょうか。ガラケー全盛期だった頃はパケット通信し放題サービスが大手キャリアで乱立していました。あの頃はそれでも全然大丈夫だったんですよその設計で。
でもスマホが登場してからはそれでは間に合わず、データ通信無制限(7GB)みたいなプランに切り替わっていきました。何が無制限だ。容量書いてあるじゃないか。なんて、当時は心の中で突っ込んでいました。
そんなことも忘れてiCloudの2TBを契約してしまった俺のバカバカバカ。そんなことを喚いても何も始まらないので、ひとまずMacの写真ライブラリの中身をのぞいてみることにしました。なぜMacなのかというと、Macの写真アプリは.photoslibraryという独自の拡張子でライブラリのファイルを作成し、その中に画像データを全ていれて保存しているからです。
MacやiPhoneの写真アプリでiCloudフォトを有効化していると、本体の容量に最適化するのか、それとも常にオリジナルのデータを保存しておくのかを選ぶことができます。僕が使っているMacの本体のストレージは256GBですが、2TBの外付けSSDを接続してライブラリのファイルはそっちに移してあります。もちろんオリジナルをダウンロードしておくよう設定済みです。
Macって不思議なOSで、.appという拡張子のファイルをアプリとして認識して、ダブルクリックで起動できるような動きをします。これはWindowsの.exeと動きとしては似ていますが、Macで扱う.appファイルというのは、右クリックしてメニューを見ると「パッケージの中身を表示」という項目が出てきます。
つまり1つのアプリケーションとしてのファイルの役割を果たしておきながら、実はフォルダのように中身が見られるようにもなっているということです。ということは、写真のライブラリのファイルも、あれは見かけ上1つのファイルに見えているけど、中にはJPGファイルがびっしり詰まっているフォルダだってことか・・・?
淡い期待を抱きながら、.photoslibraryファイルの中身を見てみることにしました。
これがフォトライブラリの中身。そしてきっと、元の画像データは「originals」の中にあるに違いない。
ええええええ。なんじゃこりゃ。0からFまでのフォルダが出てきた。つまり16進数。というかそこまでしかわからない。 恐る恐る、0のフォルダを開いてみると・・・、
驚きました。画像ファイルがあるにはあったんですが、なんともまぁ読めない法則性でこれまでの写真が保存されているじゃあーりませんか。こんなの、目的の写真を目視で探すもんじゃねーよ。
まさしくこれは、ライブラリだったんです。上のフォルダに戻ると、databaseフォルダがあります。そこにあるのはsql関連のファイル。つまりMacの写真アプリというのは、オリジナルの画像ファイルを適度に保存しておいて、あとはデータベースで情報を処理するという画像データベースだったということです。
これはiTunesというApple製音楽再生アプリの思想にも通ずるものがあります。MP3ファイルをフォルダごとに管理していた僕は、iPodに曲を転送するためのiTunesというアプリがどうも馴染めませんでした。これまで自分なりに綺麗にアルバムごとのフォルダにMP3を入れてきたってのに、アルバムはアルバムで管理しておいて、あとはプレイリストを作れだなんて。iTunesも巨大音楽データベースだったというわけです。
写真ライブラリから画像ファイルを年月ごとにまとめながらエクスポートするスクリプト
GitHub - jun3010me/MacPhotoLIbrary_Export_to_NAS
というわけで、Claudeくんにいろいろと相談しながら、Macの写真ライブラリ内のデータベースにアクセスして日付情報を取得しつつ、該当する写真ファイルを取り出して、年月ファイルを作成しながら保存するスクリプトを作ってみました。しかも保存先はNASです。スクリプト自体はGitHubにあげといたので好きに使ってください。
本当に終わるまでに時間がかかって、すべての画像をライブラリからエクスポートするのに丸4日くらいかかりました。しかも動画ファイルがあまりうまくいってなくて、エクスポートできていないものがあるんじゃないかと思っています。大量の写真がすべてエクスポートできたかどうかなんて、確かめようがないんですよ。一応うまく書き出せているものが多いなということまでは確認できていますけどね。
ただこれ、まだまだ課題が山積みです。本当にすべての写真を書き出すことができたのか。共有アルバムにある写真はどうするのか。今後はどうやって写真を管理していくのか。この辺りも近いうちに解決しなければなりません。
今回はひとまず、Macの写真ライブラリの攻略を試みてみました。生成AIを頼りつつも、動くプログラムに仕上げることができて、結構感動しています。脱Appleが着々と進んでいる感じがします。このテーマは非常に大きいので、まだまだ続きます。
今回のnewsletterは以上となります。 「いいね」を押していただけるとうれしいです。内容に関するご意見ご感想がありましたら、「#こだわりらいふ」をつけたツイートや、Substack内のコメントまでお願いします。