Premiere ProのExtendScriptで字幕を一括挿入する自動化スクリプト入門

字幕挿入の手作業からの解放

動画に字幕を付ける作業は、品質を高める上で非常に重要ですが、手作業では非常に時間がかかります。1分の動画に適切な字幕を付けるのに10〜15分かかることもあり、長尺動画や複数本の動画を抱えるクリエイターにとっては大きな負担です。

Premiere ProのAI文字起こし機能は自動字幕生成に非常に有効ですが、より細かいカスタマイズ(特定のフォント・色・位置・タイミング)を大量の動画に一括適用したい場合はExtendScriptを使った自動化が効果的です。本記事では、Premiere ProのExtendScriptで字幕を一括挿入するスクリプトの基本を解説します。

ExtendScriptとは何か

ExtendScriptはAdobeのアプリケーション(Premiere Pro・After Effects・Photoshop等)を操作するためのJavaScriptベースのスクリプト言語です。Premiere Proでは以下のような処理をスクリプトで自動化できます。

  • テキストクリップの作成・配置
  • 字幕ファイル(SRT・VTT)の読み込みと自動配置
  • クリップのトリミング・移動
  • マーカーの一括追加・削除
  • 書き出し設定の変更・書き出しの実行

スクリプト開発環境の準備

必要なツール

  • Adobe ExtendScript Toolkit(旧ツール、現在は非推奨)または Visual Studio Code + ExtendScript Debugger拡張(推奨)
  • Premiere Pro(バージョン2020以降推奨)
  • テキストエディタ(VSCode推奨)

VSCodeでの環境設定

  1. Visual Studio Codeをインストールする
  2. 拡張機能「ExtendScript Debugger」をインストールする
  3. .jsxファイルを作成してスクリプトを記述する
  4. Premiere Proで「ファイル」→「スクリプト」→「スクリプトファイルを実行」から.jsxを読み込む

字幕自動挿入スクリプトの基本構造

以下は、SRTファイルを読み込んでPremiere ProのタイムラインにEssential Graphicsテキストとして自動挿入するスクリプトの基本構造です。

// SRTファイルのパスを指定
var srtFile = new File("/Users/username/subtitles.srt");

// アクティブなシーケンスを取得
var seq = app.project.activeSequence;
if (!seq) { alert("シーケンスが見つかりません"); exit(); }

// SRTファイルを読み込む
srtFile.open("r");
var content = srtFile.read();
srtFile.close();

// SRTをパースして字幕データを配列に格納
var subtitles = parseSRT(content);

// 字幕トラックを取得または作成
var track = seq.videoTracks[2]; // 字幕用トラック(トラック3)

// 各字幕をタイムラインに挿入
for (var i = 0; i < subtitles.length; i++) {
  var sub = subtitles[i];
  // テキストクリップを作成してタイムラインに配置する処理
  insertSubtitle(track, sub.start, sub.end, sub.text);
}

SRTファイルのパース関数

function parseSRT(content) {
  var subtitles = [];
  var lines = content.split("\n");
  var i = 0;
  while (i < lines.length) {
    // 数字行(字幕番号)をスキップ
    if (lines[i].match(/^\d+$/)) {
      i++;
      // タイムコード行を解析
      var timeLine = lines[i];
      var times = timeLine.split(" --> ");
      var startTime = parseTime(times[0].trim());
      var endTime = parseTime(times[1].trim());
      i++;
      // テキスト行を収集
      var text = "";
      while (i < lines.length && lines[i].trim() !== "") {
        text += lines[i] + "\n";
        i++;
      }
      subtitles.push({ start: startTime, end: endTime, text: text.trim() });
    }
    i++;
  }
  return subtitles;
}

function parseTime(timeStr) {
  // "00:01:23,456" 形式をTicksに変換
  var parts = timeStr.replace(",", ":").split(":");
  var seconds = parseInt(parts[0]) * 3600 + parseInt(parts[1]) * 60 + parseInt(parts[2]) + parseInt(parts[3]) / 1000;
  return seconds;
}

スクリプトの活用パターン比較

自動化パターン 処理内容 必要なスキル 時間削減効果
SRT読み込み+自動配置 字幕ファイルを一括でタイムラインに配置 初級 90%削減
AI文字起こし+スクリプト整形 AI生成字幕をスクリプトで装飾・整形 初級〜中級 80%削減
多言語字幕一括生成 翻訳APIと連携して複数言語の字幕を自動生成 上級 95%削減
スタイル一括適用 既存の字幕クリップ全てに同じフォント・色を適用 初級 70%削減
字幕タイミング自動調整 字幕のイン・アウトポイントを音声に合わせて微調整 中級 60%削減

AI文字起こしとExtendScriptの組み合わせが最強

実際の現場で最も効率的なのは、Premiere ProのAI文字起こし機能で字幕の土台を作り、ExtendScriptで細かいスタイル調整・位置変更・フォント統一を一括処理する組み合わせです。

  • AI文字起こし:タイミングと内容の自動生成(5〜10分)
  • 手動修正:誤変換・固有名詞の修正(5〜15分)
  • ExtendScript:スタイル・位置・フォントの一括適用(1〜2分)

従来の手作業(60〜120分)と比べて、合計20〜30分で高品質な字幕付き動画が完成します。

スクリプトを共有・再利用するためのヒント

作成したスクリプトはチームで共有したり、複数のプロジェクトで再利用したりすることで、その価値が倍増します。

  • スクリプトをGitHubで管理してバージョン管理する
  • Premiere Proの「スクリプト」メニューにショートカットを登録する
  • よく使うスクリプトをカスタムキーボードショートカットに割り当てる

まとめ:ExtendScriptで字幕作業を完全自動化する

Premiere ProのExtendScriptを活用することで、字幕挿入作業の大部分を自動化し、制作時間を劇的に短縮できます。初心者でも既存のスクリプトを参考にしながら少しずつカスタマイズすることで、自分のワークフローに最適な自動化を実現できます。

Premiere ProのAI機能とExtendScriptを組み合わせた自動化ワークフローを構築したい方は、Premiere Pro公式ページから無料体験を開始してみてください。字幕自動化だけでも、週に何時間もの作業時間を節約できます。

コメント

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