[Premiere Pro] クリップから YouTube 字幕用タイムコードを出力

Development,Premiere Pro

概要

Visual Studio Code の ExtendScript Debugger 拡張を使って、スクリプトで Adobe Premiere Pro で選択しているクリップの開始・終了時刻を、YouTube の字幕編集で使える SubViewer(.sbv)形式 のファイルとして出力するよ。一から字幕編集するよりは楽かも?

ExtendScript Debugger のインストール

Visual Studio Code で、ExtendScript Debugger をインストール。

launch.json を編集

最初に、デバッグ構成を編集。Debug ビューのギアのアイコンから launch.json を作成できるよ。"program": "${file}" としておくことで、編集中のスクリプトを実行できるようになるよ。


{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "extendscript-debug",
"request": "launch",
"name": "Run current script",
"program": "${file}",
"stopOnEntry": false
}
]
}

view raw

launch.json

hosted with ❤ by GitHub

ExtendScript Debugger にも説明があるよ。

スクリプトファイルの作成

.jsx ファイルを作成。コードはこんな感じ。


var file = new File("/Users/kei/Creative Cloud Files/scripts/clip.sbv"); // TODO: 実際のパスに変更
file.open( "w" );
var seq = app.project.activeSequence; // 現在のプロジェクトのアクティブなシーケンス
for (var i = 0; i < seq.videoTracks.length; ++i) { // ビデオトラックから探す
writeClipTimecodes(seq.videoTracks[i]);
}
for (var i = 0; i < seq.audioTracks.length; ++i) { // オーディオトラックから探す
writeClipTimecodes(seq.audioTracks[i]);
}
file.close();
file = null;
function writeClipTimecodes(track) {
for (var i = 0; i < track.clips.length; ++i) { // トラック内のクリップ
var clip = track.clips[i];
if (!clip.isSelected()) { // 選択されていなければスキップ
continue;
}
var start = clip.start;
var end = clip.end;
// .sbv 形式のタイムコードと字幕テキスト
file.writeln(
(Math.floor(start.seconds / 3600)) + ":" +
(Math.floor(start.seconds / 60) % 60) + ":" +
(start.seconds % 60) + "," +
(Math.floor(end.seconds / 3600)) + ":" +
(Math.floor(end.seconds / 60) % 60) + ":" +
(end.seconds % 60));
file.writeln(clip.name); // 字幕テキストは仮にクリップ名とする
file.writeln();
}
}

view raw

pr_timecode.jsx

hosted with ❤ by GitHub

スクリプトのデバッグ・実行

Visual Studio Code のステータスバーから、Adobe Premiere Pro を選択。Premiere Pro も起動しよう。

デバッグを開始すると、うまく動作すれば、指定した場所に .sbv ファイルができるから、これを使って YouTube 字幕を編集してみてね。

ステータスバーからターゲットアプリケーションを選択

デバッグのヒント

ブレークポイントで、実行の途中で止めると、Premiere Pro のオブジェクトの情報を Debug ビューの variables から見れるから、どんな情報を取得できるか調べるのに役立つよ。

それと、Welcome to the Premiere Pro Scripting Guide! — Premiere Pro Scripting Guide 14.5 documentation のドキュメントを参照すると、どんなオブジェクトがあるか わかるよ。

The following two tabs change content below.
都内の公立高校に通う高校生。部活は、情報処理研究会。身体を動かすのも好きで、気が向いたときはなぜか体育会系の部活に混ぜてもらっていろんなスポーツをすることも。プログラミング生放送のキャラクターとして活動中!

Development,Premiere Pro

Posted by kei