watermint.org

Takayuki Okazaki’s blog

Premiere ProではMotion-JPEGを読み込みできないようなので、仕方なくあらかじめPremiereで読み込めるようにQuickTime形式に変換することにしました。でもたくさんファイルがあると一つずつ変換するのは面倒くさいので、AppleScriptを作ることにしました。用途は違えど、だいたい同じような需要はあるもので、検索したらすぐ出てきました。今回は「ムービーをQuickTime形式へ変換するAppleScript (影羽連盟)」を参考にさせていただきました。ファイル名の変換のところで、ウチでは動かないところがあったのでその部分を修正しています。

on run
	activate
	set itemList to choose file with prompt "ムービーを選択してください" default location (path to home folder) with multiple selections allowed without invisibles
	my saveAsQuickTimeMovie(itemList)
end run

on open inputList
	my saveAsQuickTimeMovie(inputList)
end open

on saveAsQuickTimeMovie(movieList)
	activate
	tell application "QuickTime Player"
		launch
		activate
		stop every document
		close every document saving no
		repeat with aMovie in movieList
			open aMovie
			set new_file to (aMovie & ".mov") as string
			save self contained document 1 in new_file -- 独立再生形式で保存
			close document 1 saving no
		end repeat
		quit
	end tell
end saveAsQuickTimeMovie

オリジナルのソースでは独立形式にするか、参照形式にするかを選択しますが、ウチではとりあえず独立形式にしたかったのでダイアログを無くしました。あと、ファイル名を拡張子だけ変更するためにQuickTimeのドキュメント名からファイル名を取得していたのですが、Ricoh GX100のムービーだとドキュメント名が空になってしまい、うまく動作しませんでした。このため、新規ファイル名は強引に元ファイル名に “.mov”を追加するだけにしました。元スクリプトでは “.” ドットを探して拡張子を変えていましたが、このあたりでどうもディレクトリ名に “.”が入ってるとダメなケースがあるようでしたので、その問題も回避できるようになりました。

12月19日に発売されたAdobeのCreative Suite 4 Production Premium。ビックカメラで取り置きしてもらって、昨日買ってきました。
Adobe Creative Suite 4 Production Premium for Mac OS (Upgrade A)
Creative Suite 3 Web Premiumからのアップグレードということで、アップグレードAというパッケージ。あんまりCS3からアップグレードする気はなかったんですが、動画の撮れるNikon D90を買ってからそろそろ動画もいじり始めようと思ってAfter EffectsPremiere ProのためにProduction Premiumを選びました。結構最後まで、AppleのFinal Cut Studio 2にするか迷いました。値段で言うと、Production Premiumへのアップグレードが9万8千円、Final Cut Studio 2が14万8千円。結果的には、
Adobe Creative Suite 4 Production Premium for Mac OS (Upgrade A) and Final Cut Express 4
Final Cut Expressという廉価版も併せて買ってしまいました。廉価版でもHD編集できるし、特にLiveTypeというタイトルを作るための機能が魅力的でした。別に何でもいいと思うなら、Macを買うと付いてくるiMovie HDやiDVD、Windowsのムービーメーカーで十分なんですが・・。
Adobe Creative Suite 3 plus Creative Suite 4
これは体験版で入れていたときのディレクトリ構成ですが、まさにAdobe一色となったアプリケーションフォルダ。
Adobe Creative Suite 4 Production Premium (+Web Premium CS3)
Illustrator CS3やPhotoshop CS3などをアンインストールして、すこし整理しました。Adobeに問い合わせたところ、Web PremiumからProduction Premiumへアップグレードした場合でも、Acrobat ProやDreamweaver CS3、Fireworks CS3等は「移行期間」ということで利用可能だとのこと。さて、早速昨日は一晩中さわっていたんですが、

ビデオ編集用にこういうのも買ってきました。Contour DesignのShuttle Pro2です。フレーム単位の調節をするならこういうコントローラがほしくなります。ドライバやプリセットが少し古いので、Premiere Pro CS4は直接認識しませんでしたが、少し設定をすれば使えるようになりました。ムービー編集以外でも、Apertureのプリセットなんかもあってなかなか便利です。左手側にはこのコントローラー、右手側にはペンタブのIntuos3 PTZ-930という構成で、どんどんエンジニアっぽくないデスクトップ環境になってきました。

昨日のGlassFish Night Seminar発表資料ですが、ようやくPDF化して公開することができました。「GlassFishで、作ってみた。」今回はずいぶんとIllustrator CS3と、Adobe Distiller 8、それにひょっとしたらMac OS X Leopardに苦しめられました。その苦労話を・・。
Illustrator and Distiller
まず、昨日の段階で資料をPDFに変換しようとしたら、Adobe PDFプリンタがいっこうに動き始めません(というか、動き始めてすぐ止まる)。何回やっても一時停止になるし、テストページの印刷でも同じだし、Firefoxなど別のアプリケーションから印刷しても同じだったのでこれはIllustratorではなくて明らかにAdobe PDFプリンタ、つまりAdobe Distillerの問題でした。EPSONのプリンタへはふつうに印刷できましたのでOSのプリントスプール側の問題でもなさそうです。
Illustrator and Distiller
強引にスプール上のジョブを再開しようとすると上図のように、Operation Could not be completed.とエラーになり全く進みません。Mac OS Xシステム環境設定の「プリントとファックス」でAdobe PDFプリンタを削除してから登録し直してもだめ。システム環境設定で削除しておいて、Adobe Acrobat Professionalのメニューで「ヘルプ」→「Acrobat インストールの修復」でPDFプリンタを入れ直してもだめ。しょうがなく、Adobe Acrobat Professionalを再インストールしてみましたがそれでもだめ。
Illustrator and Distiller
途方に暮れている頃に思いついたのがコンソールのエラーログを見ること。そうすると思惑通り、というかやっぱりDistillerがコケていることがわかりました。DistillerのCrash Reportをみると原因はSIGBUSで、常にThread 2がこけていました。Thread 2はCrash Reportのスタックトレースによると

Thread 2 Crashed:
0   com.adobe.DistillerLib        	0x01147b80 DistillerFontFolders::GetFontCachePath(char**) + 32
1   com.adobe.DistillerLib        	0x01157695 DistillerPSRip::SetupPSParameters() + 767
2   com.adobe.DistillerLib        	0x01157aba DistillerPSRip::PSInit(void*) + 224
3   ...ple.CoreServices.CarbonCore	0x90662d41 CooperativeThread + 309
4   libSystem.B.dylib             	0x93a176f5 _pthread_start + 321
5   libSystem.B.dylib             	0x93a175b2 thread_start + 34

というようにGetFontCachePathという関数で毎回こけているようです。海外のフォーラムで同様の現象を報告している人の中で、$HOME/Library/Application Support/Adobe/ 以下にあるFontCacheディレクトリのパーミッションを変えたら直ったという人がいて、試してみましたがだめでした。もっといろいろ情報集めをしていたところAcrobatの8.1.2アップデートに更新しろと書いている人がいました。Creative Suiteを入れたときに2〜3回Adobe Updaterでアップデートしていたので当然Acrobatも更新されているものだろうと思っていましたが、バージョンを確認したら意外にも8.0.0・・・。
Illustrator and Distiller
Adobe Updater、どこみとってん!一言愚痴を言わせてもらうと、Adobe Updaterの品質の低さは異常です。品質というか、ユーザアンフレンドリーさは、たくさんあるアップデートセンター系システムの中でも最低だと思います。まあ、そんな愚痴を心の中でつぶやきながらアップデート。
Illustrator and Distiller
毎回Safariのプラグインを入れるかきかれますが、ブラウザ中にPDF表示するのって大嫌いなので必ずオフにしています。Acrobatを入れて最初にやることはブラウザ上に表示させないように設定することです。Mac OS XのPreviewもSafari内にいたがりますが、

$ defaults write com.apple.Safari WebKitOmitPDFSupport -bool true

というようにdefaultsコマンドで設定をオフにしています。さて、Acrobat 8.1.2にアップデートしたことでようやくDistillerが快調に動き始めました。テスト印刷もばっちりです。では、Illustratorで・・・。
Illustrator and Distiller
あれ?各ページが1/2のサイズになって、しかも前後のページが半分ずつ各ページに入っています。2ページ目には1ページ目と3ページ目の上下が、3ページ目には2ページ目と4ページ目の上下が・・・。なにこれ。
Illustrator and Distiller
Illustrator上では今回、ドキュメントサイズは幅297mm、高さ4200mm (A4横の用紙を縦方向に20枚並べた大きさ)に設定し、プリントの設定として用紙サイズA4横、セットアップでタイルに「用紙サイズで区分ける」、トンボと裁ち落としで裁ち落としを天地左右 0mmとしてページ分割されるように設定しました。あとはメニューの「表示」→「ページ分割を表示」とすれば印刷サイズにあった罫線が表示されそのようにデザインしやすくなります。ページ分割が表示されているとおり印刷結果が得られるだろうと考えていましたし、実際Tigerで使っていた頃はそう結果がえられたので何も疑問なくやっていましたが、いざおかしくなるとどうしていいかわかりません。
Illustrator and Distiller
結局悩みに悩んでうまく行った方法が、プリンタをAdobe PDF 8.0ではなく、Adobe PostScriptファイルとして、PostScriptでの結果をまず得て、その結果をAdobe DistillerでPDFに変換する方法です。Adobe PDF 8.0プリンタも中身はDistillerのはずなので、釈然としませんが、とりあえずうまくいったのでこれでよしとします。そもそも、複数ページ(しかも20ページとか・・)のデザインをIllustratorでやることはあまり想定されていないのでしょうがないところですね。ああ・・InDesignがほしい。そういえば、Creative Suite 4が発売になりましたが、InDesignやAfter Effects・Premiereを含むMaster Collectionへのアップグレードが今持っているCreative Suite CS3 Web Premiumからだと$1,199なんですよね・・・。日本での値段はまだわかりませんが、ちょっとほしくなってきました。

先週、Mac OS X Tiger (10.4)からMac OS X Leopard (10.5)にアップグレードしましたが、そのときのメモを少し残しておきます。まずショックだったのが、Adobe Creative Suite 3 Web Premiumのインストーラによるエラーでした。
Adobe Creative Suite 3, Installer (Error)
2時間とちょっとかけてLeopardのクリーンインストール + Mac OS X 10.5.4(当時)へのアップグレードを完了してAdobe Creative Suiteを入れようとしたらこんなエラーが・・・。アドビのサポートページ「インストール時にシステム要件エラーが表示される(Macintosh 版 Creative Suite 3)」によれば、HFS+でファイル名の大文字・小文字を区別するファイルシステムにしていた場合、インストールできないとのこと・・・。やり直しっすか、再インストール。今回、なんとなく大文字・小文字区別のオプションを選択してしまったのが運の尽きでした。昔、何かのオープンソースソフトウエアをコンパイルしようとしたときに、HFSが大文字・小文字を区別しないことによってコンパイルが通らない、という経験がよぎったので、そのように選択したんですが・・・。まさかの逆効果。
R0027945

Roller 4.0でホストされているブログを書くために、昨年末買ったAdobe Creative Suite Web Premiumに入っていたContribute CS3を使おうとしていたのですが、まともに動作せずAdobeサポートに問い合わせてみました。
先方ではRoller 4.0の環境を作って検証していただいたようですが、問題が再現したそうですが、現バージョンでは対応できないとのことでした。うーん、残念。
また何か別のブログエディタを探さねば・・・。

Acrobat Viewer JavaBeanはAdobe社の提供しているAcrobat ReaderのJava版です。使い方も簡単で、Swing/AWTベースのアプリケーションに簡単に組み込むことができます。使い方は次の通りです。

  • Adobe Acrobat Viewer – DownloadからJavaBean Interfaceと書かれているところからbean.zipをダウンロードして展開します。
  • bean.zipに含まれているacrobat.jarとMRJToolkitStub.zipをクラスパスに追加します。
  • あとは、com.adobe.acrobat.Viewerをアプレットとして起動するかフォームに貼付けて、Viewer#setDocumentURLでファイルを指定すればAcrobat Viewerがフォーム中に表示されます。

このAPI、手軽に使えてしかもAdobe純正ということでとても期待しているんですが、いかんせんいろいろな問題があり、今回どちらかというと「ボツネタ」として紹介しようと思いました。使いにくく思う点は次の通りです。

  • com.adobe.acrobat.Viewerはjava.applet.Appletを継承している。このためNetBeansなどでパレットに追加して、貼付けようとしてもそのまま貼付けることができません(その他のコンポーネントとして張り付いてしまいます)。パレットから貼付けるのであれば例えば次のようなコードを書いて、このAcrobatPanelをパレットに追加すればうまく行きます。
    import java.awt.*;
    import javax.swing.*;
    import com.adobe.acrobat.*;
    public class AcrobatPanel extends JPanel {
    private Viewer viewer;
    public JPanel() throws Exception {
    viewer = new Viewer();
    setLayout(new BorderLayout());
    add(BorderLayout.CENTER, viewer);
    viewer.activate();
    }
    public void setDocumentURL(String url) throws Exception {
    viewer.setDocumentURL(url);
    }
    }
  • 次にがっかりしたのは例外がおおざっぱすぎるところです。主要なAPIがスローするのはjava.lang.Exceptionなんです・・・。これではまともな例外処理ができません。せめて、ファイルが見つからないのか、書式がおかしいのかぐらいはユーザに通知するために教えてほしいものです。
  • このアプリケーションを起動すると利用許諾に承諾するという旨のウインドウがでるのですが、これが手元の環境では毎回出てしまいます。最初の一回ということなら問題ないのですが、これが毎回でて回避方法が無いということであればちょっと使えない印象を持ってしまいます。
  • 最後に、致命的だったのがフォントの読み込みに失敗して文字が表示されないということです。これは、環境に依存するのか何なのかはまだきり分けができていませんが、Windows XP + JDK 5.0_05/JDK 1.4.2_09、Solaris 9 + JDK 5.0_01/JDK 1.4.1ではうまく動作しませんでした。

このようにちょっと見た限り便利そうなAPIなんですが、まだまだこれを使いこなすにはいろいろなハードルを乗り越えなければ行けなさそうです。今後、リッチクライアント環境におけるJava/SWINGの需要が増えていけばおそらくAdobeさんも本腰でこのAPIを強化しようと思っていただけるのではと期待しています ;-)