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”を追加するだけにしました。元スクリプトでは “.” ドットを探して拡張子を変えていましたが、このあたりでどうもディレクトリ名に “.”が入ってるとダメなケースがあるようでしたので、その問題も回避できるようになりました。
先週、Mac OS X Tiger (10.4)からMac OS X Leopard (10.5)にアップグレードしましたが、そのときのメモを少し残しておきます。まずショックだったのが、Adobe Creative Suite 3 Web Premiumのインストーラによるエラーでした。

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

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を強化しようと思っていただけるのではと期待しています ;-)