2005年9月アーカイブ

今回は、写真の整理のお話。
先週から、Canon EOS Kiss Digital N と言うデジタル一眼レフにカメラを変更した。
で、今までの写真整理方法と、今回必要になった方法について書いてみる。

まず、今までの写真の整理方法ですが、


  1. カメラからCFカードを取り外し、ノートPCに刺す。
  2. CFカードの写真ディレクトリから、ローカルディレクトリに必要なファイルをコピー。
  3. ローカルディレクトリから共有ディレクトリにファイルをコピー。このとき、とりこみ隊と言うソフトウェアを使って、撮影日付で分類してリネームする。
  4. ローカルディレクトリから写真を削除
  5. CFカードから、最新の1枚を除いて写真を削除。

※ 最後の手順は、これをやらないとカメラが保存するファイル名が0000に戻ってしまうから。
  とりこみ隊を使ってリネームするようになったから必要ないのだけれど。
  ちなみに、 新しいカメラは最後に撮った番号を覚えているので、必要ない。

整理するディレクトリ構成は、私の趣味で
写真のトップディレクトリ\年\年月\年月日\pic年月日-通番.jpg
としている。

で、新しいカメラだと、画像があまりにでかい!webにアップロードするときに、縮小する必要があるのと、普段見るときにもネットワークの共有ディレクトリなので遅くてしょうがない。元サイズの画像は印刷するときくらいしか出番がないのだ。

そこで、元ファイルは元ファイルで取っておいて、半分くらいのサイズの画像も同時に作りたくなった。
調べてみて見つけたのが、縮小専用ちびすな
縮小専用は、ドラッグ&ドロップで画像を縮小できる。良い点は、出力先ディレクトリを相対パスで指定できるので、私の用途にあっている。ちびすなは、縮小するときにExif情報を残すことができるが、出力先パスの指定が絶対パスになってしまう。

で、これらのソフトを組み合わせて運用をはじめようと思ったときに見つけたのがpicmvだ。
このソフトひとつで、CFカードからのリネームコピーと縮小画像の作成ができる。さらに、Exif情報を元に画像の回転ができたりもする。

ただし、縮小画像の作成時に Exif情報が失われてしまうのと、ファイル名を「日付-通番」とすると順番が変わってしまうと言う問題があった。
配布ページには、作者のnykさんのメールアドレスと、「感想、要望などありましたら、是非ご連絡ください。」の表記があったので、早速メールしてみた。
すぐに返事があり、検討していただけるとのこと。
なんと、翌日には画像の順番をファイルの日付順にするバージョンアップをしていただけた。びっくりの対応の早さである。

これからは、しばらくpicmvで運用してみようと思います。


さて、少し話は変わって今度は画像を MovableTypeにアップロードする話。
前のカメラのときは、カメラ画像をそのままアップロードすると、ファイルサイズが大きいと言う問題があった。
そこで、MovableTypeのソースに手を入れて、アップロードされた画像のJPEG量子化を90%にすると言う処理を入れていた。
picmvを使って縮小すると、そのときに量子化率を変えることができるので、MovableTypeのソースは元に戻すことにした。
これで、picmvが縮小時にexif情報を残すようにしてもらえれば、非常に嬉しいことになるのである。

デジタルビデオで撮った動画を、webで公開しようと思い立つ。
iLinkケーブルでノートPCと繋いで、WindowsMovieMakerで取り込み、編集。
簡単にタイトルやクレジットが入れられて面白い。

で、320x240 30fps 340kbps のwmvファイルを作成し、webで公開してみた。
最初は、aタグでリンクにしてみる。
IEだとMediaPlayerが立ち上がるけど、Firefoxだと文字がだらだらだら・・・。

ちょっと調べてみて、apacheのmime.typesに

video/x-ms-wmv                  wmv
と言う行を追加してみる。

さらに、aタグではなく、embedタグにするとページに埋め込めるらしい。

んが、リンクにしろembedにしろ、MediaPlayerの画面は出るものの、最初の数秒で再生が終わってしまう。
リンクを右クリックで保存した場合は見れるのだけれど、いったい何がいけないのでしょうね~?

ちょこちょこ格闘していた horde/imp ですが、いろいろいじってなんとかうちの環境でも動くようになったみたいです。
しかし、最新版になったら、設定がいろいろ複雑でわかりにくいのと、firefoxでjavascriptがうまく動かないので、泣く泣く捨てることにしました。
で、代わりを探してみたのですが、IlohaMailと言うのが使えそうです。
さっそく、ports/mail/ilohamail をインストール。オプションは、WITHOUT_MYSQL=yes です。

インストールすると、/usr/local/www/ilohamail に入ります。
インストール時に表示される手順では、
  1. apacheの httpd.conf で /usr/local/www/ilohamail/source を指すようにaliasを追加する。
  2. /usr/local/www/ilohamail/source を DocumentRoot とする VirtualHost を作成する。
  3. /usr/local/www/ilohamail/sourceへのシンボリックリンクを作成する。
のいずれかを実行すれば良いようです。
この辺の柔軟性は良いですね。私は、httpsでクライアント認証をしているエリアにシンボリックリンクを張りました。
そして、/usr/local/www/ilohamail/conf/conf.inc と/usr/local/www/ilohamail/conf/login.inc を修正します。
私が修正したのは、

conf.inc
$UPLOAD_DIR = "/var/www/ilohamail/data/uploads/";
$CACHE_DIR = "/var/www/ilohamail/data/cache/";
$USER_DIR = "/var/www/ilohamail/data/users/";
$SESSION_DIR = "/var/www/ilohamail/data/sessions/";
$AUTH_MODE["imap"] = "auth";
$AUTH_MODE["pop3"] = "apop";
*_DIRについては、/usr パーティションではなく /var パーティションに動的生成ファイルを置きたかったためです。/usr/local/www/ilohamail/data ディレクトリを、/var/www/ilohamail/data にtarでコピーしました。
AUTH_MODE は、imapについてはcram_md5、popについてはapopを利用しているからです。(と言っても、ilohamailからpopを使うことはありませんが)

login.inc
$default_host = "wizard-limit.net";
$default_rootdir = "INBOX";
$default_lang = "jp/";
$hide_host = 1;
$hide_protocol = 1;
default_hostは、最初localhostにしていたのですが、これだと個人設定を行わないとmailのfromが@localhostになりそうだったので治しました。
default_rootdirは、IMAPがMaildir形式を使用しているからです。(個人設定でも変えられます)
$hide_* は、ログイン画面に選択肢を出さない設定です。うちの場合は他のサーバを使うことはないので。

上記の設定で、シンボリックリンクを張ったURLにアクセスしてみたら、ログイン画面が出ます。
IDとパスワードを入れてログインすると、設定画面が出ます。
いろいろいじってみて、なんとなく使えているようですが、日本語のフォルダ名が文字化けしています。
ん~、Beckeyで使える日本語フォルダ名と互換性がないんですかね~。

とりあえず、軽くてなかなか良い感じです。これで、firewallの内側からでも、http proxyが通ればメールが読めるようになりました。

IlohaMailに続いて、SquirrelMailって言うのも入れてみた。
ports/japanese/squirrelmail からインストール。オプションはなし。
IlohaMailと同じようにシンボリックリンクを張って、/usr/local/www/squirrelmailで./configureを実行して、ちょこちょこいじってみる。
変更箇所は、メニューがいろいろあって面倒なので割愛する。
# ちょこちょこはまったところもあったので、書いた方が親切だよなあ・・・。

で、気がついたこと。
・メールの作成で、サブジェクトが「てすと」だと文字化けする。「テスト」だと化けない。phpの文字コード判定に問題があるのかな?
・4718件のメールがあるフォルダを表示しようとすると、表示されない。不思議なのは、ブラウザはしばらくアクセスしに行くんだけど、その後タイムアウト等のエラー画面は出ずに、画面が遷移しない。
・IlohaMailよりも重い。

ん~、同じようなものが二つはいらないのだけれど、どっちを残すか悩みますな・・・。
# IlohaMailはセキュリティがどうこうって書いてあるところがあるんだけど、詳しく書いてないんだよね。

emacs で、utf-8のファイルを開くときに、文字コードの判別に失敗することがある。
おぼろげな記憶で、C-u C-x C-f とかで文字コードの指定ができたかな~なんて思っていたのだけれど、できない。
調べてみたら、以下のページが見つかった。

>emacs によるコードの自動判定は、今のところ成功していますが、失敗する
>かもしれません。emacs で、buffer-file-coding-system を明示的に与えて
>find-file するには、どうすればいいでしょうか?
文字コードを指定して開く
C-x RET c 文字コードを入力 RET C-x C-f 
開きなおす
C-x RET c 文字コードを入力 RET C-x C-v RET
だそうです。
今まで、Windows上のターミナルとして TeraTerm(ttssh)を使用していたのだが、ssh1にしか対応していないのと、subversionの絡みで plink/pageant を使うので putty に乗り換えることにした。
以前、plink 等について調べたときには、オリジナルのputtyPuTTY で ISO 2022 による日本語入力・表示を可能にするパッチを組み合わせて使っていたのだが、Putty 0.58 ごった煮と言うのを見つけたのでこちらを使うことにした。
これを使うと、pageant等も日本語化されているのと、バイナリが一式そろっているので便利だと思う。
TeraTermと大きく違うのは、設定が全体で一つではなくセッション毎になっていること、ウィンドウの場所を覚えてくれないこと、デフォルトの色が背景色黒と言うことくらい。
pageantのパスフレーズを覚えてくれたりするみたいだけど、会社のWindowsには怖くて自分の鍵ファイルやパスフレーズは入れたくない。まあ、自宅用とか、自分専用ノートとかならやってみても良いかな?
私が普段使っている FreeBSD のロケールは ja_JP.eucJP なので、ターミナルも euc-jp で使っている。
んが、最近の Linux 系の OS だと、デフォルトのロケールが ja_JP.UTF-8 なんかだったりして、さらにプロジェクトの都合でこれを変えたりしたくない場合がある。
で、なんとかならないかな~と思って調べていたら、普段愛用している screen に utf8 対応の機能があるらしい。
マニュアルをつらつら読むと、-U オプションだの、utf8 コマンドだのと出てくるので、最初その路線で頑張ってみた。
  1. ターミナルを utf8 にする。
  2. screen の初期起動時には -U オプションをつけない。
  3. 一度デタッチして、screen -U -r でアタッチしなおす。
  4. utf-8 で使いたいwindow で、C-a : utf8 とかやる。
これで、なんとか動いているようだ。-U オプションの挙動が、screen生成時と、-r でのアタッチ時で違うようだ。
しかし、この方法だと Windows の IMEで日本語の入力ができなかったりしていまいち感が漂う。
さらにいろいろ実験した結果、-U オプションやutf8コマンドなどは使う必要がなく、
  1. ターミナルを euc-jp にする。
  2. screen の初期起動時には -U オプションをつけない。
  3. utf-8 で使いたいwindow で、C-a : encoding utf8 とやる。
ようは、今までの使い方のままで、utf8のwindowだけ encoding コマンドでutf8に変えてやればうまくいった。
もともと多用していたけれど、これでますます手放せなくなった screen さんなのです。
2005年9月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

このアーカイブについて

このページには、2005年9月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2005年8月です。

次のアーカイブは2005年10月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.1.1