予想に反して(ある意味諦めがついたけども)そこか!って感じで
した。 自分の中ではかなり頑張ったシステムの構築だったんだけどなぁ…
現実は厳しく、自分のやりたかったことと問題点をメモとして列挙。
・問題点 1.windows用の共有サーバーに命名規則が微妙なjpg画像が多数 2.画像はCMYKのjpgのものも多数あるがRGBのものもあって不明 3.上記サーバーから人的に画像ファイルを探してこないといけない。 4.その画像ファイルを大、中、小の3サイズリサイズ (大はそのままの縮尺比のjpg) (中は長辺に合わせて短辺を白で埋めるmaxバイナリサイズが指定) (小はgifでmaxバイナリサイズが指定) 5.それらの画像をとあるDBからIDを探してリネーム
pphp+ImageMagick+Ruby+Gimp+Mysqlで構築してみる。
・検証 1.検証用のCYMK方式jpgをGimp2.6で読んだらRGBになった! 2.Linuxにマウント 3.cronでfind結果をMysqlに入れる。 4.Gimpのschemeでリサイズだと割り算が微妙なのでImageMagickなどと併用する。 5.特に問題なし
実際に起きた問題
1.ものによってはRGB変換できないものがあった。 (sparater+を使うとグラデーションが微妙になる) 2.Active Directoryでも問題なくマウントできて問題なし。 3.新しくwindowsサーバーに追加があった場合が困るがまぁ問題なし。 4.Gimp+schemeをphp経由で動かすのが微妙。(補足あり) 5.楽勝
実際問題としてよくある問題だけども、phpなどの所謂webツール上でのsystem関数やexecを使う場合、Apacheの権限がApache(xmappだとnobodyが多い)なのでrootで動かさないといけないものが動かない。 よくある解決方法は大体3つぐらい。
1.httpd.confでroot権限を持たせる。 2.system関数部分にsudoで書き込む 3.system関数部分にsystem("echo pass | sudo -S hoge")のようにパイプする。
結局sudoersに「ALL=(ALL) NOPASSWD: ALL」とか設定するのがよくあるんだけども、この方法って当たり前に「rm」コマンドもできてしまうので、推奨はされないんだよね。
んで、どう解決したかというとsu権限を持たせたcornを5分起きに起動させるてmailコマンドで処理を分散化した。
実際問題、70ファイルのバイナリファイルをwebツールのリアルタイムで処理させるのは怖い。
2.6で一度検証した時にはいけたと思ったので、ショックが大きかったなぁ…。
このCMYK to RGBというのは紙などの実媒体データと完全web上での画像を処理する場合に一番のネック部分だと思う。
某A社がその辺を独占していて、「そこに手を出すにはA社ソフトを買うしかないよ!」って状況がなんだかなぁ…。
まぁGimp3はCMYKに対応するという噂を聞いているので期待はしてますが…。
うーむ、Linuxで画像処理はこの辺が限界かな、windowsだと無理矢理画面をキャプチャするとか色々邪道な技はありそうだけども… photoshopってCUI対応しないのかな?
結論から言うとできました。
いや、NETを探せばやれImageMagickでできるとか書いてあるんですけども、実際にやると色彩がおかしくなります。
このおかしくなるという表現が微妙なのですが、実際問題として業界スタンダードのAdobe photo shopなのでぺんラボさんのRGBとCMYKのお話を見て分かる通りImageMagickのGimp2.6の段階で互換変更は難しいのです。
Windowsだと普通にwindowsプレビューやPaint.netなどがほぼ同じ変換エミュレートをやっているのですが、大量に行うコマンドライン機能がないものがほとんどなんです。
_ 普通は目視が必要なものなのでコマンドラインってのがおかしな話なんだけども…
実際、私も必要になったのでこの開発をやっているのですが…
Gimpをscheme経由でやってもダメということは、Linuxでのphpでのwebサーバー経由でのメジャーな方法はなくなったかなぁ…と思っていました。
うーむ最後の手段で、JAVAならありそうと思ったところありました。
参考URL「夜の Discovery/imageio を使った jpeg の rgb, cmyk 相互変換」(素晴らしいですね。)
これを見て、JAVA経由にするかぁと思っていたのですが、別の方法を思いつきました。
コロンブスの卵って言えばそのままなんですけども、要はphotoshopのコンバートをエミューレートできればいいので変換iccをそのまま使えるものを作ればいいんですね。
ここまで長かったよorz
まぁ、ここに拘らなければ1週間ぐらいでできたシステムなんですけども、ココの部分が差別化とかに繋がる部分だと思うので、ちゃんと動くものができてよかったです。
で、昔の音源をmp3化してmp3プレイヤーに入れているのですが、mp3化しているものが、120本以上あり管理が大変なのでちょっと自分の為に頑張ってみました。
と言っても、DBを作っただけなんですけどね…。
誰でもそうなんでしょうけども、番組の最初に「どなり」という時事ネタの一言があるんですけど、それである程度の時期を判断してmp3タグと連動しようと。
「読み」データを作るのが大変でしたけども、放送日もしくは、どなりの「ひらがな」で検索した結果がすぐ出るのは自分でも爽快でした。
Super Tag Editorなんか久々に使いましたし。
(普段CDからのリッピングはCDexでwebDBから直接情報を取得してるので)
番組の情報はいろいろなサイトやblogからある程度は集めてこれるのですが、ラジオのデータのCMをカットしたりってのはどうしても人の作業になるので骨が折れました。
まぁ120本以上あるので、取り敢えずしばらくはこの作業もしなくてよいかなぁと思います。