Adobe Premiere ProのExtend Script(CEP)を使ってパネルを自作する方法

ExtendScriptとCEPパネルとは?

Adobe Premiere ProはAPIを通じてカスタム拡張機能を開発できる仕組みを提供しています。「ExtendScript」はAdobeのJavaScript方言で、Creative Cloudアプリケーションを自動操作するためのスクリプト言語です。「CEP(Common Extensibility Platform)」はHTML/CSS/JavaScriptを使ってPremiere Proのパネルとして動作するUIを持つ拡張機能を開発するためのフレームワークです。これらを組み合わせることで、反復作業の自動化、独自のワークフローツール、チーム向けカスタムパネルなど、Premiere Proを自分のニーズに合わせて拡張できます。Premiere Proの公式ページで詳細を確認してください。

開発環境の準備

CEPパネル開発を始める前に必要な環境を整えます。

必要なソフトウェア

開発に必要なツールは以下の通りです。まず「Adobe Premiere Pro」(CC 2019以降推奨)が必要です。コードエディタは「Visual Studio Code」が最もおすすめで、Adobe関連の拡張機能が豊富です。デバッグには「Google Chrome」(CEPデバッガーとして使用)が必要です。パッケージ管理には「Node.js」と「npm」も用意しておくと便利です。

デバッグモードの有効化

CEPパネルの開発・デバッグを行うには、Premiere Proのデバッグモードを有効にする必要があります。Windowsの場合はレジストリエディタで「HKEY_CURRENT_USERSoftwareAdobeCEPGraffitiSupportLevel」の値を「PlayerDebugMode」という名前で「1」に設定します。Macの場合はターミナルで「defaults write com.adobe.CSXS.10 PlayerDebugMode 1」コマンドを実行します(バージョン番号はPremiere Proのバージョンに合わせて変更)。

CEPパネルの基本構造

CEP拡張機能は特定のフォルダ構造に従って作成します。

フォルダ構造

基本的なフォルダ構造は以下のようになります。拡張機能のルートフォルダ名は任意(例:「MyPremiereTool」)で、その中に「CSXS」フォルダと「manifest.xml」ファイル、「index.html」(UIのメインファイル)、「js」フォルダ(JavaScriptファイル)、「css」フォルダ(スタイルシート)、「jsx」フォルダ(ExtendScriptファイル)を配置します。

manifest.xmlの書き方

manifest.xmlはCEP拡張機能の設定ファイルです。拡張機能のID、名前、バージョン、対応するアドビアプリケーション、パネルのサイズなどを定義します。IDは「com.yourcompany.extensionname」のような逆ドメイン形式にするのが慣例です。ホストアプリケーションのIDはPremiere Proの場合「PPRO」を使用します。

ExtendScriptの基本:Premiere Proを操作する

ExtendScriptを使ってPremiere Proを操作する基本的な方法を紹介します。

アクティブシーケンスにアクセスする

ExtendScriptでは「app.project.activeSequence」でアクティブなシーケンスにアクセスできます。シーケンスのビデオトラック数は「app.project.activeSequence.videoTracks.numTracks」で取得できます。各トラック内のクリップは「app.project.activeSequence.videoTracks[0].clips」で配列として取得できます。

クリップのプロパティを変更する

クリップの開始時間、終了時間、名前などのプロパティをスクリプトから変更できます。例えば、全クリップのスピードを一括で変更したり、特定のエフェクトを自動的に適用したりする自動化スクリプトが書けます。

マーカーの自動追加

特定のタイムコードにマーカーを自動的に追加する機能もよく使われます。「app.project.activeSequence.markers.createMarker(timeAsSeconds)」で指定した時間にマーカーを作成できます。CSV等から読み込んだタイムコードリストを元に、一括でマーカーを追加するツールなどに応用できます。

実践:簡単なカスタムパネルを作ってみる

「選択したクリップにカラーラベルを設定するパネル」を例に、実際の実装を解説します。

index.html(UIの作成)

index.htmlにボタンを並べたシンプルなUIを作ります。「赤」「黄」「緑」「青」などのラベルカラーに対応したボタンを配置し、ボタンクリック時にExtendScriptを呼び出す処理を記述します。CSSでボタンのデザインをPremiere Proのダークテーマに合わせると見た目が統一されます。

main.jsx(ExtendScriptの処理)

クリックされたボタンに応じて、現在選択されているクリップのラベルカラーを変更するExtendScriptを記述します。「app.project.activeSequence」から選択クリップを取得し、「setColorLabel()」メソッドでカラーラベルを設定します。

JavaScriptからExtendScriptを呼び出す

HTML/JSからExtendScriptを呼び出すには「CSInterface」ライブラリを使用します。「csInterface.evalScript(‘関数名(引数)’, コールバック)」という形式でExtendScript関数を実行できます。

機能 ExtendScript単体 CEPパネル UXP(新しい方式)
UIの有無 なし(ダイアログのみ) HTML/CSS/JSで自由にUI作成 HTML/CSS/JSでUI作成
配布方法 .jsxファイル フォルダ一式またはZXP CCX(Creative Cloud Extension)
Premiere ProのAPI フル対応 フル対応 対応拡大中
将来性 レガシー化が進む 安定しているが新機能少 アドビが推奨する新方式
開発難易度 低〜中 中〜高

配布とインストール方法

作成したCEPパネルを配布するには、拡張機能フォルダに配置するか、ZXP形式にパッケージングしてAnaCon等のツールでインストールする方法があります。自分だけが使用する場合は、拡張機能フォルダに直接配置するのが最も手軽です。Windowsの場合は「C:UsersユーザーAppDataRoamingAdobeCEP extensions」フォルダに、Macの場合は「~/Library/Application Support/Adobe/CEP/extensions」フォルダに配置します。

UXP(Universal Extensibility Platform)への移行

アドビは現在、CEPの後継として「UXP(Universal Extensibility Platform)」への移行を推進しています。UXPはより現代的なAPIと開発体験を提供し、将来的にはCEPを置き換えることが計画されています。新規プロジェクトを始める場合はUXPの採用も検討してください。ただし、2025年現在も多くの機能はCEPで実装されており、すぐに廃止されるわけではありません。

Premiere Proの30日間無料体験を活用し、カスタムパネルで自分だけのワークフローを構築してみましょう。Speech to Text自動化と組み合わせることで、映像制作の効率をさらに高めることができます。

コメント

タイトルとURLをコピーしました